2015-02-21 2 views
0

Воспроизведение моих аудиофайлов wav на моем малине pi через pyaudio не работает Хорошо. Файлы WAV были созданы на моем (Windows) ноутбуке, и теперь я хочу правильно их воспроизвести мой рпи.Воспроизведение PyAudio медленное на linux

Я тестирую его с помощью тестовых скриптов, которые поставляются с pyaudio.

import pyaudio 
import wave 

chunk = 1024 
wf = wave.open('sample.wav', 'rb') 
p = pyaudio.PyAudio() 

stream = p.open(
    format = p.get_format_from_width(wf.getsampwidth()), 
    channels = wf.getnchannels(), 
    rate = wf.getframerate(), 
    output = True) 
data = wf.readframes(chunk) 

while data != '': 
    stream.write(data) 
    data = wf.readframes(chunk) 

stream.close() 
p.terminate() 

Я также пытался принуждать настройки потока pyaudio на те, которые я использовал, чтобы записать его, но это не помогает.

Воспроизведение прекрасно работает, когда я делаю это с помощью aplay из командной строки.

Я столкнулся с несколькими другими сообщениями, которые имеют эту проблему на других форумах, но никто не придумал ответа (пока).

Некоторые далее контекст:

Я пытаюсь транслировать аудио из моего ноутбука на мой RPI, и оттуда вывести его на мой speakersystem. Я захватываю аудио, используя виртуальный кабель VB-Audio. Когда я что-то играю на своем ноутбуке, я включаю виртуальный кабель и свой код на Python. Затем pyaudio захватывает это и отправляет его в rpi, rpi собирает их (буферизирует их), а затем воспроизводит его. Все это прекрасно работает, если я держу его в окнах, но когда я его переношу на свой rpi, качество воспроизведения стало ужасным.

Затем я начал тестировать, играя простые wav-файлы, чтобы узнать, была ли проблема с задержкой или, скорее, проблема с воспроизведением, и теперь она явно является последней.

ответ

0

Должен ли кто-нибудь столкнуться с тем же вопросом, я не смог исправить эту проблему, но нашел альтернативное решение. Теперь я использую библиотеку alsaudio (https://sourceforge.net/projects/pyalsaaudio/), что прекрасно делает трюк.