aiff: программное воспроизведение?
Я пытаюсь программно воспроизвести некоторые файлы Apple Loop, которые у меня есть. Так как мне нравится clojure, я сначала попытался сделать это с помощью JVM. Java Sound Demo воспроизводит файл.aif, который поставляется вместе с пакетом, но когда я пытаюсь воспроизвести один из моих файлов циклов, я получаю:
java.lang.IllegalArgumentException: No line matching interface Clip supporting
format PCM_SIGNED 48000.0 Hz, 24 bit, stereo, 6 bytes/frame, big-endian,
and buffers of 671064 to 671064 bytes is supported.
Я предполагаю, что это означает, что Java звуковой API не будет поддерживать мой тип файла. Я не зависим от языка, но мне любопытно, какой язык лучше всего использовать для воспроизведения этого?
Я также заглянул в pygame, но это кажется кошмаром для установки, поэтому хотел посмотреть, какие у меня есть варианты.
1 ответ
Проблема в том, что звук Java, который является древним и отчаянно нуждается в любви, не поддерживает 24-битные файлы. (Я уверен, что он поддерживает 48 кГц и поддерживает AIFF без сжатия стерео)
Есть несколько вариантов расширения javasound с помощью других библиотек, хотя я не очень разбираюсь в них. Вы можете попробовать http://www.tritonus.org/
Для других языков одним из первых мест является http://www.mega-nerd.com/libsndfile/ который очень популярен, и я думаю, что могут быть обертки для языков, которые могут вам понравиться, помимо C.