Bir metin dosyasını espeak kullanarak mp3 dosyasına dönüştürmek istiyorum. Bunu yapmak mümkün mü? Bir şarkıya metin dönüştürebilirsiniz bir şarkı sentez kabuk komut dosyası oluşturmak için espeak kullanmaya çalışıyorum.
Bir metin dosyasını espeak kullanarak mp3 dosyasına dönüştürmek istiyorum. Bunu yapmak mümkün mü? Bir şarkıya metin dönüştürebilirsiniz bir şarkı sentez kabuk komut dosyası oluşturmak için espeak kullanmaya çalışıyorum.
Yanıtlar:
Bunu yapmanın iki yolu vardır; sadece bir wav
dosya istiyorsanız , ilk örneğe mp3
bakın ve dönüşüm için ikincisine bakın.
1) Seçeneği espeak
kullanarak metin dosyanızı besleyin -f
, ardından --stdout
seçeneği kullanın ve wav
herhangi bir ses çalarda doğru şekilde çalışan geçerli bir dosya oluşturmak için veri akışını dosyaya yönlendirin .
espeak -f mytext --stdout > myaudio
Sonuç file
( file myaudio
) komutuyla kontrol edildi :
myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
2) Bir mp3 dönüştürme istiyorsanız, dosyanızı dönüştürmek için bir program kullanmanız gerekir (veya sadece kaydedin audacity
ve mp3 olarak dışa aktarın). Ben kullandım ffmpeg
(git versiyonu), ancak herhangi bir programı kullanmak ve sadece seçenekleri değiştirebilirsiniz:
espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3
Sonuç şunlarla kontrol edildi 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
Aslında bunu başarmak için bir senaryo yazdım ... ve oldukça iyi çalıştı.
https://github.com/divVerent/ecantorix
Örnek: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg
--stdout
ESpeak seçeneği yerine sesli cihaz üzerinden koyma stdout'a ses verilerini yazmak için bu söyleyecektir. Buradan, uygun biçime dönüştürmek için örneğin ffmpeg'e bağlayabilirsiniz.