สร้างไฟล์ 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

นอกจากนี้ยังเป็นไปได้ที่จะทำการเปลี่ยนระดับเสียงโดยใช้โปรแกรมที่เรียกว่า rubberband
Anderson Green

คำตอบ:


16

มีสองวิธีในการทำสิ่งนี้; หากคุณต้องการ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
ฉันไม่สามารถบอกได้ว่าเป็นสิ่งที่ดีที่สุดหรือน่าขยะแขยงที่สุดที่ฉันเคยได้ยินในวันนี้ การทำงานที่ดี.
Oli

1
นี่ไม่ใช่การตอบคำถามโดยตรง แต่มันบ้ามากที่สมควรได้รับการโหวต!
mivk

3

espeak ตอนนี้มีตัวเลือก -w ซึ่งส่งออกไป wav
(มันจะยังคงต้องถูกแปลงเป็น mp3 หลังจากนั้น)

espeak -f foo.txt -w foo.wav

2

--stdoutตัวเลือกในการ eSpeak จะบอกให้เขียนข้อมูลเสียงเพื่อ stdout แทนการใส่มันผ่านอุปกรณ์เสียง จากนั้นคุณสามารถไพพ์ลงในเช่น ffmpeg สำหรับการแปลงเป็นรูปแบบที่เหมาะสม


คุณสามารถแสดงตัวอย่างของสิ่งที่คุณพบนี้ได้ไหม
Anderson Green

1
ฉันไม่พบอะไรเลย ฉันเพิ่งเข้าใจว่าโปรแกรมทำงานอย่างไร
Ignacio Vazquez-Abrams

คำถามนี้อาจเกี่ยวข้องเช่นกัน: stackoverflow.com/questions/2762164/how-to-make-computer-sing
Anderson Green
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.