Rubber Band Library

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: breakfastquay.com/rubberband

Rubber Band Library — это открытая библиотека на C++, предназначенная для изменения скорости воспроизведения (time-stretching) и высоты тона (pitch-shifting) аудио с сохранением качества. Она разработана для использования как в реальном времени, так и в пакетной обработке, и может быть встроена в приложения для аудиоредактирования, цифровые рабочие станции и музыкальные инструменты. Библиотека предоставляет алгоритмы, оптимизированные для минимизации искажений и артефактов при значительных изменениях скорости и тона, при этом поддерживает многоканальный ввод и широкий диапазон форматов данных кадра звукового потока.

Проект ориентирован на гибкость и переносимость: код написан на C++ с чистым API, что облегчает интеграцию в настольные и встраиваемые системы. Помимо программного интерфейса для встраивания, пакет обычно включает утилиту командной строки, позволяющую применять алгоритмы к аудиофайлам без написания дополнительного кода. В документации библиотеки описаны режимы качества, параметры управления временной и частотной обработкой, а также рекомендации по использованию в приложениях с низкой задержкой.

  • Изменение темпа без сдвига тона: алгоритмы, сохраняющие высоту звукового сигнала при ускорении или замедлении воспроизведения.
  • Сдвиг высоты тона без изменения темпа: возможность транспонирования звука вверх или вниз при неизменной длительности.
  • Режимы качества: несколько уровней качества обработки, позволяющих выбирать компромисс между вычислительной нагрузкой и звуковой точностью.
  • Поддержка реального времени: оптимизации и буферизация для использования в интерактивных приложениях с низкой задержкой.
  • Многоканальная обработка: возможность работы с несколькими каналами аудио и сохранения каналовой структуры.
  • Гибкий API на C++: чистый и документированный интерфейс для интеграции в сторонние проекты и плагины.
  • Утилита командной строки: инструмент для пакетной обработки аудиофайлов и экспериментирования без разработки кода.
  • Параметры управления: тонкая настройка окон, перекрытий, синхронизации и других параметров обработки.
  • Портируемость: совместимость с различными платформами благодаря кроссплатформенной реализации на C++.
  • Применения: использование в цифровой обработке звука, живом исполнении, подкастинге, реставрации аудио и создании инструментов для музыкантов.
Подробнее