Eu gostaria de converter um arquivo de texto em um arquivo mp3 usando o espeak. É possível fazer isso? Estou tentando usar o espeak para criar um script de shell de síntese de música que possa converter texto em uma música.
text
text-to-speech
Anderson Green
fonte
fonte
Respostas:
Existem duas maneiras de fazer isso; se você quiser apenas um
wav
arquivo, veja o primeiro exemplo e, para umamp3
conversão, veja o segundo.1) Alimente
espeak
seu arquivo de texto usando a-f
opção, use a--stdout
opção e redirecione seu fluxo de dados para arquivo para criar umwav
arquivo válido que seja reproduzido corretamente em qualquer reprodutor de áudio.Resultado verificado com o
file
comando (file myaudio
):2) Se você quiser uma conversão de mp3, precisará usar um programa para converter seu arquivo (ou simplesmente salvá-lo
audacity
e exportá-lo como mp3). Eu useiffmpeg
(a versão git), mas você pode usar qualquer programa e apenas alterar as opções:Resultado verificado com
file final.mp3
:fonte
Na verdade, eu escrevi um script para conseguir isso ... e acabou funcionando muito bem.
https://github.com/divVerent/ecantorix
Exemplo: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg
fonte
O espeak agora possui uma opção -w que gera para wav
(ainda precisaria ser convertido para mp3 posteriormente).
fonte
A
--stdout
opção de falar diz para gravar os dados de áudio no stdout, em vez de colocá-los no dispositivo de áudio. A partir daí, você pode canalizá-lo para, por exemplo, ffmpeg para conversão para o formato correto.fonte