2008-09-03 5 views
5

Я собираюсь запустить проект, который будет записывать и редактировать аудиофайлы, и я ищу хорошую библиотеку (желательно Ruby, но рассмотрю что-либо, кроме Java или .NET) визуализацию осциллограмм.Визуализация формы волны в Ruby

Кто-нибудь знает, с чего начать мой поиск?

ответ

3

Это много данных для потоковой передачи в браузер. Карты Flash или Flex, вероятно, являются единственным решением, которое будет эффективно с точки зрения памяти. Графики Javascript имеют тенденцию к распаду для больших наборов данных.

1

Другой вариант - генерация осциллограмм на стороне сервера с помощью GD или RMagick. Но удача в компиляции RubyGD.

3

При отображении звуковой волны вы захотите сделать какое-то уменьшение данных на исходных данных, потому что в аудио-файле обычно больше данных, чем пикселей на экране. Большинство аудиоредакторов создают отдельный файл (называемый пиковым файлом или файлом обзора), который хранит подмножество аудиоданных (обычно пиков и долин формы волны) для использования на разных уровнях масштабирования. Затем, когда вы приближаетесь к определенной точке, вы начинаете ссылаться на исходные аудиоданные.

Вот некоторые хорошие статьи по этому вопросу:

Waveform Display

Build an Audio Waveform Display

Насколько исходный код, то я бы рекомендовал смотреть через Audacity исходный код. Показатель осциллограммы Audacity довольно хорош и, по большей части, скорее всего, делает подобный снимок данных при визуализации осциллограмм.