यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
Text-to-Speech (TTS) और Speech-to-Text (STT) का उपयोग कैसे करें
उद्देश्य। डिवाइस से किसी पाठ को बुलवाना (TTS) और उपयोगकर्ता की वाणी को पाठ में लिप्यंतरित करना (STT)। समर्थन: Android और iOS।
उपयोग की गई APIs
Device.textToVoice(String text)—textको वाणी के रूप में संश्लेषित करके चलाता है। वही स्ट्रिंग अल्पविराम से अलग किए गएchave:valorयुग्मों के माध्यम से इंजन को कॉन्फ़िगर करने के लिए भी काम आती है।locale:por_BRA— भाषा कोड (उदा.:por_BRA,eng_USA_f00)।speech:0.75— गति गुणक (1.0= सामान्य,0.5= धीमा,2.0= तेज़)।languages— logcat में उपलब्ध भाषाओं की सूची देता है (डिबग)।quit— TTS इंजन बंद कर देता है।
Device.voiceToText(VoiceToTextListener listener)— वाणी की पहचान शुरू करता है; परिणाम कॉलबैक के माध्यम से आते हैं।Device.VoiceToTextListener—onStart(),onFinish(),onResult(String text),onError(int code, String msg)।Device.soundToSpeechTimeout(स्थैतिक, ms, डिफ़ॉल्ट5000) — पहचान का टाइमआउट।
हाँ,
textToVoiceकॉन्फ़िगरेशन स्ट्रिंग स्वीकार करता है। पहला कॉलlocale/speechको कॉन्फ़िगर कर सकता है (उदा.:"locale:por_BRA,speech:0.75"); सामान्य पाठ वाले अगले कॉल सामग्री बोलते हैं।voiceToTextके कॉलबैक paint thread के बाहर आते हैं → UI अपडेट करते समयComponent.onUI(...)का उपयोग करें। Android पर पहली बार चलाने में HD भाषा पैकेज इंस्टॉल करने के लिए कहा जा सकता है।
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*; // Window, Component, Button, Label
import dev.crossfly.ui.layout.*; // VerticalLayout
import dev.crossfly.device.*; // Device, Device.VoiceToTextListener
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Label resultado = new Label("");
add(LAY_AUTO, resultado);
Button falar = new Button("Falar (TTS)");
falar.onAction(c ->
{
// TTS — भाषा/गति कॉन्फ़िगर करें और फिर बोलें
Device.textToVoice("locale:por_BRA,speech:0.9"); // कॉन्फ़िगरेशन (वैकल्पिक, पहली बार)
Device.textToVoice("Olá! Bem-vindo ao aplicativo."); // टेक्स्ट बोलता है
resultado.setText("Falando...");
});
add(LAY_AUTO, falar);
Button ouvir = new Button("Transcrever (STT)");
ouvir.onAction(c ->
{
// STT — उपयोगकर्ता के भाषण को ट्रांसक्राइब करें (callbacks paint thread के बाहर)
Device.voiceToText(new Device.VoiceToTextListener()
{
public void onStart() { Component.onUI(() -> resultado.setText("Ouvindo...")); }
public void onFinish() { Component.onUI(() -> resultado.setText("Pronto")); }
public void onResult(String text)
{
Component.onUI(() -> resultado.setText("Reconhecido: " + text));
}
public void onError(int code, String msg)
{
Component.onUI(() -> resultado.setText("Erro: " + msg));
}
});
});
add(LAY_AUTO, ouvir);
}
}
नीचे दिया गया अंश केवल मुख्य भाग दिखाता है। चलाने के लिए, इसे ऊपर दिए गए
MainWindowढांचे में रखें।
न्यूनतम अंश
// स्रोत में सत्यापित: Device.java (textToVoice पंक्ति 387, voiceToText पंक्ति 340, VoiceToTextListener पंक्ति 397)
import dev.crossfly.device.*; // Device, Device.VoiceToTextListener
import dev.crossfly.ui.*; // Component (onUI)
// 1) TTS — भाषा/गति कॉन्फ़िगर करें और फिर बोलें
Device.textToVoice("locale:por_BRA,speech:0.9"); // कॉन्फ़िगरेशन (वैकल्पिक, पहली बार)
Device.textToVoice("Olá! Bem-vindo ao aplicativo."); // टेक्स्ट बोलता है
// 2) STT — उपयोगकर्ता के भाषण को ट्रांसक्राइब करें (callbacks paint thread के बाहर)
Device.voiceToText(new Device.VoiceToTextListener() {
public void onStart() { Component.onUI(() -> mostrarStatus("Ouvindo...")); }
public void onFinish() { Component.onUI(() -> mostrarStatus("Pronto")); }
public void onResult(String text) {
Component.onUI(() -> preencherCampo(text)); // पहचाना गया टेक्स्ट
}
public void onError(int code, String msg) {
Component.onUI(() -> mostrarErro(msg));
}
});
और गहराई से जानें
- ध्वनि और विविध गाइड: ध्वनि और विविध
- संबंधित रेसिपी: vibrar-beep-clipboard.md
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!