Lire des sons :
Placez les sons dans le répertoire Raw (à créer via New -> Android Ressource File -> Raw)
Puis ajouter la déclaration avant OnCreate() :
private MediaPlayer mp;
Puis à l’endroit voulu :
String sSon="nom_du_fichier_son; Resources res = getResources(); int resID = res.getIdentifier(sSon, "raw", getPackageName()); mp = MediaPlayer.create(getApplicationContext(), resID); mp.start(); mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { mp.release(); }; });
Pour gérer le multilinguisme créez une arborescence de réperoires Raw comme pour les Strings
Traduire du texte en voix :
Utilisez le logiciel Balabolka et téléchargez les traductions des voix sur Windows (https://www.microsoft.com/en-us/download/details.aspx?id=27224)
Puis copiez collez ou ouvrir le fichier à « vocaliser » dans Balabolka
Synthétiser la voix :
A tester INOVA le SDK https://www.ispeech.org/developer/home
https://www.ispeech.org/developers/android
synthesis.setVoiceType(« eurfrenchmale »); // usenglishmale cf. http://www.ispeech.org/api
synthesis.speak(ttsText);
http://www.truiton.com/2014/06/android-speech-recognition-without-dialog-custom-activity/
https://developer.android.com/reference/android/speech/SpeechRecognizer.html
https://github.com/manask88/wiki/wiki/Speech-Recognition-Tutorial—LightBulb-Example
https://www.tutorialspoint.com/android/android_text_to_speech.htm
http://www.apsideblog.fr/2015/01/05/instaurer-la-reconnaissance-vocale-au-sein-de-votre-application/
http://borntocode.fr/android-reconnaissance-vocale-et-synthese-vocale/
http://easy-android.over-blog.com/reconnaissance-vocale
Exemple de synthèse vocale :
public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener {
public TextToSpeech mTTS;
EditText ed1;
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTTS = new TextToSpeech(this, this);
setContentView(R.layout.activity_main);
ed1=(EditText)findViewById(R.id.editText);
b1=(Button)findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String toSpeak = ed1.getText().toString();
Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();
mTTS.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null, null);
}
});
}
@Override
public void onInit(int i) {
mTTS.setLanguage(Locale.FRENCH);
mTTS.speak("Bonjour, dis moi quelque chose !", TextToSpeech.QUEUE_ADD, null, null);
}
}
Le code source est ici
Reconnaissance vocale :
public class MainActivity extends AppCompatActivity {
private TextView voiceInput;
private TextView speakButton;
private final int REQ_CODE_SPEECH_INPUT = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
voiceInput = (TextView) findViewById(R.id.voiceInput);
speakButton = (TextView) findViewById(R.id.btnSpeak);
speakButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
askSpeechInput();
}
});
}
// Showing google speech input dialog
private void askSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
"Hi speak something");
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
}
}
// Receiving speech input
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQ_CODE_SPEECH_INPUT: {
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> result = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
voiceInput.setText(result.get(0));
}
break;
}
}
}
}
Le code est là
https://www.androidtutorialpoint.com/material-design/android-speech-text-tutorial/
https://www.sitepoint.com/using-android-text-to-speech-to-create-a-smart-assistant/
http://www.truiton.com/2014/06/android-speech-recognition-without-dialog-custom-activity/
Votre commentaire