Tôi muốn chuyển đổi một tệp văn bản thành một tệp mp3 bằng cách sử dụng đặc biệt. có khả năng làm cái này không? Tôi đang cố gắng sử dụng đặc biệt để tạo tập lệnh shell tổng hợp bài hát có thể chuyển đổi văn bản thành bài hát.
Tôi muốn chuyển đổi một tệp văn bản thành một tệp mp3 bằng cách sử dụng đặc biệt. có khả năng làm cái này không? Tôi đang cố gắng sử dụng đặc biệt để tạo tập lệnh shell tổng hợp bài hát có thể chuyển đổi văn bản thành bài hát.
Câu trả lời:
Có hai cách để làm điều này; nếu bạn chỉ muốn một wav
tệp, xem ví dụ đầu tiên và để mp3
chuyển đổi, hãy xem thứ hai.
1) Cung cấp espeak
tệp văn bản của bạn bằng -f
tùy chọn, sau đó sử dụng --stdout
tùy chọn và chuyển hướng luồng dữ liệu của tệp sang tệp để tạo wav
tệp hợp lệ phát chính xác trong bất kỳ trình phát âm thanh nào.
espeak -f mytext --stdout > myaudio
Kết quả được kiểm tra bằng file
lệnh ( file myaudio
):
myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
2) Nếu bạn muốn chuyển đổi mp3, bạn sẽ phải sử dụng chương trình để chuyển đổi tệp của mình (hoặc chỉ cần lưu nó vào audacity
và xuất dưới dạng mp3). Tôi đã sử dụng ffmpeg
(phiên bản git), nhưng bạn có thể sử dụng bất kỳ chương trình nào và chỉ cần thay đổi các tùy chọn:
espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3
Kết quả được kiểm tra với 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
Tôi thực sự đã viết một kịch bản đạt được điều này ... và nó đã hoạt động khá tốt.
https://github.com/divVerent/ecantorix
Ví dụ: https://github.com/doads/divVerent/ecantorix/sarastro.ogg
Các --stdout
tùy chọn để eSpeak sẽ cho nó để viết dữ liệu âm thanh để thiết bị xuất chuẩn thay vì đặt nó thông qua các thiết bị âm thanh. Từ đó bạn có thể chuyển nó thành ví dụ ffmpeg để chuyển đổi sang định dạng phù hợp.