Как воспроизвести звук любой формы волны на языке джулии?

У меня есть синусоида с длиной 5 секунд, как показано ниже:

x=sin(0:.01:2*pi*500*5);

Теперь я хотел бы услышать звук этой формы волны, дав команду, подобную приведенной ниже:

playsound(x,samplingfrequency);

Для меня будет полезно, если я смогу записать эти аудиоданные в файл wav или mp3. Какая библиотека нужна и эквивалентная команда в julia для этой функциональности?

3 ответа

Решение

Вы можете воспроизводить аудио с помощью https://github.com/ssfrr/AudioIO.jl

А для записи / чтения wav https://github.com/JuliaLang/Sound.jl/blob/master/src/Sound.jl

Однако в настоящее время оба модуля находятся на ранней стадии.

Вы можете использовать WAV.jl для кодирования данных в файл WAV. Вы можете установить пакет через систему пакетов Julia:

Pkg.add("WAV")

Затем используйте wavwrite Функция для создания файла:

wavwrite(data, "example.wav", Fs=8000)

В хранилище исходного кода WAV есть функция ( wavplay) для воспроизведения звука, но она работает только в Linux. Я жду, когда кто-нибудь предоставит версии для Windows и Mac, прежде чем я включу его в официальную версию.

Я немного опоздал здесь, но я также нашел эту страницу, которая также может быть полезна. Он документирует ряд библиотек для работы с аппаратным обеспечением в Julia и содержит удивительно длинный список аудио / видео материалов.

Другие вопросы по тегам