Synthèse vocale sons et reconnaissance

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 

xxx

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

sound

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

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/

http://stackoverflow.com/questions/6316937/how-can-i-use-speech-recognition-without-the-annoying-dialog-in-android-phones

 

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Articles récents
Commentaires récents
fatima dans Bienvenue !
AdminDroid dans Bienvenue !
fatima dans Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :