Перейти к основному содержанию

Создать WAV файл из текста в Ubuntu

Linux

Понадобилось мне как-то создать WAV файл из текстового файла в Ubuntu. Это было нужно для проигрывания сообщения в Asterisk для абонента. Сразу скажу, всё то же самое прекрасно работает в WSL 2 под Windows:

Windows Subsystem for Linux 2

Я работаю в Windows, в качестве дистрибутива у меня подсистема Ubuntu. Работаю под рутом.

Для преобразования текста в аудиофайл нам понадобится пакет festival, для поддержки русского языка дополнительно установим festvox-ru:

apt-get install festival festvox-ru

linux

Создаю текстовый файл C:\wav\test.txt с текстом, который нужно преобразовать в WAV.

linux

Содержимое файла test.txt:

linux

В подсистеме Linux он в /mnt/c/wav/test.txt.

linux

Выполняем:

cat /mnt/c/wav/test.txt | /usr/bin/text2wave -f 8000 -eval '(voice_msu_ru_nsh_clunits)' > /mnt/c/wav/test.wav

Немного о параметрах:

  • -eval '(voice_msu_ru_nsh_clunits)'
    Принудительно включаем поддержку русского языка из пакета festvox-ru.
  • -f 8000
    Выходная частота. Для asterisk следует устанавливать именно 8000.

Получаем нужный нам файл test.wav:

linux

    Теги

     

    Похожие материалы

    Windows Terminal — больше чем терминал

    Windows Terminal — новое терминальное приложение в Windows 10 для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и и WSL. В одной вкладке может отображаться несколько панелей.