Преобразование текста в речь в Java
Java Speech API: Java Speech API позволяет Java-приложениям включать речевую технологию в свои пользовательские интерфейсы. Он определяет кроссплатформенный API для поддержки распознавателей команд и управления, систем диктовки и синтезаторов речи.
Java Speech поддерживает синтез речи, что означает процесс создания разговорного языка машиной на основе письменного ввода.
Важно помнить, что Java Speech - это только спецификация, т.е. реализация не включена. Таким образом, реализации предоставляют сторонние компании. Пакет javax.speech определяет общие функции распознавателей, синтезаторов и других речевых механизмов. Пакет javax.speech.synthesis расширяет эту базовую функциональность для синтезаторов.
Мы поймем, что требуется Java API для преобразования текста в речь
- Движок: интерфейс Движка доступен внутри речевого пакета. «Движок речи» - это общий термин для системы, предназначенной для работы с речевым вводом или выводом речи.
import javax.speech.Engine;
- Central: Central предоставляет возможность находить, выбирать и создавать распознаватели речи и синтезаторы речи.
import javax.speech.Central;
- SynthesizerModeDesc: SynthesizerModeDesc расширяет EngineModeDesc свойствами, специфичными для синтезаторов речи.
импорт javax.speech.synthesis.SynthesizerModeDesc;
- Синтезатор: интерфейс синтезатора обеспечивает первичный доступ к возможностям синтеза речи. SynthesizerModeDesc добавляет два свойства: Список голосов, предоставляемых синтезатором. Голос, загружаемый при запуске синтезатора.
импортировать javax.speech.synthesis.Synthesizer;
Ниже представлена реализация Java Speech Synthesis с открытым исходным кодом под названием FreeTTS в виде шагов:
- Загрузите FreeTTS в виде zip-папки отсюда.
- Распакуйте zip-файл и перейдите в
freetts-1.2.2-bin / freetts-1.2 / lib / jsapi.exe
- Откройте файл jsapi.exe и установите его.
- Это создаст файл jar с именем jsapi.jar . Это JAR-библиотека, содержащая библиотеку FreeTTS, которая будет включена в проект.
- Создайте новый проект Java в своей среде IDE.
- Включите этот файл jsapi.jar в свой проект.
- Теперь скопируйте приведенный ниже код в свой проект.
- Выполните проект, чтобы получить ожидаемый результат ниже.
Ниже приведен код вышеуказанного проекта:
// Java code to convert text to speech import java.util.Locale; import javax.speech.Central; import javax.speech.synthesis.Synthesizer; import javax.speech.synthesis.SynthesizerModeDesc; public class TextSpeech { public static void main(String[] args) { try { // Set property as Kevin Dictionary System.setProperty( "freetts.voices" , "com.sun.speech.freetts.en.us" + ".cmu_us_kal.KevinVoiceDirectory" ); // Register Engine Central.registerEngineCentral( "com.sun.speech.freetts" + ".jsapi.FreeTTSEngineCentral" ); // Create a Synthesizer Synthesizer synthesizer = Central.createSynthesizer( new SynthesizerModeDesc(Locale.US)); // Allocate synthesizer synthesizer.allocate(); // Resume Synthesizer synthesizer.resume(); // Speaks the given text // until the queue is empty. synthesizer.speakPlainText( "GeeksforGeeks" , null ); synthesizer.waitEngineState( Synthesizer.QUEUE_EMPTY); // Deallocate the Synthesizer. synthesizer.deallocate(); } catch (Exception e) { e.printStackTrace(); } } } |
Выход:
Рекомендации:
- https://docs.oracle.com/cd/E17802_01/products/products/java-media/speech/forDevelopers/jsapi-doc/javax/speech/package-summary.html
- https://www.javatpoint.com/q/5931/java-code-for-converting-audio-to-text-and-video-to-audio
- http://www.oracle.com/technetwork/java/jsapifaq-135248.html
Статья по теме: Преобразование текста в речь в Python
Эта статья предоставлена Акашем Шараном . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.