簡體   English   中英

Python:實時輸入話筒

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM