原帖: /t/1054965
使用到的库是:
ffmpeg,
whisper(OpenAI)
torch
实现的功能如下:
1.剪切标准音频
2.录音你的朗读
3.比较标准音频和你朗读音频的区别,并且标注哪些地方你读错了。
例如:
”Mary, I hope [you're -> you/are] packed and ready to leave. [Yes,/I'm -> Years/are] packed, but not quite ready. I can't find my passport. [Your -> ] -
[ -> You] passport? That's the one thing you [mustn't -> must/not] leave behind. I know. I haven't lost it. I've packed [it,/but -> it./But] I [can't -> cannot] remember [which/bag. -> what/it/is.]“
中括号里的即为你念错的地方。
我的使用方法:
因为我日常都是去找四六级的听力去练习朗读,因此我下载了全套的历年四六级听力。(也因此需要剪切,每次用 ffmpeg 命令行也挺麻烦的)。
1.该脚本会先针对你剪好的标准音频进行语音识别,得到文本打印下来。
2.然后你只需要对着这个文本朗读即可。
3.最后分析出你哪些地方读错了,哪些地方读的是正确的。
我的初衷是想做完整朗读中每个单词提供发音百分比置信度的功能,但是当我做到一半的时候,开始写什么 MFCC 音频提取、DTW 算法匹配的时候,才意识到我其实是把简单问题复杂化了。
日常生活中,大部分人都是不敢说,以及熟悉的单词不会念,能开口实际上就赢了大半,不至于说要每个单词都非常标准发音,这样反而会很奇怪。于是我觉得只要能大声朗读出能让机器识别出来的句子,就能够实现我的目标。至于需要聚焦到更细节的每个单词的严苛发音,我觉得随便一个背单词的 app 就能做到。
我之前用 chatGPT 对话练习过,但是后面发现很多时候我并不是缺乏对话,而是缺乏开口念英语的连贯性、自然性。我单词都念错了,AI 还能跟我继续唠嗑。读书的时候英语早读课过于注重单个单词的记忆而忽略了完整文章的朗读。如果仅仅是需要找个对话练习,用 chatGPT 就够了。我个人认为这个脚本解决的痛点也是在于:连贯对话的口语纠错。
本脚本也是为了抛砖引玉,肯定有体验更好的方案,希望有大佬如果有兴趣可以开发出来让我使用使用,我这个确实有点简陋。