首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将NumPy数组流式传输到流中?

如何将NumPy数组流式传输到流中?
EN

Stack Overflow用户
提问于 2016-01-24 23:24:15
回答 1查看 2.4K关注 0票数 1

我正在尝试做一个实时播放器/记录器循环。我才刚开始做win PyAudio的生意。

目前,我可以创建一个流并将其存储到numpy数组中,但我不能在需要的时候将其发送回pyaudio流。

我想使用数组,因为我更喜欢将所有内容存储在内存中,直到我想将其保存为wave文件。

请注意,我尝试使用Matth的python-sounddevice播放它,但我也无法播放它。我找不到实现这一点的方法。

下面是我当前的代码:

代码语言:javascript
复制
import sys
import pyaudio
import numpy as np
import sounddevice as sd

p = pyaudio.PyAudio()
datos_numpy=np.array([])
CHUNK=64
CHANNELS=2
FORMAT=pyaudio.paFloat32
RATE=44100

is_recording=False
is_playing=False

def callback(in_data, frame_count, time_info, status):
    global datos_numpy, is_playing, is_recording
    if is_recording==True:
        if in_data:
            print 'recording'
            temp_data=np.fromstring(in_data, dtype=np.float32)
            datos_numpy = np.append(datos_numpy,temp_data)
        else:
            print('no input')

        return in_data, pyaudio.paContinue

    elif is_playing==True:
            print 'playing'
            #out_data= ???? HERE IS MY PROBLEM
            #return out_data, pyaudio.paContinue   
    else:
        return in_data, pyaudio.paContinue


stream = p.open(format=pyaudio.paFloat32,
                channels=CHANNELS,
                rate=RATE,
                output=True,
                input=True,
                input_device_index=6,
                output_device_index=14,
                frames_per_buffer=CHUNK,
                stream_callback=callback)

def record():
    global is_playing, is_recording
    is_recording=True
    is_playing=False


def play():
    global is_playing, is_recording, datos_numpy
    is_recording=False
    is_playing=True
    sd.play(datos_numpy, 44100)
EN

回答 1

Stack Overflow用户

发布于 2016-01-25 04:48:34

由于您是通过fromstring方法获取numpy数组,因此您可能能够通过numpy.tostring()方法获取字符串缓冲区。

或者,您可以简单地将字符串缓冲区保存到硬盘中,而不是将其转换为numpy数组。然后,您不必担心如何将工作缓冲区取回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34977529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档