С 2010 года появилось как минимум три библиотеки для воспроизведения, манипулирования, визуализации и сохранения аудио.
clj-audio
Универсальная аудио библиотека, построенная на основе Java SoundAPI.Имеет минимальное количество зависимостей, но проект выглядит довольно заброшенным.
Ссылка в project.clj
(вторая требуется для воспроизведения файлов MP3):
[org.clojars.beppu/clj-audio "0.3.0"]
[com.googlecode.soundlibs/mp3spi "1.9.5.4"]
Пример использования:
(require '[clj-audio.core :refer :all])
;; Play an MP3 file
(-> (->stream "bell.mp3")
decode
play)
;; Playing synthesized sounds is an experimental feature for the library
Подробнее: https://github.com/beppu/clj-audio
Динн
Простой и удобный в использовании выбор.Имеет тонны зависимостей.
Ссылка в project.clj
:
[org.craigandera/dynne "0.4.1"]
Пример использования:
(require '[dynne.sampled-sound :refer :all])
;; Play an MP3 file
(play (read-sound "bell.mp3"))
;; Play a synthesized sound
(play (sinusoid 1.0 440))
Подробнее: https://github.com/candera/dynne
Overtone
Продвинутая опция, использующая механизм синтеза SuperCollider .Я думаю, это было бы излишним просто для воспроизведения уведомлений, но я привожу это здесь для полноты картины.
Подробнее: https://github.com/overtone/overtone