2012-04-17 32 views
5

Tôi hiện đang thực hiện một dự án cho trường học, nơi tôi sẽ thực hiện một chương trình dạy trẻ em cách đọc. Ý tưởng cơ bản của tôi cho chương trình là tạo ra câu và sau đó nhận được Windows Anna để nói nó. Câu hỏi của tôi đối với bạn là, làm sao tôi có thể truy cập Winodws Anna thông qua Java? và có cách nào tốt hơn để làm điều này?Ngữ âm Java hoặc phát âm ngôn ngữ

Cảm ơn

+0

Bạn có ý nói điều này bằng java api cho âm thanh: http://java.sun.com/products/java-media/speech/index.jsp? – Weeman

+0

Thực ra [có một giải pháp] [1] để gọi cho bộ tổng hợp Windows đã có sẵn. [1]: http://stackoverflow.com/questions/1040655/ms-speech-from-command-line – npe

+0

tôi có một câu hỏi: là chương trình này cho phép truy cập internet? – Xyene

Trả lời

3

Nếu có internet truy cập chương trình là chấp nhận được thì bạn có thể sử dụng iSpeech.

Bạn có thể sử dụng API của họ, nhưng vấn đề với điều đó là giới hạn 200 lần sử dụng/ngày.

iSpeech đã âm thanh rõ ràng, thường được đánh bóng hơn các động cơ TTS khác mà tôi đã mệt mỏi như espeak hoặc FreeTTS, bởi vì nó thực sự phát âm các từ trôi chảy hơn. Chắc chắn, nó có thể phát âm 'Gió', liên quan đến không khí, như 'Gió', liên quan đến xoắn, nhưng ngoài ra, nó nói khá tốt.

Ngoài ra, mặc dù tôi chưa từng có kinh nghiệm về điều này, tôi đã tìm thấy bài viết cho bạn biết cách truy cập MS Speech bằng dòng lệnh (có thể được chỉ huy thông qua Java [nếu bạn không biết làm cách nào, đây là một tốt article]). Nó nằm ở here. Trong dòng lệnh, tất cả các bạn cần làm là gõ vào 'SayDynamic.exe * văn bản mà bạn muốn nói chuyện".

* Hoặc SayStatic, việc tải xuống khác có sẵn trên trang.

Phương pháp này có vẻ là tốt hơn trong Tôi đoán điều lý tưởng cho chương trình của bạn là sử dụng iSpeech khi trực tuyến và sử dụng Say * .exe khi ngoại tuyến.

Trang web cũng cung cấp mã nguồn của chương trình Như bạn có thể nhận thấy, đó KHÔNG phải là giọng nói của Microsoft Anna, nhưng bạn có thể chỉ định điều đó trong nguồn và biên dịch lại mã nguồn đó

Hy vọng tôi đã giúp!

+0

Có, chương trình này có thể truy cập internet. –

+0

OK. Câu trả lời của tôi có giúp ích không? – Xyene

+0

Xin chào, tôi không thể mở cho bạn liên kết nơi nó hiển thị cách sử dụng bài phát biểu MS. –

1

Bạn có thể sử dụng dòng lệnh utiity NirCmd sử dụng text-to-speech API được cài đặt trên Windows.

Vì vậy, hãy cung cấp tiện ích này cùng với ứng dụng java của bạn và chạy nó với dòng lệnh thích hợp.

+0

Chương trình này không nói toàn bộ văn bản. Bạn có một sự thay thế cho điều này? –

0

Bạn có thể thử FreeTTS: bộ tổng hợp giọng nói được viết bằng java.

Bạn có thể thử gọi Microsoft Speech API (SAPI) nhưng tôi không biết cách thực hiện trong java.

Bạn có thể cho chúng tôi biết cách bạn gọi NirCmd không? Altenatively để NirCmd, bạn có thể xây dựng công cụ của riêng bạn trong C# sẽ đọc văn bản. Văn bản có thể nằm trong một txt và công cụ của bạn được gọi với đường dẫn tới đối số txt đó. Bạn có thể dễ dàng thích nghi với một dự án trình diễn như thế này: http://www.codeproject.com/Articles/19334/Text-to-Speech-using-Windows-SAPI

+0

Xin lỗi vì phản hồi bị trì hoãn nhưng tôi đã gọi NirCmd bằng Runtime.exec(), có phương pháp thay thế nào không? –

+0

Tôi đang nói về các đối số. Hãy thử với "nói chuyện tập tin" args. – Guillaume

Các vấn đề liên quan