正在显示
16 个修改的文件
包含
46 行增加
和
29 行删除
| @@ -71,7 +71,7 @@ jobs: | @@ -71,7 +71,7 @@ jobs: | ||
| 71 | mkdir build | 71 | mkdir build |
| 72 | cd build | 72 | cd build |
| 73 | 73 | ||
| 74 | - cmake -DSHERPA_ONNX_ENABLE_TTS=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=./install -DSHERPA_ONNX_ENABLE_JNI=ON .. | 74 | + cmake -DSHERPA_ONNX_ENABLE_TTS=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=./install -DSHERPA_ONNX_ENABLE_JNI=ON .. |
| 75 | 75 | ||
| 76 | make -j2 | 76 | make -j2 |
| 77 | make install | 77 | make install |
| @@ -153,7 +153,7 @@ jobs: | @@ -153,7 +153,7 @@ jobs: | ||
| 153 | git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/sherpa-onnx-libs main | 153 | git push https://csukuangfj:$HF_TOKEN@huggingface.co/csukuangfj/sherpa-onnx-libs main |
| 154 | 154 | ||
| 155 | - name: Release pre-compiled binaries and libs for linux x64 | 155 | - name: Release pre-compiled binaries and libs for linux x64 |
| 156 | - if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/') && matrix.build_type == 'Release' | 156 | + if: (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/') |
| 157 | uses: svenstaro/upload-release-action@v2 | 157 | uses: svenstaro/upload-release-action@v2 |
| 158 | with: | 158 | with: |
| 159 | file_glob: true | 159 | file_glob: true |
| @@ -8,7 +8,7 @@ project(sherpa-onnx) | @@ -8,7 +8,7 @@ project(sherpa-onnx) | ||
| 8 | # ./nodejs-addon-examples | 8 | # ./nodejs-addon-examples |
| 9 | # ./dart-api-examples/ | 9 | # ./dart-api-examples/ |
| 10 | # ./sherpa-onnx/flutter/CHANGELOG.md | 10 | # ./sherpa-onnx/flutter/CHANGELOG.md |
| 11 | -set(SHERPA_ONNX_VERSION "1.10.1") | 11 | +set(SHERPA_ONNX_VERSION "1.10.2") |
| 12 | 12 | ||
| 13 | # Disable warning about | 13 | # Disable warning about |
| 14 | # | 14 | # |
| @@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
| 6 | </PropertyGroup> | 6 | </PropertyGroup> |
| 7 | <ItemGroup> | 7 | <ItemGroup> |
| 8 | <PackageReference Include="CommandLineParser" Version="2.9.1" /> | 8 | <PackageReference Include="CommandLineParser" Version="2.9.1" /> |
| 9 | - <PackageReference Include="org.k2fsa.sherpa.onnx" Version="1.10.1" /> | 9 | + <PackageReference Include="org.k2fsa.sherpa.onnx" Version="*" /> |
| 10 | </ItemGroup> | 10 | </ItemGroup> |
| 11 | 11 | ||
| 12 | </Project> | 12 | </Project> |
dotnet-examples/offline-punctuation/run.sh
100644 → 100755
| @@ -16,7 +16,9 @@ namespace SherpaOnnx | @@ -16,7 +16,9 @@ namespace SherpaOnnx | ||
| 16 | 16 | ||
| 17 | public String AddPunct(String text) | 17 | public String AddPunct(String text) |
| 18 | { | 18 | { |
| 19 | - IntPtr p = SherpaOfflinePunctuationAddPunct(_handle.Handle, text); | 19 | + byte[] utf8Bytes = Encoding.UTF8.GetBytes(text); |
| 20 | + | ||
| 21 | + IntPtr p = SherpaOfflinePunctuationAddPunct(_handle.Handle, utf8Bytes); | ||
| 20 | 22 | ||
| 21 | string s = ""; | 23 | string s = ""; |
| 22 | int length = 0; | 24 | int length = 0; |
| @@ -77,7 +79,7 @@ namespace SherpaOnnx | @@ -77,7 +79,7 @@ namespace SherpaOnnx | ||
| 77 | private static extern void SherpaOnnxDestroyOfflinePunctuation(IntPtr handle); | 79 | private static extern void SherpaOnnxDestroyOfflinePunctuation(IntPtr handle); |
| 78 | 80 | ||
| 79 | [DllImport(Dll.Filename)] | 81 | [DllImport(Dll.Filename)] |
| 80 | - private static extern IntPtr SherpaOfflinePunctuationAddPunct(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string text); | 82 | + private static extern IntPtr SherpaOfflinePunctuationAddPunct(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Text); |
| 81 | 83 | ||
| 82 | [DllImport(Dll.Filename)] | 84 | [DllImport(Dll.Filename)] |
| 83 | private static extern void SherpaOfflinePunctuationFreeText(IntPtr p); | 85 | private static extern void SherpaOfflinePunctuationFreeText(IntPtr p); |
| 1 | /// Copyright (c) 2024.5 by 东风破 | 1 | /// Copyright (c) 2024.5 by 东风破 |
| 2 | using System; | 2 | using System; |
| 3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
| 4 | +using System.Text; | ||
| 4 | 5 | ||
| 5 | namespace SherpaOnnx | 6 | namespace SherpaOnnx |
| 6 | { | 7 | { |
| @@ -17,13 +18,15 @@ namespace SherpaOnnx | @@ -17,13 +18,15 @@ namespace SherpaOnnx | ||
| 17 | 18 | ||
| 18 | public OfflineTtsGeneratedAudio Generate(String text, float speed, int speakerId) | 19 | public OfflineTtsGeneratedAudio Generate(String text, float speed, int speakerId) |
| 19 | { | 20 | { |
| 20 | - IntPtr p = SherpaOnnxOfflineTtsGenerate(_handle.Handle, text, speakerId, speed); | 21 | + byte[] utf8Bytes = Encoding.UTF8.GetBytes(text); |
| 22 | + IntPtr p = SherpaOnnxOfflineTtsGenerate(_handle.Handle, utf8Bytes, speakerId, speed); | ||
| 21 | return new OfflineTtsGeneratedAudio(p); | 23 | return new OfflineTtsGeneratedAudio(p); |
| 22 | } | 24 | } |
| 23 | 25 | ||
| 24 | public OfflineTtsGeneratedAudio GenerateWithCallback(String text, float speed, int speakerId, OfflineTtsCallback callback) | 26 | public OfflineTtsGeneratedAudio GenerateWithCallback(String text, float speed, int speakerId, OfflineTtsCallback callback) |
| 25 | { | 27 | { |
| 26 | - IntPtr p = SherpaOnnxOfflineTtsGenerateWithCallback(_handle.Handle, text, speakerId, speed, callback); | 28 | + byte[] utf8Bytes = Encoding.UTF8.GetBytes(text); |
| 29 | + IntPtr p = SherpaOnnxOfflineTtsGenerateWithCallback(_handle.Handle, utf8Bytes, speakerId, speed, callback); | ||
| 27 | return new OfflineTtsGeneratedAudio(p); | 30 | return new OfflineTtsGeneratedAudio(p); |
| 28 | } | 31 | } |
| 29 | 32 | ||
| @@ -79,9 +82,9 @@ namespace SherpaOnnx | @@ -79,9 +82,9 @@ namespace SherpaOnnx | ||
| 79 | private static extern int SherpaOnnxOfflineTtsNumSpeakers(IntPtr handle); | 82 | private static extern int SherpaOnnxOfflineTtsNumSpeakers(IntPtr handle); |
| 80 | 83 | ||
| 81 | [DllImport(Dll.Filename)] | 84 | [DllImport(Dll.Filename)] |
| 82 | - private static extern IntPtr SherpaOnnxOfflineTtsGenerate(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string text, int sid, float speed); | 85 | + private static extern IntPtr SherpaOnnxOfflineTtsGenerate(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Text, int sid, float speed); |
| 83 | 86 | ||
| 84 | [DllImport(Dll.Filename, CallingConvention = CallingConvention.Cdecl)] | 87 | [DllImport(Dll.Filename, CallingConvention = CallingConvention.Cdecl)] |
| 85 | - private static extern IntPtr SherpaOnnxOfflineTtsGenerateWithCallback(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string text, int sid, float speed, OfflineTtsCallback callback); | 88 | + private static extern IntPtr SherpaOnnxOfflineTtsGenerateWithCallback(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Text, int sid, float speed, OfflineTtsCallback callback); |
| 86 | } | 89 | } |
| 87 | } | 90 | } |
| 1 | /// Copyright (c) 2024.5 by 东风破 | 1 | /// Copyright (c) 2024.5 by 东风破 |
| 2 | using System; | 2 | using System; |
| 3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
| 4 | +using System.Text; | ||
| 4 | 5 | ||
| 5 | namespace SherpaOnnx | 6 | namespace SherpaOnnx |
| 6 | { | 7 | { |
| @@ -14,7 +15,8 @@ namespace SherpaOnnx | @@ -14,7 +15,8 @@ namespace SherpaOnnx | ||
| 14 | public bool SaveToWaveFile(String filename) | 15 | public bool SaveToWaveFile(String filename) |
| 15 | { | 16 | { |
| 16 | Impl impl = (Impl)Marshal.PtrToStructure(Handle, typeof(Impl)); | 17 | Impl impl = (Impl)Marshal.PtrToStructure(Handle, typeof(Impl)); |
| 17 | - int status = SherpaOnnxWriteWave(impl.Samples, impl.NumSamples, impl.SampleRate, filename); | 18 | + byte[] utf8Filename = Encoding.UTF8.GetBytes(filename); |
| 19 | + int status = SherpaOnnxWriteWave(impl.Samples, impl.NumSamples, impl.SampleRate, utf8Filename); | ||
| 18 | return status == 1; | 20 | return status == 1; |
| 19 | } | 21 | } |
| 20 | 22 | ||
| @@ -84,6 +86,6 @@ namespace SherpaOnnx | @@ -84,6 +86,6 @@ namespace SherpaOnnx | ||
| 84 | private static extern void SherpaOnnxDestroyOfflineTtsGeneratedAudio(IntPtr handle); | 86 | private static extern void SherpaOnnxDestroyOfflineTtsGeneratedAudio(IntPtr handle); |
| 85 | 87 | ||
| 86 | [DllImport(Dll.Filename)] | 88 | [DllImport(Dll.Filename)] |
| 87 | - private static extern int SherpaOnnxWriteWave(IntPtr samples, int n, int sample_rate, [MarshalAs(UnmanagedType.LPStr)] string filename); | 89 | + private static extern int SherpaOnnxWriteWave(IntPtr samples, int n, int sample_rate, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Filename); |
| 88 | } | 90 | } |
| 89 | } | 91 | } |
| @@ -17,7 +17,8 @@ namespace SherpaOnnx | @@ -17,7 +17,8 @@ namespace SherpaOnnx | ||
| 17 | 17 | ||
| 18 | public bool Add(string name, float[] v) | 18 | public bool Add(string name, float[] v) |
| 19 | { | 19 | { |
| 20 | - return SherpaOnnxSpeakerEmbeddingManagerAdd(_handle.Handle, name, v) == 1; | 20 | + byte[] utf8Name = Encoding.UTF8.GetBytes(name); |
| 21 | + return SherpaOnnxSpeakerEmbeddingManagerAdd(_handle.Handle, utf8Name, v) == 1; | ||
| 21 | } | 22 | } |
| 22 | 23 | ||
| 23 | public bool Add(string name, ICollection<float[]> v_list) | 24 | public bool Add(string name, ICollection<float[]> v_list) |
| @@ -31,12 +32,14 @@ namespace SherpaOnnx | @@ -31,12 +32,14 @@ namespace SherpaOnnx | ||
| 31 | i += _dim; | 32 | i += _dim; |
| 32 | } | 33 | } |
| 33 | 34 | ||
| 34 | - return SherpaOnnxSpeakerEmbeddingManagerAddListFlattened(_handle.Handle, name, v, n) == 1; | 35 | + byte[] utf8Name = Encoding.UTF8.GetBytes(name); |
| 36 | + return SherpaOnnxSpeakerEmbeddingManagerAddListFlattened(_handle.Handle, utf8Name, v, n) == 1; | ||
| 35 | } | 37 | } |
| 36 | 38 | ||
| 37 | public bool Remove(string name) | 39 | public bool Remove(string name) |
| 38 | { | 40 | { |
| 39 | - return SherpaOnnxSpeakerEmbeddingManagerRemove(_handle.Handle, name) == 1; | 41 | + byte[] utf8Name = Encoding.UTF8.GetBytes(name); |
| 42 | + return SherpaOnnxSpeakerEmbeddingManagerRemove(_handle.Handle, utf8Name) == 1; | ||
| 40 | } | 43 | } |
| 41 | 44 | ||
| 42 | public string Search(float[] v, float threshold) | 45 | public string Search(float[] v, float threshold) |
| @@ -73,12 +76,14 @@ namespace SherpaOnnx | @@ -73,12 +76,14 @@ namespace SherpaOnnx | ||
| 73 | 76 | ||
| 74 | public bool Verify(string name, float[] v, float threshold) | 77 | public bool Verify(string name, float[] v, float threshold) |
| 75 | { | 78 | { |
| 76 | - return SherpaOnnxSpeakerEmbeddingManagerVerify(_handle.Handle, name, v, threshold) == 1; | 79 | + byte[] utf8Name = Encoding.UTF8.GetBytes(name); |
| 80 | + return SherpaOnnxSpeakerEmbeddingManagerVerify(_handle.Handle, utf8Name, v, threshold) == 1; | ||
| 77 | } | 81 | } |
| 78 | 82 | ||
| 79 | public bool Contains(string name) | 83 | public bool Contains(string name) |
| 80 | { | 84 | { |
| 81 | - return SherpaOnnxSpeakerEmbeddingManagerContains(_handle.Handle, name) == 1; | 85 | + byte[] utf8Name = Encoding.UTF8.GetBytes(name); |
| 86 | + return SherpaOnnxSpeakerEmbeddingManagerContains(_handle.Handle, utf8Name) == 1; | ||
| 82 | } | 87 | } |
| 83 | 88 | ||
| 84 | public string[] GetAllSpeakers() | 89 | public string[] GetAllSpeakers() |
| @@ -155,13 +160,13 @@ namespace SherpaOnnx | @@ -155,13 +160,13 @@ namespace SherpaOnnx | ||
| 155 | private static extern void SherpaOnnxDestroySpeakerEmbeddingManager(IntPtr handle); | 160 | private static extern void SherpaOnnxDestroySpeakerEmbeddingManager(IntPtr handle); |
| 156 | 161 | ||
| 157 | [DllImport(Dll.Filename)] | 162 | [DllImport(Dll.Filename)] |
| 158 | - private static extern int SherpaOnnxSpeakerEmbeddingManagerAdd(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string name, float[] v); | 163 | + private static extern int SherpaOnnxSpeakerEmbeddingManagerAdd(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Name, float[] v); |
| 159 | 164 | ||
| 160 | [DllImport(Dll.Filename)] | 165 | [DllImport(Dll.Filename)] |
| 161 | - private static extern int SherpaOnnxSpeakerEmbeddingManagerAddListFlattened(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string name, float[] v, int n); | 166 | + private static extern int SherpaOnnxSpeakerEmbeddingManagerAddListFlattened(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Name, float[] v, int n); |
| 162 | 167 | ||
| 163 | [DllImport(Dll.Filename)] | 168 | [DllImport(Dll.Filename)] |
| 164 | - private static extern int SherpaOnnxSpeakerEmbeddingManagerRemove(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string name); | 169 | + private static extern int SherpaOnnxSpeakerEmbeddingManagerRemove(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Name); |
| 165 | 170 | ||
| 166 | [DllImport(Dll.Filename)] | 171 | [DllImport(Dll.Filename)] |
| 167 | private static extern IntPtr SherpaOnnxSpeakerEmbeddingManagerSearch(IntPtr handle, float[] v, float threshold); | 172 | private static extern IntPtr SherpaOnnxSpeakerEmbeddingManagerSearch(IntPtr handle, float[] v, float threshold); |
| @@ -170,10 +175,10 @@ namespace SherpaOnnx | @@ -170,10 +175,10 @@ namespace SherpaOnnx | ||
| 170 | private static extern void SherpaOnnxSpeakerEmbeddingManagerFreeSearch(IntPtr p); | 175 | private static extern void SherpaOnnxSpeakerEmbeddingManagerFreeSearch(IntPtr p); |
| 171 | 176 | ||
| 172 | [DllImport(Dll.Filename)] | 177 | [DllImport(Dll.Filename)] |
| 173 | - private static extern int SherpaOnnxSpeakerEmbeddingManagerVerify(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string name, float[] v, float threshold); | 178 | + private static extern int SherpaOnnxSpeakerEmbeddingManagerVerify(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Name, float[] v, float threshold); |
| 174 | 179 | ||
| 175 | [DllImport(Dll.Filename)] | 180 | [DllImport(Dll.Filename)] |
| 176 | - private static extern int SherpaOnnxSpeakerEmbeddingManagerContains(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)] string name); | 181 | + private static extern int SherpaOnnxSpeakerEmbeddingManagerContains(IntPtr handle, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] byte[] utf8Name); |
| 177 | 182 | ||
| 178 | [DllImport(Dll.Filename)] | 183 | [DllImport(Dll.Filename)] |
| 179 | private static extern int SherpaOnnxSpeakerEmbeddingManagerNumSpeakers(IntPtr handle); | 184 | private static extern int SherpaOnnxSpeakerEmbeddingManagerNumSpeakers(IntPtr handle); |
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | 7 | ||
| 8 | <ItemGroup> | 8 | <ItemGroup> |
| 9 | <PackageReference Include="CommandLineParser" Version="2.9.1" /> | 9 | <PackageReference Include="CommandLineParser" Version="2.9.1" /> |
| 10 | - <PackageReference Include="org.k2fsa.sherpa.onnx" Version="1.10.1" /> | 10 | + <PackageReference Include="org.k2fsa.sherpa.onnx" Version="*" /> |
| 11 | </ItemGroup> | 11 | </ItemGroup> |
| 12 | 12 | ||
| 13 | </Project> | 13 | </Project> |
-
请 注册 或 登录 后发表评论