ỨNG DỤNG LARAVEL TRONG GOOGLE CLOUD PLATFORM (GCP) – PHẦN 2
VI. Triển khai Speech To Text API
Bạn có thể tham khảo trang tài liệu API tại đây.
Cài đặt thư viện client:
composer require google/cloud-speech
Bây giờ bạn có thể sử dụng Speech-to-Text để chuyển một tập tin âm thanh thành văn bản.
Chúng tôi sẽ tạo một controller để xử lý 3 điều:
- Nhận file âm thanh được tải lên từ request
- Chuyển đổi tập tin âm thanh sang FLAC với thư viện FFMpeg
- Sử dụng đoạn code dưới để hiển thị văn bản nhận được từ API Speech-to-Text
Trong SpeechToTextController:
- Chuyển đổi tập tin âm thanh nhận được sang FLAC từ yêu cầu
Tại sao chuyển đổi sang FLAC là cần thiết?
– Khi sửa dụng API Speech-to-Text thì cấu hình là yêu cầu bắt buộc (lớp RecognitionConfig).
– AudioEncoding là trường quan trọng, khuyên bạn nên xài format FLAC hay LINEAR16 để có 1 kết quả tốt nhất.
Hiển thị văn bản nhận được
Tôi tạo một bản mẫu chỉ có 1 input-file có tên “Choose File“, một nút gửi có tên “Transcribe” và select-box để chọn ngôn ngữ với mặc định “English(US)“
Chúng tôi sẽ chọn một tập tin âm thanh tiếng Nhật.
Và đây là kết quả:
Tuyệt! Nó hoạt động!
VII. Triển khai Text To Speech API
Bạn có thể tham khảo trang tài liệu API tại đây.
Cài đặt thư viện client:
composer require google/cloud-text-to-speech
Bây giờ bạn có thể sử dụng Text-to-Speech để tạo một file âm thanh của con người.
Chúng tôi sẽ tạo một controller để xử lý 2 điều:
- Nhận file văn bản được tải lên từ yêu cầu
- Sử dụng mã dưới đây để tải xuống file âm thanh nhận được từ API chuyển văn bản thành giọng nói
Trong TextToSpeechController:
- Chuẩn bị mọi thứ trước khi chuyển đổi
Trong hình trên, tôi có thể đặt một số cấu hình cho file âm thanh trước khi chuyển đổi, chẳng hạn như ngôn ngữ, giọng nói, giới tính, tốc độ … - Tải xuống file âm thanh sau khi chuyển đổi
Các tập tin âm thanh sẽ được nhận dưới dạng MP3.
Sau đó, tôi đã tạo bản mẫu cho chức năng Text-to-speech. Nhưng lần này, bản mẫu sẽ chi tiết hơn.
Chúng tôi sẽ chọn một tập tin văn bản tiếng Nhật. Và chọn các lựa chọn trên màn hình.
Và đây là kết quả:
Tuyệt vời!!!
Link tham khảo: