Wygeneruj plik mp3 z espeak

10

Chciałbym przekonwertować plik tekstowy na plik mp3 za pomocą espeak. Czy można to zrobić? Próbuję użyć espeak, aby utworzyć skrypt powłoki syntezy utworów, który może konwertować tekst na utwór.

Anderson Green
źródło
1
Myślę, że ta strona wyjaśnia, jak generować pliki mp3 (przynajmniej częściowo): npmjs.org/package/espeak
Anderson Green
A oto wyjaśnienie, jak to zrobić za pomocą skryptu powłoki: eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green
Możliwe jest także zmienianie wysokości tonu za pomocą programu o nazwie Rubberband.
Anderson Green

Odpowiedzi:

16

Można to zrobić na dwa sposoby; jeśli chcesz tylko wavplik, zobacz pierwszy przykład, a mp3konwersję - drugi.

1) Podaj espeakplik tekstowy za pomocą -fopcji, a następnie użyj --stdoutopcji i przekieruj strumień danych do pliku, aby utworzyć prawidłowy wavplik, który będzie odtwarzany poprawnie w dowolnym odtwarzaczu audio.

espeak -f mytext --stdout > myaudio

Wynik sprawdzany za pomocą filepolecenia ( file myaudio):

myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz

2) Jeśli chcesz przekonwertować plik mp3, będziesz musiał użyć programu do konwersji pliku (lub po prostu zapisz go audacityi wyeksportuj jako plik mp3). Użyłem ffmpeg(wersja git), ale możesz użyć dowolnego programu i po prostu zmienić opcje:

espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3

Wynik sprawdzony za pomocą 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
mivk
źródło
3

espeak ma teraz opcję -w, która wypisuje na wav
(nadal będzie musiał zostać przekonwertowany na mp3).

espeak -f foo.txt -w foo.wav
SamGoody
źródło
2

--stdoutOpcja eSpeak pokaże go do zapisu danych audio do stdout zamiast wprowadzenie go przez urządzenie audio. Stamtąd możesz potokować go np. Do ffmpeg w celu konwersji do odpowiedniego formatu.

Ignacio Vazquez-Abrams
źródło
Czy możesz pokazać jakieś przykłady, które znalazłeś?
Anderson Green
1
Nie znalazłem żadnego; Po prostu rozumiem, jak działają programy.
Ignacio Vazquez-Abrams,
To pytanie może być również istotne: stackoverflow.com/questions/2762164/how-to-make-computer-sing
Anderson Green