Forums Développement Multimédia

Aller au contenu

[résolu] :  le son en temps réel

Director

10 réponses à ce sujet

#1 Chris_webful

    Ceinture Jaune

  • Members
  • PipPip
  • 21 messages

Posté 06 January 2010 - 18:49 PM

Bonjour
j'aimerais gérer des événements en fonction du son qui serait capturé en temps réel.
Par exemple quelqu'un parle, et boum ça déclenche un graphisme de tête qui bouge les lèvres.
Alors, j'ai une questions.
1) capture et détection du son : faut il un extra ? si oui, lequel, sinon comment faire ?
Merci d'avance.

#2 j'patauge

  • Members
  • PipPipPipPipPipPipPipPip
  • 676 messages

Posté 06 January 2010 - 19:22 PM

Si j’avais compris
peut être aurai je proposer un truc
mais là !

#3 Chris_webful

    Ceinture Jaune

  • Members
  • PipPip
  • 21 messages

Posté 06 January 2010 - 21:26 PM

Pardon pour mon manque de clarté
Je vais essayer de faire mieux.

Le but : creer une application avec Director qui permette
1) d'avoir une entrée audio (un micro branché sur le pc qui lit le projector).
2) l'application reconnait s'il y a du son ou non.
3) Si il y a du son, elle lance une action
4) pas de son elle fait autre chose ou rien...
Pour cela il faut que l'appli puisse travailler sur l'entrée son en temps réel (ce n'est pas un fichier qui est lu, mais bien une capture son en direct, un peu comme le fait cXtraVideoCapture pour la video, mais pour le son.
Le but n'étant pas de faire de l'enregistrement, mais simplement faire réagir l'application au son en direct.
je me demande simplement, s'il faut un xtra pour faire ça ou non, et si oui, lequel ?
j'espère avoir été un peu plus clair.
Merci encore

#4 bubar

    Ceinture Jaune

  • Members
  • PipPip
  • 17 messages

Posté 06 January 2010 - 22:19 PM

Il y a quelques années (7-8 ans), on avait sorti un cd comme ça. A l'époque, il n'existait aucun xtra, et on était passé par un activeX maison (notre programmeur C ne connaissait pas assez les xtras pour un faire rapidement). Depuis ça a peut être évolué, mais je n'en connais aucun.

Il y a peut être aussi la possibilité de passer par un flash pour gérer ça, mais là ça dépasse mes connaissances

#5 Ned.Net

  • Members
  • PipPipPipPipPipPipPipPip
  • 727 messages

Posté 07 January 2010 - 08:51 AM

Salut,

http://www.schmittma....com/asFFT.html

je crois que c'est ce que tu cherches :)

#6 Chris_webful

    Ceinture Jaune

  • Members
  • PipPip
  • 21 messages

Posté 07 January 2010 - 14:58 PM

Bonjour
Oui, Merci beaucoup, c'est ce que j'ai fini par trouver aussi. J'ai commencé les premiers tests, et ça marche impec.
J'en suis a travailler à la reconnaissance vocale, pour que la bouche suive à peu près les diphtongues prononcés. (le A ouvre la bouche alors que le S maintient la bouche presque fermé avec les lèvres un peu élargies,etc. Les premiers tests sont prometteurs, Mais comme c'est du temps réel, je ne vais pas trop dans le détail (l'analyse statistique doit être instantanées ou presque)...

Modifié par Chris_webful, 07 January 2010 - 15:00 PM.


#7 gegedade

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 144 messages

Posté 07 February 2011 - 19:13 PM

Bonjour !

Je tombe sur ton post, et je me pose une question : tu parviens à repérer les phonèmes (ou plus simplement voyelles et consonnes) à l'aide de l'Xtra asFFT ? Je ne pensais pas que les courbes (Fast Fourier Transform si je ne m'abuse) permettaient ça...
Pour ma part je me suis contenté de faire bouger les lèvres de manière aléatoire quand le niveau de son était supérieur à 100 par exemple, avec l'Xtra Amplitude. Aurais-je loupé quelque chose ?
Je cherchais du côté de Julius (un programme Open Source qui permet de décoder les phonèmes entre autres), mais c'est très difficile à mettre en oeuvre !
Bon, on est dans le luxe, avec un mouvement aléatoire le public est satisfait (on est tellement habitués aux doublages approximatifs des séries...) mais si on peut faire mieux on peut chercher un peu !

Amitiés directoresques

Gégédadé

#8 Chris_webful

    Ceinture Jaune

  • Members
  • PipPip
  • 21 messages

Posté 07 February 2011 - 20:09 PM

Bonjour
Effectivement, je procède en deux étapes.
1) l'apprentissage, je prononce les phonèmes séparément plusieurs fois, à chaque fois j'enregistre une valeur pour 9 fréquences du spectre audio. Chaque phonème à une "image" qui correspond à son impact dans les différentes fréquences, je fais dix enregistrements, à la fin je fais une moyenne. je me retrouve avec un prototype pour chaque phonème.

2) expérience : je prononce une phrase, qui est découpé par le programme en phonème, eux mêmes découpés en fréquences, donc en valeur et chacun d'eux est comparé avec la collection de prototypes. celui qui est le plus proche pour chacune des fréquences, je considère que c'est le bon son, donc on attribut au sprite l'image qui correspond au son prononcé.
Par exemple si le son A génère après apprentissage les valeurs moyennes suivantes dans les différentes fréquences : 1,7,5,0,0,8,1,0,0 (valeurs fictives pour l'exemple)
je compare les sons produit en direct à ces valeurs. Si le son produit est : 0,4,3,1,0,6,1,1,0 il y a de fortes chance pour que ce soit le même, ou similaire. En effet pour chaque fréquence, on n'est pas très loin du modèle. Donc après comparaison avec toute la banque de prototypes, je considère que celui qui est le plus proche est le plus adapté.

C'est un peu usine à gaz, mais ça marcherait bien si c'était du code compilé. En interprété, on n'a pas assez de vitesse, pour être totalement collé à la réalité, le programme pour suivre le rythme du live, doit découper en échantillon qui ne sont pas assez précis pour un résultat vraiment spectaculaire. Mais, le principe à l'air bon.

Amicalement
Chris.

#9 gegedade

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 144 messages

Posté 10 February 2011 - 13:40 PM

Les grands esprits se rencontrent... J'ai essayé un truc similaire hier. Moi je suis parti sur le nombre de fois où, dans la fenêtre de visualisation, la courbe de Fourier (récupérée grâce à l'Xtra du vénéré M. Schmitt) repassait par le "0", autrement dit la fréquence (??). Mais bof, pas de résultat probant. Trop de différences dans le phonème lui-même (la fréquence n'est pas la même au début et à la fin) et suivant les manières de dire le phonème.
Comme je voudrais bien arriver à quelque chose, j'ai alors cherché s'il existait des logiciels reconnaissant, non pas les mots, mais les phonèmes... Il en existe en open source, mais je ne sais pas les faire fonctionner ! Tu peux chercher du côté de Julius par exemple, comme je le disais dans mon précédent post.
J'ai aussi trouvé du code dans une étude (j'avoue avoir perdu le nom de l'auteur et j'en suis confus, j'essaierai de le retrouver si j'utilise un jour ce code), qu'un informaticien évolué (pas comme moi) pourrait sûrement traduire en lingo. Il utilise la transformée de Fourier et semble bien travailler en temps réel. Je joins le pdf de l'étude...
[attachment=1251:Reconnaissance vocale.pdf]

Amitiés directoresques (à quand Director 12 ? *)

PS : en tous cas merci d'avoir répondu. Je pensais qu'on recevait un courriel quand une réponse était apportée à un de nos posts sur le forum... Heuresement que j'ai regardé, je pensais que tu n'avais pas répondu !

* je propose que tout le monde mettre cette question dans ses posts... Ca fera peut-être bouger Adobe (je blague)

#10 Chris_webful

    Ceinture Jaune

  • Members
  • PipPip
  • 21 messages

Posté 10 February 2011 - 13:57 PM

Bonjour
En ce qui me concerne, je reçois un email.
Je regarde le pdf, et on en reparle.

Chris

#11 gegedade

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 144 messages

Posté 15 April 2011 - 16:38 PM

Bon, ben j'ai fait un truc qui me convient (c'est-à-dire qui suffit pour reconnaître A, E, I, O, U, SSS... et quelques autres consonnes). Evidemment, ce n'est pas fiable à 100 % ni même à 80, mais j'ai appris que la reconnaissance de phonèmes en temps réel était aléatoire, même sur les gros softs. En fait, on accepte l'erreur au niveau du phonème et le soft corrige en essayant plusieurs solutions ensuite au niveau de la constitution des mots, ce qui ne m'intéresse pas. Ca me suffit largement pour du lip sync, puisque les mouvements de la bouche sont rapides et n'obligent pas à une rigueur absolue (voir les doublages de séries télé... !). En tous cas, si l'avatar doit dire "AAAAAH !" ou "OOOOOH !", ça marche très bien, c'est ce que je voulais.
J'ai ajouté une fonction de repérage de puissance, ce qui permettra de moduler l'ouverture de la bouche.
Merci à Antoine Schmitt, un de nos maîtres à tous. J'ai acheté son AsFFT.
Si ça t'intéresse, je peux t'expliquer comment je fais. Pour donner les sources je suis un peu embêté car j'ai fait ça sur mon temps de travail et donc ça appartient à ma boîte... Je ne pense pas qu'on vende l'appli mais bon...
Amitiés directoresques !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP