python - 如何在 python 中使用 pyaudio 录制音频时忽略背景噪音?
问题描述
我正在使用以下代码在 python 中录制音频,它工作得很好。但是当我将麦克风输入音量设置为高时,使用此代码录制的音频有很多噪音。如何摆脱这种噪音??
import pyaudio
import wave
def record(filename):
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
CHUNK = 1024
RECORD_SECONDS = 15
WAVE_OUTPUT_FILENAME = filename
audio = pyaudio.PyAudio()
# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
print("recording...")
print('---------------------------------')
print(int(RATE / CHUNK * RECORD_SECONDS))
print('*********************************')
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("Recording finished. . .")
# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(2)
audio.get_sample_size(FORMAT)
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()
解决方案
推荐阅读
- swift - 如何在 swift4 中为这个 json 数据创建一个结构?
- caching - 为什么 CloudFront GZIP 不压缩我的 HTML/JSP 页面
- angular - 无法使用电子打包器创建 Windows 应用程序包
- python - Jupyter 中 Numpy 函数的文档
- visual-studio-2017 - 如何更改某个变更集的注释颜色
- asp.net - 如何基于在 Asp.net mvc 和 Knockoutjs 中单击 Add new 来重复绑定控件
- ios - iOS-如何在限制范围内绘画
- python - 在 tkinter 中使用线程
- excel - 将 2 行单元格与电子表格中同一列中的行下单元格进行比较时,根据重复值删除行
- c# - 如何修改 ChartingToolkit LineChart 的 X 轴