Я хотів би перетворити текстовий файл у 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 для перетворення у потрібний формат.