小编Saj*_*C K的帖子

使用python进行实时音频信号处理

我一直在尝试使用 python 中的“pyAudio”模块进行实时音频信号处理。我所做的是从麦克风读取音频数据并通过耳机播放的简单案例。我尝试使用以下代码(Python 和 Cython 版本)。认为它有效,但不幸的是它是停顿并且不够流畅。我该如何改进代码才能让它顺利运行。我的电脑是 i7,8GB 内存。

蟒蛇版

import pyaudio
import numpy as np

RATE    = 16000
CHUNK   = 256

p               =   pyaudio.PyAudio()

player = p.open(format=pyaudio.paInt16, channels=1, rate=RATE, output=True, 
frames_per_buffer=CHUNK)
stream = p.open(format=pyaudio.paInt16, channels=1, rate=RATE, input=True, frames_per_buffer=CHUNK)

for i in range(int(20*RATE/CHUNK)): #do this for 10 seconds
player.write(np.fromstring(stream.read(CHUNK),dtype=np.int16))
stream.stop_stream()
stream.close()
p.terminate()
Run Code Online (Sandbox Code Playgroud)

Cython 版本

import pyaudio
import numpy as np

cdef int RATE   = 16000
cdef int CHUNK  = 1024
cdef int i      
p               =   pyaudio.PyAudio()

player = p.open(format=pyaudio.paInt16, channels=1, rate=RATE, …
Run Code Online (Sandbox Code Playgroud)

python audio signals real-time cython

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

标签 统计

audio ×1

cython ×1

python ×1

real-time ×1

signals ×1