Некоторые вопросы об API Java Sound - PullRequest
2 голосов
/ 29 ноября 2011

Я относительно новичок здесь и в использовании Java Sound API и аудио программирования в целом. Мне было интересно, можно ли сделать следующие вещи с помощью Java Sound API:

  • извлечение значений отдельных частот, из которых состоит аудиофайл. (например: амплитуда для диапазона частот 20 Гц-20 кГц)
  • на основе этих значений выполните манипуляции, а затем запишите новый измененный аудиофайл.

Если вам интересно, почему я спрашиваю об этом, я планирую создать собственный формат сжатия звука с использованием алгоритма оптимизации на основе роя. Так что для тех, кто может дать более простой ответ: возможно ли создание программы сжатия звука с использованием Java Sound API?

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

.. Я планирую создать собственный формат сжатия звука. Возможно ли создание программы сжатия звука с помощью Java Sound API?

Цитата Информация о JavaSound. здесь на SO.

Интерфейс поставщика услуг

Java Sound API использует интерфейс поставщика услуг для определения кодеров и декодеров для звуковых форматов и типов последовательностей. Таким образом, добавить поддержку нового формата или типа так же просто, как предоставить для него декодер и / или кодировщик, добавить файл SPI в манифест Jar, в котором он находится, а затем добавить Jar в класс времени выполнения путь к приложению.


Так что, если вы можете предоставить кодер / декодер, тогда да.

0 голосов
/ 29 ноября 2011

Вы, конечно, можете читать сигналы.То есть, для файла с частотой 44,1 кГц вы можете прочитать 44,100 различных значений выборки в секунду.Я не знаю, что Java Sound API будет рассчитывать звуковые частоты для вас, но если вы уже собираетесь выполнять манипуляции, вы, вероятно, можете рассчитать все, что вам нужно.

Несколько лет назад яиспользовал что-то в этом направлении для декодирования подозрительного сигнала временного кода SMPTE, распечатывая различные биты и поля.(По сути, мне просто нужно было отслеживать, когда значение пересекает 0 и как долго.)

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

...