- Nguồn âm thanh:
- File âm thanh (có giọng nói rõ ràng, không nhiễu).
- Độ dài: Tối thiểu 30-60 phút (càng dài càng tốt).
- Định dạng:
.wav
với tần số mẫu 16kHz hoặc 22.05kHz.
- Transcript:
- Nội dung văn bản tương ứng với file âm thanh.
- Lưu dưới dạng
.txt
hoặc.csv
.
/dataset/
- audio1.wav
- audio1.txt
- audio2.wav
- audio2.txt
- metadata.csv # File tổng hợp thông tin
audio1.wav|Xin chào, đây là giọng nói tùy chỉnh.
audio2.wav|Đây là ví dụ thứ hai.
Coqui TTS là mã nguồn mở, dễ sử dụng.
pip install TTS
{
"output_path": "output/",
"audio": {
"sample_rate": 22050
},
"dataset": {
"path": "dataset/",
"meta_file": "metadata.csv"
},
"model": {
"type": "tacotron2"
}
}
tts --train_config_file config.json
from TTS.api import TTS
# Load mô hình
tts = TTS(model_path="output/best_model.pth")
# Tạo giọng nói từ văn bản
tts.tts_to_file("Xin chào, đây là giọng nói mới của bạn.", "custom_voice.wav")
Mozilla TTS cung cấp công cụ tương tự với các bước như sau:
git clone https://github.com/mozilla/TTS.git
cd TTS
pip install -r requirements.txt
python TTS/bin/train.py --config_path /path/to/config.json
python TTS/bin/synthesize.py --text "Xin chào thế giới!" --model_path path/to/model.pth
- Dùng Google Cloud TTS để tạo giọng nói tùy chỉnh.
- Upload dữ liệu âm thanh và transcript lên Google Cloud.
- Sử dụng
Custom Neural Voice
trong Azure để tạo giọng nói. - Quá trình tương tự như Google Cloud.
from TTS.api import TTS
# Load mô hình
tts = TTS(model_path="output/best_model.pth")
# Tạo giọng nói
tts.tts_to_file("Xin chào, đây là nội dung của bạn.", "output.wav")
from gtts import gTTS
# Văn bản cần chuyển
text = "Xin chào, đây là nội dung của bạn."
# Tạo giọng nói
tts = gTTS(text, lang='vi')
tts.save("output.mp3")
import whisper
from TTS.api import TTS
from gtts import gTTS
import openai
# 1. Chuyển đổi âm thanh sang văn bản bằng Whisper
model = whisper.load_model("base")
result = model.transcribe("your_audio_file.wav")
text_from_audio = result['text']
print("Text from audio:", text_from_audio)
# 2. Sử dụng GPT để tạo văn bản mới (tùy chọn)
openai.api_key = "your_openai_api_key"
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Hãy tạo một đoạn văn bản để đọc thành giọng nói bằng tiếng Việt.",
max_tokens=100
)
generated_text = response.choices[0].text.strip()
print("Generated text:", generated_text)
# 3. Chuyển văn bản thành giọng nói bằng Coqui TTS
tts = TTS(model_name="tts_models/en/ljspeech/tacotron2-DCA", progress_bar=False)
tts.tts_to_file(text=generated_text, file_path="final_output_voice.wav")
print("Giọng nói từ GPT được lưu tại: final_output_voice.wav")
# 4. Chuyển văn bản thành giọng nói bằng gTTS (tùy chọn)
tts_gtts = gTTS(generated_text, lang='vi')
tts_gtts.save("final_output_gtts.mp3")
print("Giọng nói từ gTTS được lưu tại: final_output_gtts.mp3")
- Bạn có thể sử dụng các framework mã nguồn mở như Coqui TTS hoặc Mozilla TTS để tạo giọng nói mới.
- Dữ liệu huấn luyện chất lượng cao là yếu tố quan trọng để đạt được kết quả tốt.
- Nếu cần tích hợp nhanh, bạn có thể sử dụng các dịch vụ TTS thương mại như Google Cloud hoặc Microsoft Azure.