繁体   English   中英

我会为语音识别选择什么设备来使用我的计算机发出的音频?

[英]What device I would select for Speech Recognition to use the audio coming out of my computer?

我正在尝试使用 Python 3 制作隐藏式字幕生成器。当我调用list_microphone_names() ,会列出一堆音频源。 我会为从我的计算机发出的音频选择哪个来源?

我曾尝试使用pocketsphinx进行实时识别,但结果非常不准确。 我找到了一个使用-adcdev参数来选择源的选项,但我不知道要放入什么。

这是我从调用list_microphone_names()

>>> import speech_recognition as sr
>>> r = sr.Recognizer()
>>> mic = sr.Microphone()
>>> sr.Microphone.list_microphone_names()
['Microsoft Sound Mapper - Input', 
'Microphone (HD Webcam C270)', 
'Microsoft Sound Mapper - Output', 
'Speakers (Realtek High Definiti', 
'Primary Sound Capture Driver', 
'Microphone (HD Webcam C270)', 
'Primary Sound Driver', 
'Speakers (Realtek High Definition Audio)', 
'Speakers (Realtek High Definition Audio)', 
'Microphone (HD Webcam C270)', 
'Line In (Realtek HD Audio Line input)', 
'Speakers (Realtek HD Audio output)', 
'Microphone (Realtek HD Audio Mic input)', 
'Stereo Mix (Realtek HD Audio Stereo input)', 
'Microphone (HD Webcam C270)']

我猜是立体声混音,因为本文解释了如何在使用立体声混音的情况下录制来自计算机的声音。

如果可以使用语音识别功能对我的计算机发出的音频进行准确、实时的语音识别,那么我全力支持。

Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32运行Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32

与其列出所有可用的麦克风,不如考虑使用Microphone.list_working_microphones()仅列出当前听到声音的Microphone.list_working_microphones() 确保发出一些噪音,否则该函数可能会返回一个空列表。 拿到工作话筒列表后,一一试用,最后挑出识别质量最好的那一个。

下面的代码片段只是选择第一个工作:

for device_index in Microphone.list_working_microphones():
    m = Microphone(device_index=device_index)
    break
else:
    print("No working microphones found!")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM