Я создаю звуковое приложение в Ruby, которое требует воспроизведения с низкой задержкой воспроизведения. До сих пор я использую SDL, который отлично подходит для прототипа, но у него почти нет достаточной производительности для того, что мне нужно.Воспроизведение звука с низкой задержкой с Ruby
Я попытался использовать жемчужину ruby-jack
, но он не кажется достаточно полным, чтобы вставить любой звук в порт воспроизведения (и документация дико неполна).
Если он сильно изменится, я нахожусь на OS X (но мне нужно что-то порядочно кросс-платформенное), и я (в настоящее время) воспроизвожу небольшие WAV-файлы, но больше форматов будет лучше. Я также не хочу, чтобы вы также хотели вызвать системное приложение для этого.
Доступен полный исходный код моей заявки on Github; Главными особенностями этого являются in a gist, для тех, кто хочет посмотреть.
Как вы используете SDL для воспроизведения образцов/дорожек? Если в ruby-коде нет избыточных уровней или указаний, не следует ожидать никаких проблем с производительностью. Вы пытаетесь запустить воспроизведение в потоке? Вопрос должен быть обновлен с дополнительной информацией, чтобы получить разумный ответ. –
Я отправлю ссылку на код, который у меня уже есть, но основные моменты указаны в https://gist.github.com/Jashank/5179273 – Jashank