小程序录音文件如何nodejs转成文字

JavaScript027

小程序录音文件如何nodejs转成文字,第1张

1、微信小程序录音,提交到服务器(此时音频格式为silk);

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 。