2016-07-03 3 views
-1

Ich bin neu bei Android, ich muss ein Projekt zu tun, die ich brauche, um eine App zu erstellen, die verwendet werden kann, um Sprachbefehle zu erhalten. Ich muss die Stimme des Benutzers aufnehmen, speichern Sie es als Audio Datei dann in Text konvertieren oder einfach direkt in Textdatei konvertieren, ohne Audiodatei zu speichern.Umwandlung Stimme in Text auf Android

Dies ist, was ich bisher getan worden,

public class VoiceRecognitionDemo extends Activity{ 

private static final int REQUEST_CODE = 1234; 
private ListView wordsList; 

/** 
* Called with the activity is first created. 
*/ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.voice_recog); 

    Button speakButton = (Button) findViewById(R.id.speakButton); 

    wordsList = (ListView) findViewById(R.id.list); 

    // Disable button if no recognition service is present 
    PackageManager pm = getPackageManager(); 
    List<ResolveInfo> activities = pm.queryIntentActivities(
      new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); 
    if (activities.size() == 0) 
    { 
     speakButton.setEnabled(false); 
     speakButton.setText("Recognizer not present"); 
    } 
} 

/** 
* Handle the action of the button being clicked 
*/ 
public void speakButtonClicked(View v) 
{ 
    startVoiceRecognitionActivity(); 
} 

/** 
* Fire an intent to start the voice recognition activity. 
*/ 
private void startVoiceRecognitionActivity() 
{ 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo..."); 
    startActivityForResult(intent, REQUEST_CODE); 
} 

/** 
* Handle the results from the voice recognition activity. 
*/ 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) 
    { 
     // Populate the wordsList with the String values the recognition engine thought it heard 
     ArrayList<String> matches = data.getStringArrayListExtra(
       RecognizerIntent.EXTRA_RESULTS); 
     wordsList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 
       matches)); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

}

Ich brauche dieses Array zu sortieren, bestimmte Schlüsselwörter zu extrahieren um eine Aktion auszulösen. Wie trigger ich bestimmte Aktion (Ex - einen Anruf auf Phrasen Anruf initiieren, sprechen Sie mit)?

+1

Der Aufbau von Siri oder Google Voice könnte etwas schwierig sein. – ifly6

+0

ich weiß :( aber es ist die Sache, die ich tun muss, nicht so fortgeschritten wie sie.aber sehr einfach ein – Vishwa

+0

Sie können von hier beginnen - Rede zu Text-Tutorial: http://www.androidhive.info/2014/07/android-rede-to-text-tutorial/ – MorZa

Antwort

0

können Sie Voice-to-Text mit Nuance SDK erkennen. Es ist plattformübergreifendes SDK mit mehr als 40 unterstützten Sprachen. Dieses SDK ist nicht kostenlos, aber Sie können Testschlüssel verwenden, der 30 Tage lebt.

Sie können Audiodatei oder Stream zum Nuance-Server synchronisieren. Als Antwort erhalten Sie eine Textzeichenfolge. Dann können Sie Ihre eigene Logik des Erhaltens von Schlüsselwörtern und Befehlen realisieren.

+0

Vielen Dank für Ihre Hilfe Ich überprüfte nuance.but es ein bisschen schwierig für mich.nun kann ich googles eigenen vor bauen thingy auf android verwenden? Bitte helfen Sie, wenn Sie wissen – Vishwa

+0

Hm ... Ich habe nur Nuance sdk, aber nach einigen suche Ich habe zwei interessante Antworten für dein Problem gefunden: [erste] (http://stackoverflow.com/questions/4975443/is-there-a-way-in-use-the-spreechovercer-api-directly-for-speech- Eingabe) und [Sekunde] (http: // stack overflow.com/questions/4559930/speechrecognizer- causes- anr-i- need-help-with-android-speech-api). Ich habe keine Zeit, diesen Code selbst zu testen, aber es sieht einfach aus und ich hoffe, dass Sie auf diese Weise die native Spracherkennung von Google nutzen können. – MatWay

+0

vielen dank für ihre hilfe.Ich werde sie versuchen :) und werde wieder kommen, wenn ich irgendwelche probleme.thanks für alle hilfe – Vishwa