Створення mp3-файлу з espeak


10

Я хотів би перетворити текстовий файл у mp3-файл за допомогою espeak. Чи можна це зробити? Я намагаюся використовувати espeak для створення сценарію оболонки синтезу пісні, який може перетворити текст у пісню.


1
Я думаю, що ця сторінка пояснює, як генерувати mp3-файли (принаймні частково): npmjs.org/package/espeak
Anderson Green

А ось пояснення, як це зробити за допомогою сценарію оболонки: eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green

Крім того, можна зробити зміщення нахилу за допомогою програми, званої gumband.
Андерсон Грін

Відповіді:


15

Є два способи зробити це; якщо ви просто хочете 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

6

Я фактично написав сценарій досягнення цього ... і він закінчився досить добре.

https://github.com/divVerent/ecantorix

Приклад: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg


1
Я не можу сказати, чи це найкраще чи найстрашніше, що я чув сьогодні. Гарна робота.
Олі

1
Це не пряма відповідь на запитання, але воно настільки шалене, що все-таки заслуговує на викуп!
mivk

3

espeak тепер має опцію -w, яка виводить на wav
(її все одно потрібно буде перетворити в mp3 згодом.)

espeak -f foo.txt -w foo.wav

2

--stdoutВаріант озвучення буде сказати йому , щоб записати аудіо дані на стандартний висновок замість того , щоб його через звуковий пристрій. Звідти ви можете передати його, наприклад, ffmpeg для перетворення у потрібний формат.


Чи можете ви показати будь-які приклади цього, які ви знайшли?
Андерсон Грін

1
Я не знайшов жодного; Я просто розумію, як працюють програми.
Ігнасіо Васкес-Абрамс

Можливо, це питання також актуальне: stackoverflow.com/questions/2762164/how-to-make-computer-sing
Anderson Green
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.