AVAudioPlayer : contatenation de fichiers sons
Paisible.fr
Membre
Bonjour,
Je souhaiterais dans mon application faire prononcer une phrase a un de mes personnages.
Apres avoir fait quelques recherches de base je pense que AVAudioPlayer corresponde a ce que je souhaite faire.
En revanche la phrase n'etant pas toujours la meme je comptais la decouper en plusieurs fichiers son et creer la phrase en employant une combinaison de ces fichiers en les mettant bout a bout (dis autrement en les jouant les uns a la suite des autres).
Par contre j'ai peur que si je joue les fichiers les uns apres les autre se soit trop saccadé. Quelqu'un a un retour d'experience ?
Une autre solution serait de pouvoir concatener en memoire les bons sont pour n'avoir qu'un seul son final a jouer. Mais je n'ai rien trouver lors de mes recherches. Savez-vous si cela est possible et auriez vous des pistes a me proposer ?
Merci d'avance.
Exemple de phrase: J'habite a Nice en France.
Decoupage:
Je souhaiterais dans mon application faire prononcer une phrase a un de mes personnages.
Apres avoir fait quelques recherches de base je pense que AVAudioPlayer corresponde a ce que je souhaite faire.
En revanche la phrase n'etant pas toujours la meme je comptais la decouper en plusieurs fichiers son et creer la phrase en employant une combinaison de ces fichiers en les mettant bout a bout (dis autrement en les jouant les uns a la suite des autres).
Par contre j'ai peur que si je joue les fichiers les uns apres les autre se soit trop saccadé. Quelqu'un a un retour d'experience ?
Une autre solution serait de pouvoir concatener en memoire les bons sont pour n'avoir qu'un seul son final a jouer. Mais je n'ai rien trouver lors de mes recherches. Savez-vous si cela est possible et auriez vous des pistes a me proposer ?
Merci d'avance.
Exemple de phrase: J'habite a Nice en France.
Decoupage:
- Un MP3 pour le debut de la phrase (exemple: "J'habite")
- Un MP3 par ville (exemple: "a Nice", "a Madrid", "a Rome"...)
- Un MP3 par pays (exemple: "en France", "en Espagne", "en Italie"...)
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je n'ai pas encore trop expérimenté le "gapless playback" mais lors de mes dernières recherches j'ai remarqué le AVQueuePlayer qui demande une liste de lecture en paramètre. Il faut tester si l'enchaà®nement se fait en "gapless".
Sinon il faut descendre encore plus bas niveau sur CoreAudio et "concaténer" les paquets audios.
Cependant, relativement à ton usage, j'utiliserais plutôt une bibliothèque "Text to speech" permettant de faire parler ton application sur n'importe quelle phrase. La société Nuance (Dragon dictation ou encore le moteur de reconnaissance de Siri) propose son propre SDK. L'usage reste gratuit si ton application ne fait pas trop de requêtes, il devient payant au delà d'une certaine limite.
En espérant t'avoir aidé.
Tout d'abord merci d'avoir prete attention a mon post et d'avoir pris la peine d'y repondre de maniere claire et fort instructive.
Cela me donne un avis et de nouvelles pistes a creuser.
Merci pour le coup de main.
Je suis intéressé par ton retour d'expérience sur AVQueuePlayer du coup.
http://stackoverflow.com/questions/621182/avaudioplayer-playing-multiple-audio-files-in-sequence
J'ai fait un test en enchainant deux fichiers mp3 et cela semble convenir a mes besoins. Pas de temps de latence, si de coupure trop brusque pour etre audible. Pas eu le temps d'essayer plus avec la phrases complete composee de 5 fichiers mp3, mais a priori cela devrait repondre a mes besoins. Du coup si c'est le cas je ne testerais probablement pas AVQueuePlayer.
Merci GranDav.