Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCEDURE FOR ANALYZING THE VOICE IN REAL TIME FOR THE CONTROL IN REAL TIME OF A DIGITAL DEVICE AND ASSOCIATED DEVICE
Document Type and Number:
WIPO Patent Application WO/2008/025918
Kind Code:
A1
Abstract:
The invention relates to a voice control procedure in real time of a digital unit (4,13,14). This procedure implements a module (3) of voice analysis that comprises the means 6) to extract, with a latency and a requirement of the lowest processing computing power possible, consonants and vowels (ak, tki) of a voice signal applied at the input of this analysis module (3). The digital unit produces a control signal (25), particularly based on a type of consonant (A1-A3) detected by a timbre of vowels detected (tki), and by a height and intensity. The invention has a particularly advantageous application for capturing the expressivity of the voice and controlling a video game.

Inventors:
DELORME, Nicolas (68 rue du Chateau des Rentiers, Paris, F-75013, FR)
LESCURIEUX, Olivier (1 allée Mabille, Vincennes, F-94300, FR)
Application Number:
FR2007/051807
Publication Date:
March 06, 2008
Filing Date:
August 09, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VOXLER (68 rue du Chateau des Rentiers, Paris, F-75013, FR)
DELORME, Nicolas (68 rue du Chateau des Rentiers, Paris, F-75013, FR)
LESCURIEUX, Olivier (1 allée Mabille, Vincennes, F-94300, FR)
International Classes:
G10L15/02; G10H5/00; G10L15/00; G10H5/00
Attorney, Agent or Firm:
SCHMIT - CHRETIEN - SCHIHIN (16 rue de la paix, Paris, Paris, F-75002, FR)
Download PDF:
Claims:

REVENDICATIONS

1 - Procédé de contrôle d'un organe numérique par un signal de voix d'un utilisateur dans lequel les étapes suivantes sont mises en œuvre en combinaison :

- extraire des paramètres d'expressivité de ce signal de voix, ces paramètres d'expressivité étant

- les paramètres de musicalité tels que la hauteur, le volume, et les attaques, et/ou le timbre du signal de voix, ainsi que - les paramètres prosodiques de ce signal de voix, ces paramètres prosodiques étant relatifs à la présence de consonnes et aux voyelles détectées,

- cette étape d'extraction permettant la mesure de la structure formelle et de l'expressivité du flux vocal, et ne visant pas à l'identification ou à la reconnaissance de mots contenus dans le signal de voix, et

- contrôler l'organe numérique ou logiciel en fonction des paramètres d'expressivité extraits.

2 - Procédé selon la revendication 1 , caractérisé en ce que on détecte l'appartenance de la consonne détectée à une famille de consonnes, le contrôle de l'organe étant fonction de la classe à laquelle la consonne détectée appartient.

3 - Procédé selon la revendication 2, caractérisé en ce que le contrôle de l'organe est de type impulsionnel,

- la famille de consonnes étant envoyée à l'organe, un type de contrôle spécifique étant associé à chaque famille de consonnes ou d'attaque susceptible d'être détecté.

4 - Procédé selon la revendication 2 ou 3, dans lequel, pour détecter la famille de consonnes, il comporte les étapes suivantes :

- mettre en œuvre un algorithme HFC (High Frequency Content en anglais) sur des composantes spectrales du signal de voix pour détecter la consonne et

- effectuer un test de voisement et un test vocalique sur la consonne détectée, de manière à séparer trois familles de consonnes présentant pour caractéristiques que la première famille est non voisée et non vocalique, la deuxième famille est voisée et non vocalique, et la troisième famille est voisée et vocalique,

- un type de contrôle spécifique étant associé à chacune de ces trois familles.

5 - Procédé selon la revendication 4, dans lequel : - la première famille est constituée des consonnes [p, t, k], la deuxième famille des consonnes [b,d,g] et la troisième famille des consonnes [m, n, I].

6 - Procédé selon la revendication 4 ou 5, dans lequel : - le test de voisement est réalisé en premier, et le test vocalique en second,

- le caractère voisé ou non voisé de la consonne étant déterminé à l'aide du premier coefficient d'autocorellation ou du centroïde spectral du signal de voix, - le caractère vocalique ou non vocalique de la consonne étant déterminé à l'aide de l'énergie totale ou dans une bande de fréquences du signal de voix.

7 - Procédé selon l'une des revendications 1 à 6, caractérisé en ce que le contrôle de l'organe étant de type impulsionnel, il comporte les étapes suivantes :

- mesurer, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel que la hauteur ou l'intensité, - envoyer à l'organe un résultat de la comparaison entre un seuil et la valeur de ce paramètre continu,

- un premier type de contrôle étant associé au résultat de la comparaison indiquant que le paramètre continu est supérieur au seuil,

- un deuxième type de contrôle étant associé au résultat de la comparaison indiquant que le paramètre continu est inférieur au seuil.

8 - Procédé selon l'une des revendications 1 à 7, caractérisé en ce que le contrôle de l'organe étant de type continu, il comporte les étapes suivantes :

- mesurer, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel que la hauteur ou l'intensité,

- envoyer à l'organe cette valeur du paramètre continu,

- le contrôle continu de l'organe dépendant de cette valeur du paramètre.

9 - Procédé selon la revendication 8, caractérisé en ce que :

- la valeur continue est la valeur d'un paramètre d'expressivité à un instant donné, ou la dérivée, ou la dérivée seconde de ce paramètre d'expressivité.

10 - Procédé selon la revendication 9, caractérisé en ce que :

- l'organe à contrôler étant un curseur graphique, la dérivée du paramètre d'expressivité est associée à la vitesse de ce curseur.

1 1 - Procédé selon l'une des revendications 8 à 10, caractérisé en ce que :

- la valeur continue est élaborée à partir d'une mesure d'un paramètre d'expressivité selon l'un des trois axes du triangle vocalique.

12 - Procédé selon la revendication 1 1 , dans lequel pour mesurer le paramètre d'expressivité selon l'un des trois axes du triangle vocalique,

- on caractérise le timbre par les trois premiers formants de la voix F1 , F2 et F3 ou par les deux premiers F1 et F2.

13 - Procédé selon l'une des revendications 7 à 12, dans lequel, pour mesurer, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel que la hauteur ou l'intensité, on met en oeuvre l'algorithme de Yin.

14 - Procédé selon l'une des revendications 1 à 13, dans lequel :

- le temps de réponse pour l'extraction des paramètres d'expressivité est inférieur à 40 ms pour que l'utilisateur ait une sensation de parfaite simultanéité et cohérence entre son expression vocale et le contrôle de l'organe.

15 - Procédé selon l'une des revendications 1 à 14, caractérisé en ce que :

- des paramètres issus d'autres interfaces (37) homme/machine, telle que des boutons, un clavier ou un joystick sont utilisés en combinaison avec les paramètres d'expressivité pour le contrôle de l'organe.

16 - Procédé selon la revendication 15, caractérisé en ce que :

- les boutons de l'interface (37) sont utilisés pour déclencher des actions impulsionnelles, les actions impulsionnelles étant des actions instantanées, alors que

- les paramètres de la voix sont utilisés pour contrôler la nature ou l'évolution des actions impulsionnelles à contrôler, ou encore pour contrôler les actions continues, les actions continues étant des actions qui évoluent dans le temps.

17 - Procédé selon l'une des revendications 1 à 16, dans lequel, pour adapter un nombre N de paramètres d'expressivité à un nombre P d'entrées de l'organe :

- on combine entre eux les N paramètres d'expressivité à l'aide d'une matrice à N lignes et P colonnes de coefficient x11 à xNP, ces coefficients pouvant être des constantes et/ou valeurs variant en fonction du temps.

18 - Procédé selon la revendication 17, caractérisé en ce qu'il comporte l'étape suivante : - ajouter aux N paramètres leur dérivée et/ou leur dérivée seconde.

19 - Procédé selon l'une des revendications 1 à 18, dans lequel l'organe à contrôler est logiciel et permet le contrôle d'un objet virtuel, tel qu'un personnage ou un véhicule ou un avion d'un jeu vidéo, cet objet virtuel

se déplaçant ou réalisant des actions en fonction des paramètres d'expressivité.

20 - Procédé selon la revendication 17, dans lequel N paramètres d'expressivité vocale commandent P paramètres de contrôle contrôlant l'expressivité d'un personnage virtuel traduite notamment par des gestes, des mimiques, des expressions faciales, une synchronisation labiale, un hérissement des cheveux ou des poils, la couleur du visage ou du corps.

21 - Dispositif matériel apte à mettre en œuvre le procédé selon l'une des revendications précédentes.

Description:

Procédé d'analyse en temps réel de la voix pour le contrôle en temps réel d'un organe numérique et dispositif associé

L'invention concerne un procédé pour analyser en temps réel la voix humaine et contrôler vocalement en temps réel des organes numériques. L'invention a notamment pour but d'extraire en temps réel un jeu de paramètres issus de la voix humaine et de les utiliser comme un composant d'interface de contrôle vocal de ces organes. L'invention trouve une application particulièrement avantageuse dans le domaine du contrôle des jeux vidéo pour le contrôle à la voix et en temps réel d'un personnage virtuel ou d'objets virtuels (ballon, véhicules, armes...) ou tout autre paramètre d'un univers virtuel. L'invention résulte du constat que les applications électroniques et informatiques comportent de nombreux paramètres sur lesquels le joueur ou l'utilisateur peut agir, et nécessitent le développement de nouvelles interfaces intuitives et expressives permettant une plus grande interactivité. Ainsi, dans le jeu vidéo, le joystick et la souris permettent une expressivité limitante par rapport à la richesse potentielle des commandes des jeux vidéo modernes.

Pour résoudre les problèmes d'interactivité précités, l'invention se propose d'utiliser la voix de l'utilisateur comme interface de contrôle. L'invention peut dans ce cadre être décrite comme un « contrôleur vocal » ou une « souris vocale », c'est-à-dire qu'elle complète ou remplace ces composants d'interface classiques.

A cet effet, dans l'invention, on capte un ensemble de paramètres caractérisant l'expressivité de la voix humaine, la structure formelle du signal vocal. On conjugue pour caractériser l'expressivité vocale de l'utilisateur, des paramètres de musicalité comme la hauteur, le volume (ou intensité), les attaques (pics brefs d'intensité), le timbre (rugosité, brillance, formants notamment), ainsi que les paramètres prosodiques qui discrétisent ou caractérisent des consonnes ou familles de consones, des voyelles ou diphtongues, des phonèmes ou syllabes.

Ces paramètres d'expressivité sont ensuite utilisés pour contrôler un système électronique ou un programme informatique et en particulier des personnages de jeux vidéo.

L'analyse de la voix se fait en temps réel, c'est-à-dire que le mode de traitement de la voix permet théoriquement l'admission de données (en l'occurrence un signal électrique de son) à un instant quelconque et l'obtention immédiate de résultats. Toutefois, par temps réel, on entend plutôt ici un mode de traitement de données selon lequel le traitement s'effectue avec le plus petit décalage temporel possible. Car il s'agit de contrôler l'organe le plus rapidement possible après l'émission du signal de voix de contrôle de l'utilisateur. Les algorithmes de traitement de données de l'invention sont choisis pour permettre cette gestion du temps réel.

Dans l'invention le temps de réponse visé du module à contrôler est inférieur à 40 ms pour que l'utilisateur ait une sensation de parfaite simultanéité et cohérence entre son expression vocale et les processus informatiques pilotés à partir des paramètres extraits de sa voix.

Pour certains paramètres comme les attaques, on obtient un temps, de réponse bien inférieur à 40ms.

Le moteur d'analyse de la voix peut être soit réalisé sous forme d'un logiciel exécuté sur des processeurs classiquement utilisés sur des microordinateurs, téléphones portables, PDA, consoles de jeux ou jouets, soit fondu sur un composant électronique (p. ex : ASIC) dédié.

Dans l'invention, la détection des paramètres est robuste : elle fonctionne avec tout utilisateur indépendamment de sa langue et dans de nombreuses conditions d'utilisation. Pour certaines applications demandant une haute précision, on demande à l'utilisateur de produire un ou plusieurs sons qui seront analysés pour définir son profil vocal et optimiser automatiquement les algorithmes de détection sur la base de ces données de calibration. L'invention concerne donc un procédé de contrôle d'un organe numérique par un signal de voix d'un utilisateur dans lequel les étapes suivantes sont mises en œuvre en combinaison :

- extraire des paramètres d'expressivité de ce signal de voix, ces paramètres d'expressivité étant

- les paramètres de musicalité tels que la hauteur, le volume, le timbre et les attaques du signal de voix, ainsi que

- les paramètres prosodiques de ce signal de voix, ces paramètres prosodiques désignant les consonnes, les voyelles, les phonèmes, les syllabes ou les diphtongues présents dans le signal de voix,

- cette étape d'extraction permettant la mesure de la structure formelle du flux vocal, et ne visant pas à la compréhension de la parole de l'utilisateur, et

- utiliser ces paramètres pour le contrôle vocal d'un organe numérique ou logiciel.

Dans une mise en œuvre, le contrôle de l'organe est de type impulsionnel, la famille de consonne ou d'attaque étant envoyée à l'organe, un type de contrôle spécifique étant associé à chaque famille de consonne ou d'attaque susceptible d'être détecté. Dans une mise en œuvre, pour détecter la famille de consonne, on met en œuvre un algorithme HFC (High Frequency Content en anglais) sur des composantes spectrales du signal de voix pour détecter la consonne. Et on effectue un test de voisement et un test vocalique sur la consonne détectée, de manière à séparer trois familles de consonnes présentant pour caractéristiques que la première famille est non voisée et non vocalique, la deuxième famille est voisée et non vocalique, et la troisième famille est voisée et vocalique, un type de contrôle spécifique étant associé à chacune de ces trois familles.

Dans une mise en oeuvre, la première famille est constituée des consonnes [p, t, k], la deuxième famille des consonnes [b,d,g] et la troisième famille des consonnes [m, n, I].

Dans une mise en œuvre, le test de voisement est réalisé en premier, et le test vocalique en second, le caractère voisé ou non voisé de la consonne étant déterminé à l'aide du premier coefficient d'autocorellation ou du centroïde spectral du signal de voix, le caractère vocalique ou non vocalique de la consonne étant déterminé à l'aide de l'énergie totale ou dans une bande de fréquences du signal de voix.

Dans une mise en œuvre, le contrôle de l'organe étant de type impulsionnel, on mesure, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel

que la hauteur ou l'intensité. Et on envoie à l'organe un résultat de la comparaison entre un seuil et la valeur de ce paramètre continu. Un premier type de contrôle est associé au résultat de la comparaison indiquant que le paramètre continu est supérieur au seuil. Un deuxième type de contrôle est associé au résultat de la comparaison indiquant que le paramètre continu est inférieur au seuil.

Dans une mise en œuvre, le contrôle de l'organe étant de type continu, on mesurer, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel que la hauteur ou l'intensité. Et on envoie à l'organe cette valeur du paramètre continu, le contrôle continu de l'organe dépendant de cette valeur continue.

Dans une mise en œuvre, la valeur continue est la valeur d'un paramètre d'expressivité à un instant donné, ou la dérivée, ou la dérivée seconde de ce paramètre d'expressivité. Dans une mise en œuvre, l'organe à contrôler étant un curseur graphique, la dérivée du paramètre d'expressivité est associée à la vitesse de ce curseur.

Dans une mise en œuvre, la valeur continue est élaborée à partir d'une mesure d'un paramètre d'expressivité selon l'un des trois axes du triangle vocalique.

Dans une mise en œuvre, pour mesurer le paramètre d'expressivité selon l'un des trois axes du triangle vocalique, on caractérise le timbre par les trois premiers formants de la voix F1 , F2 et F3 ou par les deux premiers F1 et F2. Dans une mise en œuvre, pour mesurer, à un instant donné, la valeur d'un paramètre continu de la voix susceptible de varier de manière continu dans le temps, tel que la hauteur ou l'intensité, on met en oeuvre l'algorithme de Yin.

Dans une mise en œuvre, le temps de réponse pour l'extraction des paramètres d'expressivité est inférieur à 40 ms pour que l'utilisateur ait une sensation de parfaite simultanéité et cohérence entre son expression vocale et le contrôle de l'organe.

Dans une mise en œuvre, des paramètres issus d'autres interfaces homme/machine, telle que des boutons, un clavier ou un joystick sont utilisés

en combinaison avec les paramètres d'expressivité pour le contrôle de l'organe.

Dans une mise en œuvre, les boutons de l'interface sont utilisés pour déclencher des actions impulsionnelles, les actions impulsionnelles étant des actions instantanées, alors que les paramètres de la voix sont utilisés pour contrôler la nature ou l'évolution des actions impulsionnelles à contrôler, ou encore pour contrôler les actions continues, les actions continues étant des actions qui évoluent dans le temps.

Dans une mise en œuvre, pour adapter un nombre N de paramètres d'expressivité à un nombre P d'entrées de l'organe, on combine entre eux les N paramètres d'expressivité à l'aide d'une matrice à N lignes et P colonnes de coefficient x11 à xNP, ces coefficients pouvant être des constantes et/ou valeurs variant en fonction du temps.

Dans une mise en œuvre, on ajoute aux N paramètres leur dérivée et/ou leur dérivée seconde.

Dans une mise en œuvre, l'organe à contrôler est logiciel et permet le contrôle d'un objet virtuel, tel qu'un personnage ou un véhicule ou un avion d'un jeu vidéo, cet objet virtuel se déplaçant ou réalisant des actions en fonction des paramètres d'expressivité. Dans une mise en œuvre, les paramètres d'expressivité vocale de l'utilisateur pilotent l'expressivité gestuelle du personnage virtuel : gestes, mimiques, expressions faciales, synchronisation labiale, hérissement des cheveux ou des poils, couleur du visage ou du corps, le signal de voix de l'utilisateur étant en cohérence avec l'expressivité gestuelle du personnage. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Ces figures ne sont données qu'à titre illustratif mais nullement limitatif de l'invention. Ces figures montrent :

- figure 1 : une représentation schématique d'un dispositif d'analyse et de contrôle vocal selon l'invention et des différents organes qu'il est susceptible de contrôler ;

- figure 2a : une représentation schématique détaillée d'un dispositif selon l'invention comportant un module de contrôle relié à un module à contrôler par l'intermédiaire d'un module d'adaptation ;

- figure 2b : une représentation schématique d'un signal de voix après échantillonnage et des consonnes et voyelles qui le composent ;

- figure 2c : une représentation schématique du module d'analyse selon l'invention permettant la détection des consonnes, de voyelles et de leur timbre ainsi que la mesure de la hauteur et de l'intensité ;

- figure 2d : une matrice associée à un module d'adaptation selon l'invention assurant une correspondance entre les sorties du module de contrôle et les entrées du module à contrôler ;

- figure 2e : un tableau de classification des consonnes du français selon leur caractère voisé ou vocalique ;

- figure 2f : une représentation schématique du triangle vocalique, positionnant les voyelles selon leurs deux premiers formants.

La figure 1 montre une représentation schématique d'un dispositif 1 de contrôle vocal selon l'invention. Ce dispositif 1 comporte un microphone 2 relié à une entrée d'un module 3 d'analyse vocale. Des sorties de ce module 3 sont reliées à des entrées d'un d'organe 4 numérique ou logiciel. Dans un exemple, le microphone 2 est un microphone d'un téléphone portable, d'un ordinateur ou un microphone professionnel.

A partir de la voix de l'utilisateur, le microphone 2 émet un signal 5 électrique de son à destination du module 3 d'analyse. Ce module 3 comporte un module 6 d'extraction qui segmente le signal 5 et détecte la présence de consonnes. Après chaque détection de consonne, le module 6 identifie une consonne ou un groupe de consonnes et/ou une voyelle ou un groupe de voyelles. Le module 6 extrait en outre la hauteur, l'intensité et le timbre de la voyelle et/ou de la consonne détectés. Ce module 6 n'a pas pour but la reconnaissance de la parole, mais la mesure de l'expressivité de la voix pour un contrôle précis et en temps réel de l'organe 4.

En sortie du module 6, sont donc observables des paramètres numériques 17 porteurs d'information sur la hauteur, l'intensité, les attaques, des paramètres de timbre et des paramètres prosodiques caractérisant et discrétisant des voyelles/diphtongues, consonnes, phonèmes ou syllabes (associations voyelles/consonnes).

Les paramètres numériques 17 sont appliqués en entrée de l'organe 4 numérique.

Dans une mise en oeuvre, les paramètres extraits 17 agissent comme déclencheur d'un ou plusieurs événements. Dans un exemple, un vocabulaire est défini pour contrôler un personnage dans un jeu de combat de type Karaté. Par exemple, la nature de l'attaque détermine la nature du coup, avec par exemple un coup de pied pour les attaques en « p », un coup de poing pour les attaques en « b » et une strangulation pour les attaques en « I ». La nature de la voyelle détermine par exemple s'il s'agit d'un coup de pied ou de poing donné du côté gauche ou du côté droit. La hauteur de la note détermine par exemple s'il s'agit d'un coup donné vers le haut ou vers le bas et l'intensité détermine par exemple la force de la frappe.

Dans chacun de ces cas, la consonne ou la voyelle peut être remplacée par la famille de consonnes ou de voyelles à laquelle elle appartient dans la classification de l'API (Association Phonétique Internationale). Par exemple, les algorithmes mis en œuvre permettent soit d'isoler une consonne ou une voyelle, soit de choisir d'isoler les labiales ([p], [b], [f], [V], [m], [W]) par rapport aux dentales ([t], [d], [s], [z], [n], [H], [I]) et aux vélo-palatales ([k], [g], [S], [Z], [J], [j], [R]). On peut aussi choisir d'isoler les occlusives voisées ([b], [d], [g]), par rapport aux occlusives non voisées ([p], [t], [k]), aux fricatives voisées ([v], [z], [Z]), aux fricatives non voisées ([f], [s], [S]), aux nasales ([m], [n], [J]), aux glissantes ([w], [H], [j]) et aux liquides ([I], [R]. On peut aussi choisir de regrouper plusieurs de ces classes entre elles et segmenter par exemple les consonnes en occlusives non voisés, occlusives voisées et autres.

Les attaques et les consonnes sont utilisées comme contrôleur impulsionnel c'est-à-dire que la technologie mise en œuvre permet d'identifier la présence d'une attaque dans le signal vocal et/ou de caractériser la consonne ou la famille de consonne à laquelle appartient cette attaque. La présence d'une attaque et/ou la consonne ou famille de consonne à laquelle appartient cette attaque est transmise à l'organe à contrôler. Ainsi par exemple, la présence d'une attaque peut déclencher le tir dans une application de jeu vidéo. Dans une application de type souris, la présence d'une attaque peut-être assimilée à l'action de cliquer et la présence de deux attaques très rapprochées peut correspondre à un double clic. La nature de l'attaque peut permettre de préciser l'action à mettre en œuvre. Par exemple dans une application de jeu vidéo, un « p » peut être

associé à un tir de fusil alors qu'un « b » correspondra à l'envoie d'une bombe. Dans une application de type souris, un « p » pourra être associé à un clic effectué sur le bouton de droite, alors qu'un « b » pourra être associé à un clic effectué sur le bouton de gauche. Les autres paramètres détectés dans la voix et en particulier la hauteur, l'intensité, ainsi que la position dans le triangle vocalique et/ou leur combinaison peuvent être utilisés comme contrôleur impulsionnel ou continu. Dans cette approche, on mesure en temps réel un ou plusieurs de ces paramètres et on leur attribue une valeur comprise, dans un exemple, entre 0 et 100. Le paramètre d'intensité peut s'appliquer à l'ensemble du signal mais aussi aux seules consonnes ou aux seules voyelles.

L'organe 4 peut comporter un module 13 de contrôle de jeu vidéo. Ce module 13 contrôle des personnages, des véhicules, des structures graphiques, des qualités d'image, en fonction des paramètres 17. Par exemple dans un jeu, les paramètres continus extraits de la voix sont utilisés pour contrôler un avion dans ses trois dimensions de déplacement. Dans un exemple, le volume est associé à l'accélérateur (axe y), la hauteur de la note à l'incidence (axe z) et la position sur l'axe [a]-[u] du triangle vocalique à la direction (axe y). L'information envoyée à l'organe à contrôler peut être traitée de plusieurs façons. Dans un traitement impulsionnel, l'information n'est envoyée qu'à condition que la valeur du paramètre dépasse un certain seuil, dans un sens ou dans l'autre. C'est-à-dire si le son de la voix est d'une hauteur supérieure ou inférieure à une hauteur de référence, d'une intensité supérieure ou inférieure à une intensité de référence, ou si la position dans le triangle vocalique est suffisamment proche d'un certain point, selon l'un des trois axes [a]-[u], [u]-[i] ou [i]-[a] du triangle vocalique (voir figure 2f). Dans ce cas, les paramètres continus sont utilisés comme un contrôleur impulsionnel et l'information transmise à l'organe à contrôler est de nature binaire. Dans un traitement continu, l'information issue des descripteurs continus est traitée en prenant en compte leur nature continue. Dans ce cadre, l'information utilisée pour contrôler l'organe à contrôler est la valeur de ces paramètres continus (comprise dans un exemple entre 0 et 100).

La valeur des paramètres continus utilisée, peut être la valeur du paramètre à un instant donné. On peut aussi transformer ces paramètres et

calculer leur dérivée ou leur dérivée seconde. Dans le cas du contrôle d'un curseur sur un écran, la dérivée pourra être naturellement associée à la vitesse de déplacement du curseur.

Ainsi, dans un exemple simple, la voix contrôle un curseur comme par exemple dans un jeu de vaisseaux spatiaux de type Space Invaders. Dans ce cadre, le [a] pourrait signifier un mouvement à gauche, alors que le [u] signifiera un mouvement vers la droite. Dans une approche binaire, on déclenchera un mouvement vers la gauche si le son est suffisamment proche du [a], ou plus précisément si la valeur de la position selon l'axe [a]-[u] du triangle vocalique est inférieure à un certain seuil, le son [a] correspondant dans cet exemple à 0 et le son [u] à 100.

Dans un traitement continu, c'est la valeur selon l'axe [a]-[u] qui est directement utilisée. Dans ce cadre, plusieurs modes de traitement sont décrits. On peut affecter directement la valeur à une position décrite par ses coordonnées. Ce mode de traitement permet un déplacement rapide du curseur mais il peut être difficile à contrôler en raison d'un déplacement trop rapide. On peut aussi affecter la valeur à une vitesse de déplacement. Ainsi un [a] associé à une valeur 0 induira un déplacement rapide à gauche et un [u] associé à une valeur 100 induira un déplacement rapide à droite. Pour des déplacement de vitesse plus modérée, il conviendra dans ce cas d'émettre un [O] pour un déplacement lent vers la gauche et un [o] pour un déplacement lent vers la droite. Dans ce dernier cas, c'est la dérivée première de la position selon l'axe [a]-[u] qui est utilisée pour contrôler la vitesse de déplacement à l'écran. Ce dernier exemple a été détaillé en utilisant comme paramètre de contrôle la position selon l'axe [a]-[u] du triangle vocalique, mais on peut appliquer le même raisonnement à n'importe lequel des paramètres continus détectés dans la voix et ou à leur combinaison.

Afin d'obtenir une position ou un déplacement maîtrisé, la valeur instantanée des paramètres continus peut être moyennée selon une fenêtre temporelle qui est réglée lors de la conception du jeu ou du programme en fonction de l'application spécifique.

Le système utilisé pour décrire le déplacement d'un mobile en deux ou trois dimensions peut utiliser tout système de coordonnées permettant de décrire la position ou le déplacement d'un mobile dans un univers à 2, 3 ou n

dimensions, et en particulier des coordonnées cartésiennes ou polaires. Le nombre n de dimensions peut être supérieur à 3 si par exemple on décide de contrôler en plus des trois dimensions associées au déplacement d'un solide, les trois dimensions associées au contrôle de sa rotation et/ou des paramètres d'ambiance comme par exemple la luminosité ou la couleur de l'image. Le référentiel de description de la position peut être fixe ou mobile. Par référentiel mobile, on entend référentiel dans lequel le système de coordonnées est décrit par rapport à la position et à l'orientation de l'objet à contrôler alors qu'un référentiel fixe est immobile et indépendant de la position ou de l'orientation dudit objet.

L'invention permet de concevoir des jeux à contrôle vocal ou d'autres applications simples n'utilisant que certains des paramètres continus ou impulsionnels proposés. Dans le cadre du contrôle d'un jeu vidéo ou d'autres applications plus perfectionnées, l'invention permet d'utiliser simultanément ou successivement les nombreux paramètres impulsionnels et continus extraits de la voix pour contrôler les nombreux degrés de libertés de jeux ou d'autres applications requerrant une plus grande finesse de contrôle. Ainsi, on peut imaginer dans un niveau débutant ne prendre en compte que certains des paramètres et enrichir les possibilités de contrôle au fur et à mesure de la progression du joueur.

Dans les exemples précédents, la valeur des paramètres de contrôle peut être corrigée d'une valeur de calibration correspondant à la valeur mesurée de ces paramètres lorsque aucun son de voix n'est émis ou à tout autre type de calibration pouvant être définit par le concepteur du programme ou du jeu.

Dans ces exemples, la technologie peut être qualifiée de « contrôleur vocal » et peut être proposée seule ou dans une approche multimodale, c'est à dire en complément des interfaces de jeux existantes, tels que le clavier, le joystick, le gamepad ou des capteurs de positions ou de mouvements. En variante, le module 3 commande un module 14 qui peut être un module pour le contrôle d'un personnage virtuel, ou un système électronique tel qu'un robot ou tout autre système informatique ou électronique. Suivant les applications envisagées, l'organe 4 comporte un ou plusieurs des éléments 13, 14. Ces organes 13, 14 peuvent être indépendants et se connecter sur le module 3 qui est lui-même indépendant.

La figure 2a montre une représentation schématique détaillée du système 1 selon l'invention qui comporte l'organe 4 à contrôler relié au module 3 de contrôle par l'intermédiaire d'un module 23 d'adaptation. Ce module 23 d'adaptation assure une correspondance entre les paramètres de sorties du module 3 et les paramètres d'entrée de l'organe 4 à contrôler.

Plus précisément, le microphone 2 émet un signal analogique 5 à destination d'un convertisseur analogique numérique 21 qui échantillonne des fenêtres d'échantillons. La finesse de l'échantillonnage peut dépendre de la précision attendue par l'utilisateur, ou de la puissance de calcul disponible dans un produit ou une plateforme cible. Le signal échantillonné 22 est représenté à la figure 2b. Ce signal 22 comporte à un instant k une attaque ak, généralement de grande amplitude, et des tenues tki, de faible amplitude. Les attaques ak correspondent en fait à une consonne de la voix et les tenues tki correspondent à une voyelle ou à une succession de voyelles. Le signal 22 est envoyé à destination d'un module 6.1 de segmentation qui détecte et isole ces différentes consonnes ak. A cet effet, le module 6.1 de segmentation détecte chaque nouvelle consonne à l'aide d'un algorithme HFC (High Frequency Content en anglais). Cet algorithme accentue les composantes haute fréquence d'une portion du signal 22 en effectuant une somme linéairement pondérée des modules des composantes spectrales. A partir de ces accentuations, on détecte les pics en début de note correspondant aux consonnes. On extrait ensuite les voyelles qui se situent entre deux pics d'amplitude.

En variante, les algorithmes d'énergie, de différence spectrale, de déviation de phase, ou d'approche combinée dans le domaine complexe, pourraient également être utilisés pour la détection des consonnes. Toutefois, de manière étonnante, l'expérience montre que l'algorithme HFC détecte les consonnes de la voix avec un taux de réussite bien supérieur à celui des autres algorithmes cités. En outre, comme représenté à la figure 2c, un module 6.2 de détection relié à une sortie du module de segmentation détecte à quelle classe la consonne détectée fait partie. A cet effet, on détermine au préalable trois classes de consonnes, une première A1 comportant les consonnes [p, t, k], une deuxième A2 comportant les consonnes [b, d, g], une troisième A3 comportant les consonnes [m, n, I].

La deuxième et la troisième classe A2, A3 regroupent des consonnes qui présentent, selon l'ouvrage de Jackobson intitulé « Preliminaries to Speech Analysis », un caractère voisé alors que la première classe A1 ne présente pas un tel caractère. Le caractère voisé se traduit fréquentiellement par un renforcement des fréquences autour de 250 Hz. La troisième classe A3 regroupe des consonnes à caractère vocalique, alors que les consonnes de la première et de la deuxième classe A2 ne présentent pas un tel caractère. Une consonne est vocalique si sa source phonatoire est unique, périodique, de faible amortissement et d'attaque non abrupte. Ainsi, en détectant le caractère voisé ou non voisé, ainsi que le caractère vocalique ou non vocalique des attaques, il est possible de distinguer rapidement ces classes de consonnes deux à deux.

Dans une variante, trois autres groupes de consonnes pourraient être formés à condition qu'ils puissent être distingués par les tests vocaliques et de voisement et par exemple que le premier groupe soit constitué de consonnes non voisées et non vocaliques, le deuxième groupe de consonnes voisées et non vocaliques et le troisième groupe de consonnes voisées et vocaliques. Le caractère voisé et vocalique des consonnes du français est décrit dans le tableau 2e. Dans une réalisation, le module d'analyse détecte le caractère voisé à l'aide d'une fonction d'auto-corrélation ou du centroïde spectral sur la bande 50-3000 Hz appliqué sur le signal de la consonne détectée

Dans une réalisation, le module d'analyse détecte le caractère vocalique ou non vocalique d'une consonne, en considérant l'énergie d'une bande de fréquence du signal ou l'énergie totale de la consonne qui possède des valeurs différentes suivant la consonne.

En fonction de l'appartenance de la consonne détectée à l'une ou l'autre de ces classes, l'action réalisée dans le jeu vidéo ou dans toute application est différente. Par exemple dans un jeu de Karaté, le coup est appuyé si l'attaque ak de la note fait partie de la première classe A1 (si l'utilisateur s'exprime en « te, ta, ti » par exemple), tandis que le coup est par exemple mois fort mais plus rapide si l'attaque ak de la note fait partie de la deuxième ou troisième classe A2, A3 (si l'utilisateur s'exprime en « be, bi, bou » par exemple). En variante; il est bien entendu possible de définir plus ou moins de trois classes.

En parallèle, une analyse est réalisée en continue sur les voyelles tki de manière à déterminer la hauteur, l'intensité et le timbre de ces voyelles. A cet effet, le module 6.2 comporte un module extracteur de fréquence, un module extracteur d'intensité, et un module extracteur de timbre. Dans une variante, l'extraction de la fréquence fondamentale est réalisée à partir de l'algorithme Yin décrit dans le document de brevet de France Télécom (n° d'enregistrement national français 01 07284).

Le module extracteur d'intensité mesure l'intensité de la voix de l'utilisateur. L'intensité de la voix permettant de contrôler par exemple la force d'un coup dans un jeu de Karaté ou la puissance d'un coup de feu dans un jeu de tir.

Le module extracteur de timbre extrait le type de timbre des voyelles. Le timbre des voyelles est caractérisé par ses trois premiers formants F1 , F2, F3 et peut être approché suffisamment précisément à partir des deux premiers formants F1 et F2. A cette fin, le module extracteur de timbre positionne l'état instantané de la voyelle sur le triangle vocalique représenté à la figure 2f, les coordonnées d'une voyelle dans le plan F1-F2 pouvant être une source de contrôle bidimensionnel intéressante.

A cette fin, le module extracteur calcule en temps réel le centroïde spectral correspondant au barycentre du spectre d'amplitude de la voyelle. Dans une variante, le type de voyelle est analysé à partir du calcul de l'aire spectrale pondérée.

Pour augmenter la richesse expressive du contrôle, il est également possible de détecter précisément la voyelle ou une classe de cette voyelle parmi différentes classes définies, l'action contrôlée dépendant du type de voyelle et/ou de la classe de cette voyelle. Ainsi, dans un exemple, pour un signal de voix de même hauteur et de même intensité, la prise de Karaté associée au « pi » sera différente de celle au « pa », ou au « pe »

Le module d'analyse 6.2 extrait ainsi N paramètres numériques 17 qui sont appliqués sur des entrées du module 23 d'adaptation. Ce module 23 transforme ces N paramètres numériques en P paramètres numériques qui sont appliquées sur P entrées du module à contrôler, P étant différent ou égal à N. A cet effet, le module 23 combine les N paramètres entre eux, de manière que chacun des P paramètres numériques observables en sortie du module 23 soit une combinaison des N paramètres d'entrée.

La figure 2d montre une matrice, dite matrice de mapping, associée au module 23 d'adaptation qui est appliquée aux N données d1 -dN du signal 17. Cette matrice comporte N lignes et P colonnes, de manière à obtenir un signal de données 25 comportant P données d'1-d'P à partir du signal 17. La matrice d'adaptation peut être adaptée selon le type de jeu ou d'application à contrôler, le niveau de l'utilisateur (professionnel, amateur, débutant). Les paramètres x11 à xNP de la matrice de mapping peuvent être des constantes (adaptation linéaire) mais aussi des fonctions mathématiques des paramètres d1 à dN et du temps (adaptation non linéaire). Dans une variante, on conserve dans une matrice historique la valeur instantanée de l'ensemble ou de certains des paramètres d1 à dN. Cette matrice historique pourra être limitée à la dernière minute de jeu par exemple. Les valeurs contenues dans cette matrice historique sont utilisées pour effectuer des opérations mathématiques sur l'évolution des paramètres d1 à dN. On pourra par exemple calculer leur moyenne, leur écart type ou d'autres opérations statistiques.

Dans une variante, dans laquelle on s'intéresse en particulier à la variation des paramètres d'entrée d1 à dN, on pourra calculer la dérivée et/ou la dérivée seconde de ces paramètres. On obtient alors 2N ou 3N paramètres. On réapplique alors la même méthode d'interfaçage avec une matrice à 2N ou 3N lignes et à P colonnes. Pour ne pas augmenter inutilement la taille de la matrice, on peut décider de ne calculer la dérivée, et ou la dérivée seconde que pour ceux des paramètres où elle est utile.

Dans une variante, la matrice peut être remplacée par un réseau de neurones ou d'autres techniques classiques de l'Intelligence Artificielle et ledit réseau est paramétré automatiquement ou semi automatiquement à partir d'un corpus de test de référence. Dans une version sophistiquée, la matrice ou le réseau de neurones est affiné pour un utilisateur particulier en donnant une pondération spécifique au mode de jeu de cet utilisateur. Dans l'invention, les algorithmes utilisés permettent une exploitation multilocuteurs sans apprentissage. Dans une version évoluée et dédiée à des utilisateurs avancés, le module d'adaptation ajuste le paramétrage en fonction des caractéristiques propres à la voix du locuteur, par exemple en lui demandant de répéter certaines phases de jeu prédéfinies.

Les paramètres produits par le module 23 sont appliqués en entrée de l'organe 4 à contrôler. Le module 23 peut ainsi adapter le nombre de paramètres produits par le module 3 d'analyse au nombre de paramètres nécessaires au contrôle du module 3 à contrôler. Par ailleurs, une interface 37 de contrôle peut être reliée à une entrée du module 4 à contrôler ou du module 23 de cartographie. Cette interface de contrôle 37 peut être un contrôleur informatique comme un joystick, gamepad, clavier d'ordinateur ou de téléphone portable, souris ou un contrôleur développé spécifiquement et pouvant comprendre des capteurs de geste ou de mouvement, des surfaces tactiles, des capteurs de pression, ou de torsion, et émet un signal 38 de sortie à destination de l'organe 4 à contrôler ou du module 23 de cartographie.

L'interface 37 peut être utilisée pour contrôler le tir d'un personnage virtuel, alors que la voix sera utilisée pour contrôler ses mouvements ou réciproquement.

Dans une mise en œuvre, les boutons de l'interface 37 sont utilisés pour déclencher des actions impulsionnelles alors que la voix est utilisée pour contrôler les actions continues ou la nature des actions impulsionnelles à contrôler. Par exemple, l'utilisateur émet en permanence un signal continu de type voyelle dont on extrait à chaque instant les paramètres continus (hauteur, intensité, position dans le triangle vocalique). Les signaux impulsionnels sont alors utilisés pour déclencher instantanément une action correspondant aux paramètres continus mesurés précédemment.

Par exemple un utilisateur émet de manière continue un A correspondant à une hauteur et une intensité donnée. A l'instant ou il appuie sur un bouton, on déclenche un coup de pied ou de poing ou toute autre action prédéfinie, correspondant aux valeurs continues qui ont déjà été précalculées. Cette méthode de mise en œuvre permet un déclenchement très rapide des actions impulsionnelles, sans avoir besoin de calculer les fonctions continues qui peuvent pour certaines et notamment pour la hauteur nécessiter un temps de calcul trop élevé pour donner une impression de parfaite simultanéité.

Dans une mise en œuvre, les boutons de l'interface 37, sont utilisés pour déclencher des actions impulsionnelles alors que la voix est utilisée pour contrôler les actions continues ou l'évolution des actions déclenchées

de façon impulsionnelles. Les boutons de déclenchement impulsionnel peuvent soit fournir simplement une impulsion (oui ou non), soit une valeur (boutons à sensibilité).

Dans une réalisation, la combinaison des paramètres d'expressivité peut aussi permettre de contrôler les gestes, mimiques, expressions faciales, synchronisation labiale, hérissement des cheveux ou des poils, couleur du visage ou du corps, d'un personnage à partir de la voix du joueur, l'expression corporelle du personnage étant alors en cohérence avec etc. l'expression vocale du joueur. Les différents modules décrits peuvent bien entendus prendre la forme de modules logiciels ou électroniques. Le module d'adaptation peut être intégré au module d'analyse ou au module à contrôler. Dans une réalisation les trois modules sont intégrés à l'intérieur d'un seul et même module.

L'invention s'étend également au dispositif matériel apte à mettre en œuvre le procédé décrit ci-dessus.