python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出
我正在用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")
# I get here only once
return out_data, pa.paContinue
def get_noise():
audio = pa.PyAudio()
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
frames = []
RECORD_SECONDS = 1
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(np.frombuffer(data))
# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()
return np.array(frames, dtype=NP_FORMAT).flatten()
def main():
global NOISE_SAMPLE
NOISE_SAMPLE = get_noise()
stream = p.open(format=FORMAT,
rate=RATE,
channels=CHANNELS,
input=True,
output=True,
frames_per_buffer=CHUNK,
stream_callback=callback)
stream.start_stream()
# main input loop
while True:
time.sleep(1)
stream.stop_stream()
stream.close()
p.terminate()
if __name__ == "__main__":
main()
我记录了1秒钟的噪声样本,然后进入无限的记录播放循环,在这里我想对输入进行降噪并将其输出。 由于某种原因,它只能运行一次:长时间(为什么?)后,我会打印一次“ X”和“ Y”,然后程序继续运行,但是不再输入回调函数。 有什么想法吗? 任何建议,其他易于使用的库,等等。
python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出相关推荐
- python 移动平均值_python - 如何使用NumPy计算移动平均值? - 堆栈内存溢出
这里有各种方法以及一些基准. 最好的方法是使用来自其他库的优化代码的版本. bottleneck.move_mean方法可能是最好的方法. scipy.convolve方法也非常快速,可扩展,并且在语 ...
- python dtype o_python - 什么是dtype('O')? - 堆栈内存溢出
当你在数据帧中看到dtype('O') ,这意味着Pandas字符串. 什么是dtype ? 什么属于pandas或numpy ,或两者,或其他什么? 如果我们检查一下pandas代码: df = p ...
- python garch模型 forecast_python - 使用GARCH模型进行滚动预测 - 堆栈内存溢出
我正在尝试对给定股票未来30天的波动性进行滚动预测(即预测时间t + 1,然后在预测t + 2时使用此预测,依此类推...) 我这样做是使用R的rugarch软件包,该软件包是我使用rpy2软件包在P ...
- python实时音频处理_Python中的实时音频处理
我正在写一个程序来检查电脑记录的音频信号中是否有小故障.在检测到音频后,我想检查数据的前5秒是否有问题(以44.1kHz的采样率对应220500个样本),继续到下一个5秒的数据并检查其中是否有问题,然 ...
- 如何给音频降噪?看看哪款音频降噪处理软件适合你
在日常的学习工作中,我们或多或少都会用到录音设备,但是如果在录制的过程,四周环境过于繁杂的时候,有很大几率会将周围的杂音一起录进去,这对于一些需要清晰音质的小伙伴们来说,是一件非常头疼的问题.其实解决 ...
- linux usb音频,audio - 如何从linux USB捕获设备捕获与ffmpeg同步的音频和视频 - 堆栈内存溢出...
我正在通过USB Terratec Grabster AV350(基于em2860芯片)捕获视频. 播放时我没有成功获取音频. 如果我使用vlc或ffplay播放捕获的视频,我只有3秒钟的声音,然后对 ...
- python音频 降噪_Python | 简单的扩音,音频去噪,静音剪切
原标题:Python | 简单的扩音,音频去噪,静音剪切 之前一段时间一直在搞数字语音识别,在训练算法上耗费了很多时间,但结果不尽人意.后来才发现自己一直忽视了音频预处理的一步,于是转而囫囵吞枣般学习 ...
- python音频 降噪_python降噪_python音频降噪_python图片降噪 - 云+社区 - 腾讯云
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我们下面借助opencv的python封装包cv2,对其进行一些降噪处理,使得图 ...
- python的实时音频传送_python – 使用Alexa传输音频的最简单示例
以下代码对我有用: def lambda_handler(event, context): return { "response": { "directives" ...
最新文章
- 在Ubuntu 14.04 64bit上安装网易云音乐Linux版本(最新官方版)
- DOCKER上运行DOTNET CORE
- [渝粤教育] 天津城建大学 混凝土结构设计原理A 参考 资料
- 基于MaxCompute搭建社交好友推荐系统
- 机器人炒饭小块头一一_小块头机器人炒饭:全智能流程,炒饭芬芳独具
- 没想到啊!3980元的Web前端视频今日免费送
- n型半导体和p型半导体的区别_PNP和NPN的区别和判别方法,网友:太厉害了!终于有人能讲明白了...
- 字节跳动也取消大小周了,996内卷要终结了?
- python每行输出8个式子_多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!
- 第14期《学海无涯乐作舟》12月刊
- python读取pcd文件_Python读取pcd点云文件
- 哪种机械键盘更适合打游戏? 机械键盘5种常用机械轴详细介绍
- 用*打印一个长方形.
- 初始化NC用友的表结构数据文件
- 清微智能CTO欧阳鹏:架构创新是通往高性能计算芯片必由之路|量子位·视点分享回顾...
- K8S集群节点显示NotReady怎么解决?
- windows10系统装cad2007提示缺少NET组件
- 数据库定义语言(DDL)详解
- 【粉丝福利,限时免费】【千里之行,始于脚下】我在CSDN上的精品博文汇总,收藏起来慢慢看
- UR机器人数据包解析(python与C++实现)