Existem duas maneiras de fazer isso; Se você quiser apenas um arquivo wav
, consulte o primeiro exemplo e, para uma conversão mp3
, consulte o segundo.
1) Alimente espeak
do seu arquivo de texto usando a opção -f
, use a opção --stdout
e redirecione seu fluxo de dados para o arquivo para criar um arquivo wav
válido que seja reproduzido corretamente em qualquer reprodutor de áudio.
espeak -f mytext --stdout > myaudio
Resultado verificado com o comando file
( file myaudio
):
myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
2) Se você quiser uma conversão de mp3 você terá que usar um programa para converter seu arquivo (ou simplesmente salvá-lo em audacity
e exportá-lo como mp3). Eu usei ffmpeg
(a versão do git), mas você pode usar qualquer programa e apenas alterar as opções:
espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3
Resultado verificado com 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