我试着做一个实时的演讲到文字抄写脚本。下面的脚本适用于录制的wav文件。
from asrecognition import ASREngine
asr = ASREngine("tr", model_path="mpoyraz/wav2vec2-xls-r-300m-cv6-turkish")
audio_paths = ["prerecorded.wav"]
transcriptions = asr.transcribe(audio_paths)
print(transcriptions)但是我想用麦克风捕捉声音,当检测到一段时间的静音时,
录音必须停止,它将被管道到语音识别引擎进行转录。然后从麦克风录音必须重新启动。
我以为FFmpeg能做到,但怎么做到的呢?
发布于 2022-10-11 20:49:18
您可以通过脉冲音频和ffmpeg的组合来实现这一点:
**基于python pulsectl lib **的代码
脉冲= pulsectl.Pulse("Test1")
这是一个堆栈溢出主题,因此我保持简短--只是为了给您一个要点。基本的想法是,使用脉冲音频检测到“峰值”线上的一些静音(或相反的)。然后可以执行ffmpeg命令来记录片段。据我所知,你最终会得到一堆短片,之后你可以使用ffmepg的concat协议加入/接受。
在python中可以找到该协议的这里实现。
https://askubuntu.com/questions/1434890
复制相似问题