[英]Python: Real-time input into the microphone
我只是想知道是否有辦法通過 python 將一些實時輸入到麥克風中。我正計划制作一個開源的實時噪聲消除應用程序,如 Krisp。
你可以試一試pyaudio 。
python -m pip install pyaudio
PyAudio 示例
import pyaudio
import wave
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "your-rockstar-voice.wav"
audio = pyaudio.PyAudio()
# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
print "recording..."
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print "finished recording"
# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()
我正在尋找使用 python 解決實時降噪問題的解決方案,因為我有一個吵鬧的鄰居。 因此,在我的搜索中,我找到了這個 Python 解決方案: rattlesnake - 一個 python 應用程序,它可以消除噪音https://github.com/loehnertz/rattlesnake
正如我注意到的那樣,實時模式在播放音頻文件時會捕獲來自麥克風的噪音。 因此,output stream 播放加入倒波的音頻文件以消除噪音,就像那些具有降噪系統的耳機一樣。
我計划使用 Raspberry PI 創建一個降噪系統,運行類似這種實時降噪的東西,以在家里創建一個靜默區。 正如我所注意到的,它需要對原始代碼進行一些更改,因為實時模式需要一個 mp3 文件作為參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.