Воспроизведение аудио из постоянно меняющегося массива - PullRequest
0 голосов
/ 15 октября 2018

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

1 Ответ

0 голосов
/ 16 октября 2018

Возможно, вы могли бы перехватить событие или конвейер, который добавляет данные в ваш массив.

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

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

...