python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出

本文介绍了使用Python的PyAudio和noisereduce库在Raspberry Pi上进行实时音频降噪的问题。作者创建了一个回调函数来处理输入数据,但在运行过程中发现降噪处理只能执行一次。问题可能在于回调函数的执行流程。寻求解决方案和替代降噪库的建议。
摘要由CSDN通过智能技术生成

我正在用Python为Raspberry Pi写一个声码器,这使声音无法识别。 我录制音频并使用回调功能实时播放-它可以工作。 现在,我需要对输入进行去噪,以Numpy数组表示(像大多数教程和SO上的文章一样,没有.wav文件!)。 它对我不起作用。

我的main.py:

from copy import copy

import numpy as np

import pyaudio as pa

import time

import noisereduce as nr

p = pa.PyAudio()

FORMAT = pa.paFloat32

NP_FORMAT = np.float32

CHANNELS = 2

CHUNK = 1024

RATE = int(p.get_default_input_device_info()['defaultSampleRate'])

NOISE_SAMPLE = None

# function for manipulating input data

def callback(in_data, frame_count, time_info, flag):

data = copy(np.frombuffer(in_data)) # copy, since original is read-only

# here everything is ok for first time

# print("X")

out_data = nr.reduce_noise(audio_clip=data, noise_clip=NOISE_SAMPLE)

# print("Y")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值