我想两次使用以下功能。
此功能将现场音频输入转换为wav文件。
第一次使用PC内置麦克风,第二次使用代码运行前插入的耳机麦克风。
但是,当我尝试功能时,它仅使用耳机的麦克风:
import sounddevice as sd
from scipy.io.wavfile import write
from playsound import playsound
def audio_to_wav(dst, device):
"""
converts live audio to wav file
:param dst: destination wav file
"""
# Sample rate:
fs = 4410
# Duration of recording:
seconds = 5
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2, device=device)
# Wait until recording is finished:
sd.wait()
# Save as WAV file:
write(dst, fs, myrecording)
在我的主程序中,我两次调用了此函数:
def main():
# transfer mic1 audio to wav:
audio_to_wav("file1.wav", 0)
# transfer mic2 audio to wav:
audio_to_wav("file2.wav", 1)
# play the wav files audio:
playsound("file1.wav")
playsound("file2.wav")
但是,当我运行此代码时,该功能仅使用耳机的麦克风。
如何同时使用PC内置麦克风和耳机的麦克风?
最佳答案
问题在于,在音频管理器(在我的情况下为Realtek音频管理器)中,录音设备的高级设置被设置为“ bundle 相同类型的输入插孔...”。
当我将其更改为“将所有输入插孔作为独立的输入设备分开”时,它解决了该问题。
关于python - 如何指定与python sounddevice一起使用的录音设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59400925/