2、利用silk-v3-decoder(https://github.com/kn007/silk-v3-decoder), 把silk 转换成pcm格式 (silk/decoder /data/test.silk /data/1.pcm);
3、 用 ffmpeg 把 44100 采样率 单声道 16bts pcm 文件转 16000采样率 16bits 位深的单声道pcm文件
ffmpeg -y -f s16le -ac 1 -ar 44100 -i test44.pcm -acodec pcm_s16le -f s16le -ac 1 -ar 1600016k.pcm (获得pcm文件)
ffmpeg -y -f s16le -ar 24000 -ac 1 -i /data/1.pcm -f wav -ar 16000 -b:a 16 -ac 1 /data/1.wav (获得wav文件)
4、调用百度api 转换 pcm , 就能获取百度转换后的 文字
函数目前处于实验性阶段,在使用它之前,请仔细检查浏览器兼容性表。
text – 要合成的文字内容,字符串
lang – 使用的语言,字符串, 例如:“zh-cn”
voiceURI – 指定希望使用的声音和服务,字符串
volume – 声音的音量,区间范围是0到1,默认是1
rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。
pitch – 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1
SpeechSynthesis.paused 只读
当 SpeechSynthesis 处于暂停状态时, Boolean 值返回 true 。
SpeechSynthesis.pending 只读
当语音播放队列到目前为止保持没有说完的语音时, Boolean 值返回 true 。
SpeechSynthesis.speaking 只读
当语音谈话正在进行的时候,即使 SpeechSynthesis 处于暂停状态, Boolean 返回 true 。