Text till Tal i Java Tutorial
Innehållsförteckning
- Introduktion
- Hur man använder Texas Beach i Java
- Installation av Free TTS JS API
- Extrahera och placera filer
- Körning av JSAPI-fil
- Konfigurering av projektet i Eclipse
- Skapa ett nytt Eclipse-projekt
- Lägga till jar-filer i projektet
- Starta programmets kodning
- Använda Scanner-klassen för att skanna användartexten
- Sätta egenskap för "The Voice" -katalogen
- Registrera talmotorn
- Skapa en synthesizer för att tala texten
- Allokera synthesizern
- Tala texten
- Avsluta programmet
👩💻 Hur man använder Texas Beach i Java
Java är ett populärt programmeringsspråk som erbjuder ett brett utbud av användbara verktyg och bibliotek. En av dessa är Texas Beach, en text-till-tal-motor som låter dig konvertera skriven text till talfil. I den här artikeln kommer vi att utforska hur du kan använda Texas Beach i Java för att skapa en text-till-tal-applikation.
1. Introduktion
Text-till-tal-teknik har blivit alltmer populär de senaste åren, och används i många olika applikationer, till exempel assistenter, navigeringssystem och e-böcker. Med hjälp av Texas Beach kan vi enkelt integrera denna funktion i våra Java-program.
2. Installation av Free TTS JS API
För att använda Texas Beach i Java måste vi först installera Free TTS JS API, som är en fri text-till-tal-bibliotek. För att göra detta kan vi följa dessa steg:
- Öppna din webbläsare.
- Gå till sourceforge.net och navigera till projektet "Free TTS".
- Klicka på nedladdningsknappen för att ladda ner zip-filen.
- Extrahera filen och hitta mappen "Free TTS 1.2.2".
3. Extrahera och placera filer
När zip-filen har extraherats måste vi placera de nödvändiga filerna på rätt plats. Gör följande:
- Öppna mappen "Free TTS 1.2.2".
- Öppna mappen "Free TTS 1.2".
- Öppna mappen "lib".
- I denna mapp hittar vi de filer som vi kommer att använda för att använda Texas Beach.
För att använda "speech.properties" -filen måste vi kopiera den till vår hemmakatalog. Kopiera och klistra in denna fil i din hemmakatalog.
4. Körning av JSAPI-fil
Beroende på vilket operativsystem du använder kan stegen för att köra JSAPI-filen skilja sig åt.
För Windows-användare:
- Öppna mappen "Free TTS 1.2.2" igen.
- Starta "jsapi.exe" -filen.
För Mac-användare:
- Öppna Terminal.
- Navigera till mappen genom att använda kommandot "cd" (t.ex. cd Downloads/Free TTS 1.2.2/Free TTS 1.2/lib).
- Kör "jsapi.sh" -filen genom att skriva "sh jsapi.sh" och trycka på Enter.
Du kommer att bli ombedd att acceptera en licens. Fortsätt igenom licensen och tryck på "y" för att acceptera den. Efter det kommer filen att extraheras och vi kommer att ha en ny fil, "JsAPI.java", i mappen.
5. Konfigurering av projektet i Eclipse
Nu när vi har installerat och förberett Free TTS JS API, låt oss skapa och konfigurera ett Eclipse-projekt för att använda Texas Beach.
Steg 1: Skapa ett nytt Eclipse-projekt
- Öppna Eclipse.
- Klicka på "File" -menyn och välj "New" -> "Java Project".
- Ge ditt projekt ett lämpligt namn, t.ex. "TextToSpeech".
- Klicka på "Finish".
Steg 2: Lägga till jar-filer i projektet
- Högerklicka på projektet i "Package Explorer".
- Välj "Build Path" -> "Configure Build Path".
- Gå till fliken "Libraries".
- Klicka på "Add External JARs" och välj alla jar-filerna i mappen "lib" från Free TTS.
Nu har vi framgångsrikt konfigurerat vårt projekt för att använda Texas Beach.
6. Skapa ett nytt Java-klass
Nu när projektet är konfigurerat, låt oss skapa en ny Java-klass där vi kan skriva vår kod för att använda Texas Beach.
- Högerklicka på projektet i "Package Explorer".
- Välj "New" -> "Class".
- Ge klassen ett beskrivande namn, t.ex. "TextToSpeech".
- Klicka på "Finish".
7. Scanner för att skanna användartexten
Först måste vi importera Scanner-klassen för att kunna skanna användarens textinmatning. Lägg till följande kod i början av din klass:
import java.util.Scanner;
public class TextToSpeech {
// Resten av koden kommer här
}
Nu har vi importScanner-klassen och är redo att använda den för att skanna användartexten.
8. Sätta egenskap för "The Voice" -katalogen
Innan vi skapar resten av kodet måste vi sätta egenskapen för "The Voice" -katalogen. Detta görs med hjälp av System.setProperty()
-metoden. Lägg till följande kod ovanför main-metoden:
System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory");
Detta kommer att ställa in "The Voice" -katalogen för Texas Beach till den korrekta platsen.
9. Registrera talmotorn
För att använda Texas Beach måste vi först registrera talmotorn. Detta görs med hjälp av Central.registerEngineClass()
-metoden. Lägg till följande kod ovanför main-metoden:
try {
Central.registerEngine("com.sun.speech.freetts.jsapi.FreeTTSEngineCentral");
} catch (EngineException e) {
e.printStackTrace();
}
Detta kommer att registrera talmotorn och hantera eventuella undantag som kan uppstå.
10. Skapa en synthesizer för att tala texten
Nu är det dags att skapa en synthesizer för att tala texten. Vi ska använda metoden Central.createSynthesizer()
för att göra detta. Lägg till följande kod ovanför main-metoden:
Synthesizer synthesizer = null;
try {
synthesizer = Central.createSynthesizer(new SynthesizerModeDesc(Locale.US));
} catch (Exception e) {
e.printStackTrace();
}
Detta skapar en ny synthesizer med rätt inställningar för det engelska språket.
11. Allokera synthesizern
Innan vi kan använda synthesizern måste vi allokera den. Använd synthesizer.allocate()
-metoden för att göra detta. Lägg till följande kod ovanför main-metoden:
synthesizer.allocate();
Detta allokerar synthesizern och förbereder den för att tala.
12. Tala texten
Nu är det äntligen dags att få vår synthesizer att tala texten. Vi ska använda metoden synthesizer.speakPlainText()
för att göra detta. Lägg till följande kod inne i main-metoden:
synthesizer.speakPlainText(text, null);
Detta talar den valda texten med hjälp av synthesizern.
13. Avsluta programmet
Efter att vi har kört synthesizer.speakPlainText()
-metoden måste vi vänta tills kön är tom innan vi avslutar programmet. Använd synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY)
för att göra detta. Lägg till följande kod inne i main-metoden:
synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);
Detta kommer att vänta tills kön är tom innan programmet avslutas.
14. Körning av programmet
Nu är programmet klart att köras. För att testa det, ange en textinmatning när du blir ombedd. Programmet ska då tala texten med hjälp av Texas Beach.
public static void main(String[] args) {
System.out.println("Enter text: ");
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory");
try {
Central.registerEngine("com.sun.speech.freetts.jsapi.FreeTTSEngineCentral");
} catch (EngineException e) {
e.printStackTrace();
}
Synthesizer synthesizer = null;
try {
synthesizer = Central.createSynthesizer(new SynthesizerModeDesc(Locale.US));
} catch (Exception e) {
e.printStackTrace();
}
if (synthesizer != null) {
synthesizer.allocate();
synthesizer.resume();
synthesizer.speakPlainText(text, null);
synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);
synthesizer.deallocate();
}
}
Det är så enkelt att använda Texas Beach i Java! Nu kan du lägga till text-till-tal-funktioner i dina Java-program för att göra dem ännu mer interaktiva och användarvänliga.
Sammanfattning
I den här artikeln har vi utforskat hur man använder Texas Beach i Java för att skapa en text-till-tal-applikation. Vi gick igenom stegen för att installera Free TTS JS API, extrahera och placera filer, köra JSAPI-fil och konfigurera projektet i Eclipse. Sedan skrev vi koden för att använda Texas Beach och testade programmet genom att ange en textinmatning och lyssna på resultatet.
Att kunna konvertera skriven text till tal kan vara en kraftfull funktion att inkludera i dina Java-program. Det öppnar upp möjligheter för ökad tillgänglighet och interaktivitet. Med hjälp av Texas Beach och de steg som diskuterades i den här artikeln kan du lätt integrera denna funktion i dina egna projekt.
Om du vill lära dig mer om användningen av Texas Beach och utforska ytterligare funktioner och möjligheter, rekommenderar jag att du utforskar dokumentationen och exempelprojekten som finns tillgängliga online.
Lycka till med ditt text-till-tal-programmering och låt din fantasi sätta gränserna för vad du kan göra med detta kraftfulla verktyg!