正在显示
53 个修改的文件
包含
90 行增加
和
90 行删除
| @@ -6,7 +6,7 @@ on: | @@ -6,7 +6,7 @@ on: | ||
| 6 | branches: | 6 | branches: |
| 7 | - master | 7 | - master |
| 8 | tags: | 8 | tags: |
| 9 | - - '*' | 9 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 10 | paths: | 10 | paths: |
| 11 | - '.github/workflows/aarch64-linux-gnu-shared.yaml' | 11 | - '.github/workflows/aarch64-linux-gnu-shared.yaml' |
| 12 | - 'CMakeLists.txt' | 12 | - 'CMakeLists.txt' |
| @@ -6,7 +6,7 @@ on: | @@ -6,7 +6,7 @@ on: | ||
| 6 | branches: | 6 | branches: |
| 7 | - master | 7 | - master |
| 8 | tags: | 8 | tags: |
| 9 | - - '*' | 9 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 10 | paths: | 10 | paths: |
| 11 | - '.github/workflows/aarch64-linux-gnu-static.yaml' | 11 | - '.github/workflows/aarch64-linux-gnu-static.yaml' |
| 12 | - 'CMakeLists.txt' | 12 | - 'CMakeLists.txt' |
| @@ -13,7 +13,7 @@ on: | @@ -13,7 +13,7 @@ on: | ||
| 13 | - 'sherpa-onnx/c-api/*' | 13 | - 'sherpa-onnx/c-api/*' |
| 14 | - 'toolchains/arm-linux-gnueabihf.toolchain.cmake' | 14 | - 'toolchains/arm-linux-gnueabihf.toolchain.cmake' |
| 15 | tags: | 15 | tags: |
| 16 | - - '*' | 16 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 17 | pull_request: | 17 | pull_request: |
| 18 | branches: | 18 | branches: |
| 19 | - master | 19 | - master |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - flutter | 6 | - flutter |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/flutter-windows-x64.yaml' | 10 | - '.github/workflows/flutter-windows-x64.yaml' |
| 11 | - 'CMakeLists.txt' | 11 | - 'CMakeLists.txt' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/linux-gpu.yaml' | 10 | - '.github/workflows/linux-gpu.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/linux.yaml' | 10 | - '.github/workflows/linux.yaml' |
| 11 | - '.github/scripts/test-kws.sh' | 11 | - '.github/scripts/test-kws.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/macos.yaml' | 10 | - '.github/workflows/macos.yaml' |
| 11 | - '.github/scripts/test-kws.sh' | 11 | - '.github/scripts/test-kws.sh' |
| @@ -6,7 +6,7 @@ on: | @@ -6,7 +6,7 @@ on: | ||
| 6 | - master | 6 | - master |
| 7 | - pkg-config | 7 | - pkg-config |
| 8 | tags: | 8 | tags: |
| 9 | - - '*' | 9 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 10 | paths: | 10 | paths: |
| 11 | - '.github/workflows/pkg-config.yaml' | 11 | - '.github/workflows/pkg-config.yaml' |
| 12 | - '.github/scripts/test-offline-tts.sh' | 12 | - '.github/scripts/test-offline-tts.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - ci-pub-dart | 6 | - ci-pub-dart |
| 7 | tags: | 7 | tags: |
| 8 | - - 'v[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: 'v{{version}}' | 8 | + - 'dart-v[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: 'v{{version}}' |
| 9 | 9 | ||
| 10 | workflow_dispatch: | 10 | workflow_dispatch: |
| 11 | 11 |
| @@ -13,7 +13,7 @@ on: | @@ -13,7 +13,7 @@ on: | ||
| 13 | - 'toolchains/riscv64-linux-gnu.toolchain.cmake' | 13 | - 'toolchains/riscv64-linux-gnu.toolchain.cmake' |
| 14 | - 'build-riscv64-linux-gnu.sh' | 14 | - 'build-riscv64-linux-gnu.sh' |
| 15 | tags: | 15 | tags: |
| 16 | - - '*' | 16 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 17 | pull_request: | 17 | pull_request: |
| 18 | branches: | 18 | branches: |
| 19 | - master | 19 | - master |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/windows-x64-cuda.yaml' | 10 | - '.github/workflows/windows-x64-cuda.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/windows-x64-debug.yaml' | 10 | - '.github/workflows/windows-x64-debug.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/windows-x64.yaml' | 10 | - '.github/workflows/windows-x64.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/windows-x86-debug.yaml' | 10 | - '.github/workflows/windows-x86-debug.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -5,7 +5,7 @@ on: | @@ -5,7 +5,7 @@ on: | ||
| 5 | branches: | 5 | branches: |
| 6 | - master | 6 | - master |
| 7 | tags: | 7 | tags: |
| 8 | - - '*' | 8 | + - 'v[0-9]+.[0-9]+.[0-9]+*' |
| 9 | paths: | 9 | paths: |
| 10 | - '.github/workflows/windows-x86.yaml' | 10 | - '.github/workflows/windows-x86.yaml' |
| 11 | - '.github/scripts/test-online-transducer.sh' | 11 | - '.github/scripts/test-online-transducer.sh' |
| @@ -7,7 +7,7 @@ project(sherpa-onnx) | @@ -7,7 +7,7 @@ project(sherpa-onnx) | ||
| 7 | # Remember to update | 7 | # Remember to update |
| 8 | # ./nodejs-addon-examples | 8 | # ./nodejs-addon-examples |
| 9 | # ./dart-api-examples/ | 9 | # ./dart-api-examples/ |
| 10 | -set(SHERPA_ONNX_VERSION "1.9.29") | 10 | +set(SHERPA_ONNX_VERSION "1.9.30") |
| 11 | 11 | ||
| 12 | # Disable warning about | 12 | # Disable warning about |
| 13 | # | 13 | # |
| @@ -27,7 +27,7 @@ HF_MIRROR=hf.co | @@ -27,7 +27,7 @@ HF_MIRROR=hf.co | ||
| 27 | linux_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | 27 | linux_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
| 28 | linux_wheel=$src_dir/$linux_wheel_filename | 28 | linux_wheel=$src_dir/$linux_wheel_filename |
| 29 | 29 | ||
| 30 | -macos_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp39-cp39-macosx_10_14_universal2.whl | 30 | +macos_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp39-cp39-macosx_11_0_universal2.whl |
| 31 | macos_wheel=$src_dir/$macos_wheel_filename | 31 | macos_wheel=$src_dir/$macos_wheel_filename |
| 32 | 32 | ||
| 33 | windows_x64_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp38-cp38-win_amd64.whl | 33 | windows_x64_wheel_filename=sherpa_onnx-${SHERPA_ONNX_VERSION}-cp38-cp38-win_amd64.whl |
| @@ -25,7 +25,7 @@ final DynamicLibrary _dylib = () { | @@ -25,7 +25,7 @@ final DynamicLibrary _dylib = () { | ||
| 25 | if (_path == null) { | 25 | if (_path == null) { |
| 26 | return DynamicLibrary.open('libsherpa-onnx-c-api.dylib'); | 26 | return DynamicLibrary.open('libsherpa-onnx-c-api.dylib'); |
| 27 | } else { | 27 | } else { |
| 28 | - return DynamicLibrary.open('${_path}/libsherpa-onnx-c-api.dylib'); | 28 | + return DynamicLibrary.open('$_path/libsherpa-onnx-c-api.dylib'); |
| 29 | } | 29 | } |
| 30 | } | 30 | } |
| 31 | 31 | ||
| @@ -33,7 +33,7 @@ final DynamicLibrary _dylib = () { | @@ -33,7 +33,7 @@ final DynamicLibrary _dylib = () { | ||
| 33 | if (_path == null) { | 33 | if (_path == null) { |
| 34 | return DynamicLibrary.open('libsherpa-onnx-c-api.so'); | 34 | return DynamicLibrary.open('libsherpa-onnx-c-api.so'); |
| 35 | } else { | 35 | } else { |
| 36 | - return DynamicLibrary.open('${_path}/libsherpa-onnx-c-api.so'); | 36 | + return DynamicLibrary.open('$_path/libsherpa-onnx-c-api.so'); |
| 37 | } | 37 | } |
| 38 | } | 38 | } |
| 39 | 39 | ||
| @@ -41,7 +41,7 @@ final DynamicLibrary _dylib = () { | @@ -41,7 +41,7 @@ final DynamicLibrary _dylib = () { | ||
| 41 | if (_path == null) { | 41 | if (_path == null) { |
| 42 | return DynamicLibrary.open('sherpa-onnx-c-api.dll'); | 42 | return DynamicLibrary.open('sherpa-onnx-c-api.dll'); |
| 43 | } else { | 43 | } else { |
| 44 | - return DynamicLibrary.open('${_path}\\sherpa-onnx-c-api.dll'); | 44 | + return DynamicLibrary.open('$_path\\sherpa-onnx-c-api.dll'); |
| 45 | } | 45 | } |
| 46 | } | 46 | } |
| 47 | 47 |
| @@ -34,7 +34,7 @@ class OnlineStream { | @@ -34,7 +34,7 @@ class OnlineStream { | ||
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | void inputFinished() { | 36 | void inputFinished() { |
| 37 | - SherpaOnnxBindings.onlineStreamInputFinished?.call(this.ptr); | 37 | + SherpaOnnxBindings.onlineStreamInputFinished?.call(ptr); |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | Pointer<SherpaOnnxOnlineStream> ptr; | 40 | Pointer<SherpaOnnxOnlineStream> ptr; |
| @@ -71,7 +71,7 @@ class SpeakerEmbeddingExtractor { | @@ -71,7 +71,7 @@ class SpeakerEmbeddingExtractor { | ||
| 71 | 71 | ||
| 72 | bool isReady(OnlineStream stream) { | 72 | bool isReady(OnlineStream stream) { |
| 73 | final int ready = SherpaOnnxBindings.speakerEmbeddingExtractorIsReady | 73 | final int ready = SherpaOnnxBindings.speakerEmbeddingExtractorIsReady |
| 74 | - ?.call(this.ptr, stream.ptr) ?? | 74 | + ?.call(ptr, stream.ptr) ?? |
| 75 | 0; | 75 | 0; |
| 76 | return ready == 1; | 76 | return ready == 1; |
| 77 | } | 77 | } |
| @@ -79,15 +79,15 @@ class SpeakerEmbeddingExtractor { | @@ -79,15 +79,15 @@ class SpeakerEmbeddingExtractor { | ||
| 79 | Float32List compute(OnlineStream stream) { | 79 | Float32List compute(OnlineStream stream) { |
| 80 | final Pointer<Float> embedding = SherpaOnnxBindings | 80 | final Pointer<Float> embedding = SherpaOnnxBindings |
| 81 | .speakerEmbeddingExtractorComputeEmbedding | 81 | .speakerEmbeddingExtractorComputeEmbedding |
| 82 | - ?.call(this.ptr, stream.ptr) ?? | 82 | + ?.call(ptr, stream.ptr) ?? |
| 83 | nullptr; | 83 | nullptr; |
| 84 | 84 | ||
| 85 | if (embedding == nullptr) { | 85 | if (embedding == nullptr) { |
| 86 | return Float32List(0); | 86 | return Float32List(0); |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | - final embeddingList = embedding.asTypedList(this.dim); | ||
| 90 | - final ans = Float32List(this.dim); | 89 | + final embeddingList = embedding.asTypedList(dim); |
| 90 | + final ans = Float32List(dim); | ||
| 91 | ans.setAll(0, embeddingList); | 91 | ans.setAll(0, embeddingList); |
| 92 | 92 | ||
| 93 | SherpaOnnxBindings.speakerEmbeddingExtractorDestroyEmbedding | 93 | SherpaOnnxBindings.speakerEmbeddingExtractorDestroyEmbedding |
| @@ -111,13 +111,13 @@ class SpeakerEmbeddingManager { | @@ -111,13 +111,13 @@ class SpeakerEmbeddingManager { | ||
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | void free() { | 113 | void free() { |
| 114 | - SherpaOnnxBindings.destroySpeakerEmbeddingManager?.call(this.ptr); | ||
| 115 | - this.ptr = nullptr; | 114 | + SherpaOnnxBindings.destroySpeakerEmbeddingManager?.call(ptr); |
| 115 | + ptr = nullptr; | ||
| 116 | } | 116 | } |
| 117 | 117 | ||
| 118 | /// Return true if added successfully; return false otherwise | 118 | /// Return true if added successfully; return false otherwise |
| 119 | bool add({required String name, required Float32List embedding}) { | 119 | bool add({required String name, required Float32List embedding}) { |
| 120 | - assert(embedding.length == this.dim, '${embedding.length} vs ${this.dim}'); | 120 | + assert(embedding.length == dim, '${embedding.length} vs $dim'); |
| 121 | 121 | ||
| 122 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); | 122 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); |
| 123 | final int n = embedding.length; | 123 | final int n = embedding.length; |
| @@ -126,8 +126,8 @@ class SpeakerEmbeddingManager { | @@ -126,8 +126,8 @@ class SpeakerEmbeddingManager { | ||
| 126 | final pList = p.asTypedList(n); | 126 | final pList = p.asTypedList(n); |
| 127 | pList.setAll(0, embedding); | 127 | pList.setAll(0, embedding); |
| 128 | 128 | ||
| 129 | - final int ok = SherpaOnnxBindings.speakerEmbeddingManagerAdd | ||
| 130 | - ?.call(this.ptr, namePtr, p) ?? | 129 | + final int ok = |
| 130 | + SherpaOnnxBindings.speakerEmbeddingManagerAdd?.call(ptr, namePtr, p) ?? | ||
| 131 | 0; | 131 | 0; |
| 132 | 132 | ||
| 133 | calloc.free(p); | 133 | calloc.free(p); |
| @@ -141,19 +141,19 @@ class SpeakerEmbeddingManager { | @@ -141,19 +141,19 @@ class SpeakerEmbeddingManager { | ||
| 141 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); | 141 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); |
| 142 | final int n = embeddingList.length; | 142 | final int n = embeddingList.length; |
| 143 | 143 | ||
| 144 | - final Pointer<Float> p = calloc<Float>(n * this.dim); | ||
| 145 | - final pList = p.asTypedList(n * this.dim); | 144 | + final Pointer<Float> p = calloc<Float>(n * dim); |
| 145 | + final pList = p.asTypedList(n * dim); | ||
| 146 | 146 | ||
| 147 | int offset = 0; | 147 | int offset = 0; |
| 148 | for (final e in embeddingList) { | 148 | for (final e in embeddingList) { |
| 149 | - assert(e.length == this.dim, '${e.length} vs ${this.dim}'); | 149 | + assert(e.length == dim, '${e.length} vs $dim'); |
| 150 | 150 | ||
| 151 | pList.setAll(offset, e); | 151 | pList.setAll(offset, e); |
| 152 | - offset += this.dim; | 152 | + offset += dim; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | final int ok = SherpaOnnxBindings.speakerEmbeddingManagerAddListFlattened | 155 | final int ok = SherpaOnnxBindings.speakerEmbeddingManagerAddListFlattened |
| 156 | - ?.call(this.ptr, namePtr, p, n) ?? | 156 | + ?.call(ptr, namePtr, p, n) ?? |
| 157 | 0; | 157 | 0; |
| 158 | 158 | ||
| 159 | calloc.free(p); | 159 | calloc.free(p); |
| @@ -166,7 +166,7 @@ class SpeakerEmbeddingManager { | @@ -166,7 +166,7 @@ class SpeakerEmbeddingManager { | ||
| 166 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); | 166 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); |
| 167 | 167 | ||
| 168 | final int found = SherpaOnnxBindings.speakerEmbeddingManagerContains | 168 | final int found = SherpaOnnxBindings.speakerEmbeddingManagerContains |
| 169 | - ?.call(this.ptr, namePtr) ?? | 169 | + ?.call(ptr, namePtr) ?? |
| 170 | 0; | 170 | 0; |
| 171 | 171 | ||
| 172 | calloc.free(namePtr); | 172 | calloc.free(namePtr); |
| @@ -177,8 +177,8 @@ class SpeakerEmbeddingManager { | @@ -177,8 +177,8 @@ class SpeakerEmbeddingManager { | ||
| 177 | bool remove(String name) { | 177 | bool remove(String name) { |
| 178 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); | 178 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); |
| 179 | 179 | ||
| 180 | - final int ok = SherpaOnnxBindings.speakerEmbeddingManagerRemove | ||
| 181 | - ?.call(this.ptr, namePtr) ?? | 180 | + final int ok = |
| 181 | + SherpaOnnxBindings.speakerEmbeddingManagerRemove?.call(ptr, namePtr) ?? | ||
| 182 | 0; | 182 | 0; |
| 183 | 183 | ||
| 184 | calloc.free(namePtr); | 184 | calloc.free(namePtr); |
| @@ -188,14 +188,14 @@ class SpeakerEmbeddingManager { | @@ -188,14 +188,14 @@ class SpeakerEmbeddingManager { | ||
| 188 | 188 | ||
| 189 | /// Return an empty string if no speaker is found | 189 | /// Return an empty string if no speaker is found |
| 190 | String search({required Float32List embedding, required double threshold}) { | 190 | String search({required Float32List embedding, required double threshold}) { |
| 191 | - assert(embedding.length == this.dim); | 191 | + assert(embedding.length == dim); |
| 192 | 192 | ||
| 193 | - final Pointer<Float> p = calloc<Float>(this.dim); | ||
| 194 | - final pList = p.asTypedList(this.dim); | 193 | + final Pointer<Float> p = calloc<Float>(dim); |
| 194 | + final pList = p.asTypedList(dim); | ||
| 195 | pList.setAll(0, embedding); | 195 | pList.setAll(0, embedding); |
| 196 | 196 | ||
| 197 | final Pointer<Utf8> name = SherpaOnnxBindings.speakerEmbeddingManagerSearch | 197 | final Pointer<Utf8> name = SherpaOnnxBindings.speakerEmbeddingManagerSearch |
| 198 | - ?.call(this.ptr, p, threshold) ?? | 198 | + ?.call(ptr, p, threshold) ?? |
| 199 | nullptr; | 199 | nullptr; |
| 200 | 200 | ||
| 201 | calloc.free(p); | 201 | calloc.free(p); |
| @@ -215,16 +215,16 @@ class SpeakerEmbeddingManager { | @@ -215,16 +215,16 @@ class SpeakerEmbeddingManager { | ||
| 215 | {required String name, | 215 | {required String name, |
| 216 | required Float32List embedding, | 216 | required Float32List embedding, |
| 217 | required double threshold}) { | 217 | required double threshold}) { |
| 218 | - assert(embedding.length == this.dim); | 218 | + assert(embedding.length == dim); |
| 219 | 219 | ||
| 220 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); | 220 | final Pointer<Utf8> namePtr = name.toNativeUtf8(); |
| 221 | 221 | ||
| 222 | - final Pointer<Float> p = calloc<Float>(this.dim); | ||
| 223 | - final pList = p.asTypedList(this.dim); | 222 | + final Pointer<Float> p = calloc<Float>(dim); |
| 223 | + final pList = p.asTypedList(dim); | ||
| 224 | pList.setAll(0, embedding); | 224 | pList.setAll(0, embedding); |
| 225 | 225 | ||
| 226 | final int ok = SherpaOnnxBindings.speakerEmbeddingManagerVerify | 226 | final int ok = SherpaOnnxBindings.speakerEmbeddingManagerVerify |
| 227 | - ?.call(this.ptr, namePtr, p, threshold) ?? | 227 | + ?.call(ptr, namePtr, p, threshold) ?? |
| 228 | 0; | 228 | 0; |
| 229 | 229 | ||
| 230 | calloc.free(p); | 230 | calloc.free(p); |
| @@ -234,18 +234,16 @@ class SpeakerEmbeddingManager { | @@ -234,18 +234,16 @@ class SpeakerEmbeddingManager { | ||
| 234 | } | 234 | } |
| 235 | 235 | ||
| 236 | int get numSpeakers => | 236 | int get numSpeakers => |
| 237 | - SherpaOnnxBindings.speakerEmbeddingManagerNumSpeakers?.call(this.ptr) ?? | ||
| 238 | - 0; | 237 | + SherpaOnnxBindings.speakerEmbeddingManagerNumSpeakers?.call(ptr) ?? 0; |
| 239 | 238 | ||
| 240 | List<String> get allSpeakerNames { | 239 | List<String> get allSpeakerNames { |
| 241 | - int n = this.numSpeakers; | 240 | + int n = numSpeakers; |
| 242 | if (n == 0) { | 241 | if (n == 0) { |
| 243 | return <String>[]; | 242 | return <String>[]; |
| 244 | } | 243 | } |
| 245 | 244 | ||
| 246 | - final Pointer<Pointer<Utf8>> names = SherpaOnnxBindings | ||
| 247 | - .speakerEmbeddingManagerGetAllSpeakers | ||
| 248 | - ?.call(this.ptr) ?? | 245 | + final Pointer<Pointer<Utf8>> names = |
| 246 | + SherpaOnnxBindings.speakerEmbeddingManagerGetAllSpeakers?.call(ptr) ?? | ||
| 249 | nullptr; | 247 | nullptr; |
| 250 | 248 | ||
| 251 | if (names == nullptr) { | 249 | if (names == nullptr) { |
| 1 | // Copyright (c) 2024 Xiaomi Corporation | 1 | // Copyright (c) 2024 Xiaomi Corporation |
| 2 | -import 'dart:convert'; | ||
| 3 | import 'dart:ffi'; | 2 | import 'dart:ffi'; |
| 4 | import 'dart:typed_data'; | 3 | import 'dart:typed_data'; |
| 5 | 4 | ||
| @@ -184,11 +183,10 @@ class OfflineTts { | @@ -184,11 +183,10 @@ class OfflineTts { | ||
| 184 | return GeneratedAudio(samples: newSamples, sampleRate: sampleRate); | 183 | return GeneratedAudio(samples: newSamples, sampleRate: sampleRate); |
| 185 | } | 184 | } |
| 186 | 185 | ||
| 187 | - int get sampleRate => | ||
| 188 | - SherpaOnnxBindings.offlineTtsSampleRate?.call(this.ptr) ?? 0; | 186 | + int get sampleRate => SherpaOnnxBindings.offlineTtsSampleRate?.call(ptr) ?? 0; |
| 189 | 187 | ||
| 190 | int get numSpeakers => | 188 | int get numSpeakers => |
| 191 | - SherpaOnnxBindings.offlineTtsNumSpeakers?.call(this.ptr) ?? 0; | 189 | + SherpaOnnxBindings.offlineTtsNumSpeakers?.call(ptr) ?? 0; |
| 192 | 190 | ||
| 193 | Pointer<SherpaOnnxOfflineTts> ptr; | 191 | Pointer<SherpaOnnxOfflineTts> ptr; |
| 194 | OfflineTtsConfig config; | 192 | OfflineTtsConfig config; |
| @@ -76,14 +76,14 @@ class CircularBuffer { | @@ -76,14 +76,14 @@ class CircularBuffer { | ||
| 76 | final pList = p.asTypedList(n); | 76 | final pList = p.asTypedList(n); |
| 77 | pList.setAll(0, data); | 77 | pList.setAll(0, data); |
| 78 | 78 | ||
| 79 | - SherpaOnnxBindings.circularBufferPush?.call(this.ptr, p, n); | 79 | + SherpaOnnxBindings.circularBufferPush?.call(ptr, p, n); |
| 80 | 80 | ||
| 81 | calloc.free(p); | 81 | calloc.free(p); |
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | Float32List get({required int startIndex, required int n}) { | 84 | Float32List get({required int startIndex, required int n}) { |
| 85 | final Pointer<Float> p = | 85 | final Pointer<Float> p = |
| 86 | - SherpaOnnxBindings.circularBufferGet?.call(this.ptr, startIndex, n) ?? | 86 | + SherpaOnnxBindings.circularBufferGet?.call(ptr, startIndex, n) ?? |
| 87 | nullptr; | 87 | nullptr; |
| 88 | 88 | ||
| 89 | if (p == nullptr) { | 89 | if (p == nullptr) { |
| @@ -99,11 +99,11 @@ class CircularBuffer { | @@ -99,11 +99,11 @@ class CircularBuffer { | ||
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | void pop(int n) { | 101 | void pop(int n) { |
| 102 | - SherpaOnnxBindings.circularBufferPop?.call(this.ptr, n); | 102 | + SherpaOnnxBindings.circularBufferPop?.call(ptr, n); |
| 103 | } | 103 | } |
| 104 | 104 | ||
| 105 | void reset() { | 105 | void reset() { |
| 106 | - SherpaOnnxBindings.circularBufferReset?.call(this.ptr); | 106 | + SherpaOnnxBindings.circularBufferReset?.call(ptr); |
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | int get size => SherpaOnnxBindings.circularBufferSize?.call(ptr) ?? 0; | 109 | int get size => SherpaOnnxBindings.circularBufferSize?.call(ptr) ?? 0; |
-
请 注册 或 登录 后发表评论