Как воспроизвести массив numpy, содержащий аудиосигнал, по частям?

#python #numpy #audio #pyaudio

#python #numpy #Аудио #pyaudio

Вопрос:

Я хочу обрабатывать в режиме реального времени аудиофайл, который хранится в массиве NumPy, одновременно воспроизводя звук. Я не знаю, как настроить PyAudio, чтобы я мог воспроизводить аудио при включении и выключении некоторых фильтров и функции понижающей дискретизации. Я использую этот метод для воспроизведения из массива, но он воспроизводит весь массив, а не заданные фрагменты.

 def play (signal, sr):    
    # Create an interface to PortAudio
    p = pyaudio.PyAudio()

    # Open a .Stream object to write the WAV file to
    # 'output = True' indicates that the sound will be played rather than recorded
    stream = p.open(format = pyaudio.paInt16,
                    channels = 2,
                    rate = sr,
                    output = True,
                    output_device_index = 1)

    print("Playing quantized...")
    data = signal.astype(np.int16).tostring()
    stream.write(data)
    print("Stop playing.")
 

Комментарии:

1. Хорошо, в чем проблема? 🙂

2. Я не знаю, как настроить PyAudio, чтобы я мог воспроизводить аудио при включении и выключении некоторых фильтров.

3. Может быть, тогда вам следует включить это в свой вопрос. Сделайте его более конкретным.

4. Я сделал это, у вас есть идеи, как это сделать?

5. Нет, лично я этого не делаю, но кто-то другой может. Проблема в том, что ваш вопрос все еще слишком общий. Вы должны показать, какой подход вы пробовали до сих пор, какие конкретные проблемы у вас есть и т.д. Вопросы в стиле «пожалуйста, напишите этот код для меня» обычно не привлекают ответов на переполнение стека.