Skip to content

Commit

Permalink
v1.0 (#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrrostam authored Jan 31, 2024
1 parent b64e3a0 commit bfb6267
Show file tree
Hide file tree
Showing 54 changed files with 308 additions and 340 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-demos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:

strategy:
matrix:
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson]
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, jetson]

steps:
- uses: actions/checkout@v3
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/python-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ jobs:
profiler_performance_threshold_sec: 0.5
recognizer_performance_threshold_sec: 0.6
- os: macos-latest
profiler_performance_threshold_sec: 0.6
recognizer_performance_threshold_sec: 0.8
profiler_performance_threshold_sec: 0.9
recognizer_performance_threshold_sec: 0.9

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -87,17 +87,20 @@ jobs:
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson]
include:
- machine: rpi3-32
profiler_performance_threshold_sec: 2.3
profiler_performance_threshold_sec: 2.5
recognizer_performance_threshold_sec: 2.8
- machine: rpi3-64
profiler_performance_threshold_sec: 2.3
profiler_performance_threshold_sec: 2.5
recognizer_performance_threshold_sec: 2.8
- machine: rpi4-32
profiler_performance_threshold_sec: 1.5
recognizer_performance_threshold_sec: 1.5
- machine: rpi4-64
profiler_performance_threshold_sec: 2.0
recognizer_performance_threshold_sec: 2.5
- machine: rpi5-64
profiler_performance_threshold_sec: 0.5
recognizer_performance_threshold_sec: 0.6
- machine: jetson
profiler_performance_threshold_sec: 1.2
recognizer_performance_threshold_sec: 1.5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:

strategy:
matrix:
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, jetson]
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, jetson]

steps:
- uses: actions/checkout@v3
Expand Down
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ Eagle is an on-device speaker recognition engine. Eagle is:
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (4, 3) and NVIDIA Jetson Nano
- Raspberry Pi (5, 4, 3) and NVIDIA Jetson Nano


**Please note that Eagle is currently in development. While we prioritize stability and compatibility, certain aspects of Eagle may undergo changes as we continually enhance and refine the engine to provide the best user experience possible.**

## Table of Contents

- [Eagle](#eagle)
Expand Down Expand Up @@ -614,6 +612,13 @@ while (true) {

## Releases

### v1.0.0 - January 24th, 2024

- Enhanced engine accuracy
- Improved the enrollment process
- Added Raspberry Pi 5 support
- Various bug fixes and improvements

### v0.2.0 - November 24th, 2023

- Improvements to error reporting
Expand Down
2 changes: 1 addition & 1 deletion binding/android/Eagle/eagle/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'com.android.library'

ext {
PUBLISH_GROUP_ID = 'ai.picovoice'
PUBLISH_VERSION = '0.2.0'
PUBLISH_VERSION = '1.0.0'
PUBLISH_ARTIFACT_ID = 'eagle-android'
}

Expand Down
2 changes: 1 addition & 1 deletion binding/android/EagleTestApp/eagle-test-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'ai.picovoice:eagle-android:0.2.0'
implementation 'ai.picovoice:eagle-android:1.0.0'

// Espresso UI Testing
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,14 +198,6 @@ public void getSampleRate() throws EagleException {
eagle.delete();
}

@Test
public void testEagleEnrollmentUnknownSpeaker() throws Exception {
File audioFile = new File(testResourcesPath, imposterPath);
short[] pcm = readAudioFile(audioFile.getAbsolutePath());
EagleProfilerEnrollResult result = eagleProfiler.enroll(pcm);
Assert.assertEquals(result.getFeedback(), EagleProfilerEnrollFeedback.UNKNOWN_SPEAKER);
}

@Test
public void testEagleProcess() throws Exception {
Eagle eagle = new Eagle.Builder()
Expand Down
6 changes: 3 additions & 3 deletions binding/ios/Eagle-iOS.podspec
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
Pod::Spec.new do |s|
s.name = 'Eagle-iOS'
s.module_name = 'Eagle'
s.version = '0.2.0'
s.version = '1.0.0'
s.license = {:type => 'Apache 2.0'}
s.summary = 'iOS binding for Picovoice\'s Eagle speaker recognition engine'
s.description =
<<-DESC
Eagle Speaker Recognition is speaker verification and identification software
Eagle Speaker Recognition is speaker verification and identification software
that distinguishes individuals using their unique voice characteristics.
DESC
s.homepage = 'https://github.com/Picovoice/eagle/tree/master/binding/ios'
s.author = { 'Picovoice' => 'hello@picovoice.ai' }
s.source = { :git => "https://github.com/Picovoice/eagle.git", :tag => "Eagle-iOS-v0.2.0" }
s.source = { :git => "https://github.com/Picovoice/eagle.git", :tag => "Eagle-iOS-v1.0.0" }
s.ios.deployment_target = '13.0'
s.swift_version = '5.0'
s.vendored_frameworks = 'lib/ios/PvEagle.xcframework'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Copyright 2023 Picovoice Inc.
// Copyright 2023-2024 Picovoice Inc.
// You may not use this file except in compliance with the license. A copy of the license is located in the "LICENSE"
// file accompanying this source.
// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
Expand Down Expand Up @@ -64,26 +64,6 @@ class EagleAppTestUITests: BaseTest {
eagleProfiler.delete()
}

func testEagleEnrollmentUnknownSpeaker() throws {
let enrollUrls = enrollUrls()
let imposterUrl = imposterUrl()

var feedback: EagleProfilerEnrollFeedback?

let eagleProfiler = try EagleProfiler(accessKey: accessKey)
for url in enrollUrls {
let pcm = try readPcmFromFile(testAudioURL: url)
(_, feedback) = try eagleProfiler.enroll(pcm: pcm)
XCTAssertEqual(feedback, EagleProfilerEnrollFeedback.AUDIO_OK)
}

let pcm = try readPcmFromFile(testAudioURL: imposterUrl)
(_, feedback) = try eagleProfiler.enroll(pcm: pcm)
XCTAssertEqual(feedback, EagleProfilerEnrollFeedback.UNKNOWN_SPEAKER)

eagleProfiler.delete()
}

func testEagleProcess() throws {
let testUrl = testUrl()

Expand Down
6 changes: 3 additions & 3 deletions binding/ios/EagleAppTest/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ source 'https://cdn.cocoapods.org/'
platform :ios, '13.0'

target 'EagleAppTest' do
pod 'Eagle-iOS', '~> 0.2.0'
pod 'Eagle-iOS', '~> 1.0.0'
end

target 'EagleAppTestUITests' do
pod 'Eagle-iOS', '~> 0.2.0'
pod 'Eagle-iOS', '~> 1.0.0'
end

target 'PerformanceTest' do
pod 'Eagle-iOS', '~> 0.2.0'
pod 'Eagle-iOS', '~> 1.0.0'
end
8 changes: 4 additions & 4 deletions binding/ios/EagleAppTest/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
PODS:
- Eagle-iOS (0.2.0)
- Eagle-iOS (1.0.0)

DEPENDENCIES:
- Eagle-iOS (~> 0.2.0)
- Eagle-iOS (~> 1.0.0)

SPEC REPOS:
trunk:
- Eagle-iOS

SPEC CHECKSUMS:
Eagle-iOS: 4d73249948537760d43a71d133e36f4dab62baf1
Eagle-iOS: 02067133a7460faf56e0ef7b995c93543a8e0450

PODFILE CHECKSUM: 437084df4c8d112faabf682827d3b9f36717574b
PODFILE CHECKSUM: f61c2ddde47c5d9c80ee45b636435bc1c3476116

COCOAPODS: 1.11.3
6 changes: 3 additions & 3 deletions binding/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ Eagle is an on-device speaker recognition engine. Eagle is:
- Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Raspberry Pi (4, 3) and NVIDIA Jetson Nano
- Raspberry Pi (5, 4, 3) and NVIDIA Jetson Nano

## Compatibility

- Python 3.5 or higher
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (4, 3), and NVIDIA Jetson Nano.
- Python 3.7 or higher
- Runs on Linux (x86_64), macOS (x86_64, arm64), Windows (x86_64), Raspberry Pi (5, 4, 3), and NVIDIA Jetson Nano.

## Installation

Expand Down
Loading

0 comments on commit bfb6267

Please sign in to comment.