我使用 Vosk 库实现了实时语音转录。它利用了声音设备和 kaldi 识别器。我必须将其集成到网络摄像头中。
我试过以下:
- OpenCv -> 它将只捕获视频并且它不会识别音频。
- AVRecorder -> 它同时录制音频和视频,但它的音频是 .wav 文件,视频是 .avi 文件。
- ffmpeg -> 无法查看录像。
我需要可以帮助将 vosk 实时语音转录代码(如下所示)集成到网络摄像头中的资源,即,当我录制自己并说话时,字幕必须可见。类似于缩放或 youtube 实时转录。
model = vosk.Model(os.path.join(language_model)) file = open("filename", "wb")
with sd.RawInputStream(samplerate=44000,blocksize = 8000,dtype='int16',channels=1, callback=callback):
print('*' * 100)
print('Interrupt the kernel to stop recording')
print('*' * 100)
rec = vosk.KaldiRecognizer(model,44000)
while True:
data = q.get()
if rec.AcceptWaveform(data):
print(rec.Result())
else:
print(rec.PartialResult())