相关疑难解决方法(0)

将实时音频数据读入numpy数组

如何将实时音频读入numpy数组并使用matplotlib进行绘图?

现在我正在录制一个wav文件上的音频,然后使用scikits.audiolab.wavread它将其读入一个数组.有没有办法直接实时做到这一点?

python audio

15
推荐指数
2
解决办法
2万
查看次数

如何在Pyaudio回调模式下处理in_data?

我正在python中进行信号处理项目.到目前为止,我在非阻塞模式下取得了一些成功,但它给输出带来了相当大的延迟和削波.

我想使用Pyaudio和Scipy.Signal实现一个简单的实时音频过滤器,但在pyaudio示例中提供的回调函数中,当我想读取in_data时我无法处理它.尝试以各种方式转换它但没有成功.

这是我想要实现的代码(尽快从麦克风,过滤器和输出中读取数据):

import pyaudio
import time
import numpy as np
import scipy.signal as signal
WIDTH = 2
CHANNELS = 2
RATE = 44100

p = pyaudio.PyAudio()
b,a=signal.iirdesign(0.03,0.07,5,40)
fulldata = np.array([])

def callback(in_data, frame_count, time_info, status):
    data=signal.lfilter(b,a,in_data)
    return (data, pyaudio.paContinue)

stream = p.open(format=pyaudio.paFloat32,
                channels=CHANNELS,
                rate=RATE,
                output=True,
                input=True,
                stream_callback=callback)

stream.start_stream()

while stream.is_active():
    time.sleep(5)
    stream.stop_stream()
stream.close()

p.terminate()
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

python pyaudio

5
推荐指数
1
解决办法
9070
查看次数

标签 统计

python ×2

audio ×1

pyaudio ×1