Я хотів би перетворити текстовий файл у mp3-файл за допомогою espeak. Чи можна це зробити? Я намагаюся використовувати espeak для створення сценарію оболонки синтезу пісні, який може перетворити текст у пісню.
Я хотів би перетворити текстовий файл у mp3-файл за допомогою espeak. Чи можна це зробити? Я намагаюся використовувати espeak для створення сценарію оболонки синтезу пісні, який може перетворити текст у пісню.
Відповіді:
Є два способи зробити це; якщо ви просто хочете wavфайл, перегляньте перший приклад, а для mp3перетворення - другий.
1) Введіть espeakтекстовий файл за допомогою -fопції, потім скористайтеся --stdoutопцією та перенаправляйте його потік даних на файл, щоб створити дійсний wavфайл, який грає правильно у будь-якому аудіоплеєрі.
espeak -f mytext --stdout > myaudio
Результат перевіряється fileкомандою ( file myaudio):
myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
2) Якщо ви хочете конвертувати mp3, вам доведеться скористатися програмою для перетворення файлу (або просто зберегти його audacityта експортувати у формат mp3). Я використовував ffmpeg(версію git), але ви можете використовувати будь-яку програму і просто змінити параметри:
espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3
Результат перевіряється за допомогою file final.mp3:
final.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo
Я фактично написав сценарій досягнення цього ... і він закінчився досить добре.
https://github.com/divVerent/ecantorix
Приклад: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg
--stdoutВаріант озвучення буде сказати йому , щоб записати аудіо дані на стандартний висновок замість того , щоб його через звуковий пристрій. Звідти ви можете передати його, наприклад, ffmpeg для перетворення у потрібний формат.