daniel shen
daniel shen
需要部署TTS和 ASR 在 IOS和Android上 , 不知是否有这种方案,或者给点思路我自己写。
> 我有一个语言学习类的app,andriod 和 ios,andriod 基于lotlin和jetcompose(开发中), ios 是swiftui(已上线).目前使用的都是系统原生的Speech to text 和 TTS. 现目前 S2T 和 TTS 都是处理英语 不涉及到任何中文。 但是系统自带的TTS发音不好听,S2T识别率较差。 所以在考虑paddlespeech 的方案。由于app对TTS和S2T的效率要求高,所以不考虑web交互的方式,考虑直接嵌入到android和ios app中。所以我的预期是两条: 1,android 和 ios 都能直接部署进行调用,不考虑web方法,web最多作为备选。(从app用户使用体验考虑)。 2,会使用到paddlespeech 的 ASR和TTS功能(都是使用en,不考虑zh,精读要求高一点,至少要比apple的speech高)。 感谢 paddle组。
> 那么你对模型的大小,模型是否需要支持流式或者说解码速度上有具体要求吗? -模型最好是控制在350Mb以内 -对流式没有硬性要求,能支持更好 -解码速度要比较快一点,一个普通常用英文句子,尽量在200ms 以内。正常一口气的语句尽量控制在500ms以内,底线是没要超过1s
> > 需要部署TTS和 ASR 在 IOS和Android上 , 不知是否有这种方案,或者给点思路我自己写。 > > 借楼答一下. > > [k2-fsa/sherpa-ncnn](https://github.com/k2-fsa/sherpa-ncnn) 这个有 iOS 和 Android 的 ASR demo > > 所有代码和模型,都是开源的。 > > ## bilibili 视频演示 (iOS)...
我和你同样的想法,不过我是通过go ->cgo 来调用的。我也是load model 和 asr分开。 而且遇到了和你一模一样的情况。 最终我发现 : #13 0x00007fe86cfbc7d7 in paraformer::EncSelfAttn::forward_fsmn (this=0x8, din=0x0, conv_im2col=0x7fe8414688e0) at src/lib/paraformer/EncSelfAttn.cpp:50 din 这个指针成空指针了?
> 只支持中文或者中英文,不支持英文,如果有英文需求可以使用kaldi2里面提供的模型,[k2-fsa/icefall](https://github.com/k2-fsa/icefall) 兄弟 我用paraformer 的方式 ,测试英文 字母 I 和其他单词 没有空格分开。测试了两个wav文件都是这样,能讲一下在哪里修改能解决这个问题? Result: "Iknocked at the door on the ancient side of the building". Result: "have you got any cheese may Ihelp...
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wav 这个
> @shen2009fei 已经修复这个bug,可以抽空试试了 兄弟 感谢修复,非常好用 感谢。 请问这个支持服务的形式吗?这样便于前端调用。
有段音频识别,know 和 后面的Is 合并在一起了。 Two two two it's one o'clock have you ever been to china what's your name I don't knowIs that okay sure pretty cool [newRecord 2.wav.zip](https://github.com/chenkui164/FastASR/files/10714009/newRecord.2.wav.zip)
> 临时的解决方案是将[代码](https://github.com/chenkui164/FastASR/blob/main/examples/paraformer_cli.cpp?rgh-link-date=2023-02-12T01%3A18%3A12Z#:~:text=buff%2C%20len%2C%20flag)%3B-,cout%20%3C%3C%20msg,-%3B) while (audio.fetch(buff, len, flag) > 0) { mm->reset(); string msg = mm->forward(buff, len, flag); cout 0) { mm->reset(); string msg = mm->forward(buff, len, flag); cout 由于里面涉及到VAD分句和中英文混合的问题,我还没想好怎么改,临时先怎么用吧 先这么解决了,我部署到服务器 发现服务器识别比我本地还慢1秒:)...