[0001] . La présente invention concerne un procédé pour détecter des paroles chantées dans
la voix. L'invention a notamment pour but de proposer un procédé simple à mettre en
oeuvre et peu consommateur en ressources pour détecter des paroles dans la voix.
[0002] . L'invention trouve une application particulièrement avantageuse, mais non exclusive,
pour des applications de type « Karaoké ». On rappelle que le Karaoké est un jeu dans
lequel le joueur chante une chanson connue sur un accompagnement généralement à la
place du chanteur original, en suivant généralement les paroles sur un écran. En variante,
l'invention pourrait également être utilisée dans des applications interactives vocales,
par exemple dans tout jeu vidéo au sein duquel on souhaite détecter si le joueur parle.
[0003] . Des jeux vidéos de Karaoké comme « SingStar » (marque déposée) évaluent uniquement
la justesse du chant d'un joueur par rapport à une mélodie de référence. En conséquence,
un joueur qui fredonne en rythme la mélodie (sans chanter les paroles) obtiendra le
même score voire un meilleur score qu'un joueur qui chante effectivement les paroles.
En effet, en fredonnant, le joueur peut se concentrer uniquement sur la justesse de
la mélodie et/ou la précision rythmique, ce qui est beaucoup plus facile que s'il
devait faire l'effort de placer les bonnes paroles de la chanson sur la bonne mélodie
et/ou sur le bon rythme.
[0004] . En particulier dans certaines chansons de rap, il n'y a pas de mélodie et le rythme
est trop rapide pour être évalué de manière fiable. Dans ce cas, la détection des
paroles dans la chanson est un critère pertinent pour évaluer le joueur. Le document
US 2007/0059670 A1 décrit un procédé de détection entre paroles chantées et paroles parlées.
[0005] . Pour tenir compte des paroles dans le score du joueur, certains jeux récents essayent
d'intégrer de la reconnaissance de paroles, avec des performances discutables, ces
mécanismes de reconnaissance de parole étant très difficiles à réaliser et très coûteux
algorithmiquement. En effet, ils nécessitent des calculs complexes (utilisation de
modèles HMM) afin de reconnaître des mots complets, ce qui est difficile à mettre
en oeuvre et entraîne des erreurs fréquentes ainsi qu'une importante latence.
[0006] . La présente invention permet de vérifier si le joueur chante les paroles de manière
beaucoup plus simple que la reconnaissance vocale traditionnelle, en abordant le problème
de manière originale : on ne cherche pas à « reconnaître » les mots chantés par le
joueur, ce qui n'a pas vraiment de sens puisque ceux-ci sont déjà connus (ils sont
affichés sur l'écran), mais à « vérifier » si le joueur chante des paroles, au lieu
de par exemple simplement fredonner la mélodie.
[0007] . L'invention part ainsi du constat que tout langage parlé et a fortiori chanté est
caractérisé par une alternance de sons variés (différents phonèmes) appelée dans ce
document « alternance phonémique ». On entend par phonémique ce qui se rapporte aux
phonèmes, c'est-à-dire à chacun des sons composant une langue. Cette alternance phonémique
peut par exemple être définie par une alternance entre des voyelles et des consonnes,
ou entre des sons voisés et des sons non-voisés, ou entre diverses voyelles, ou entre
diverses consonnes etc...
[0008] . On entend par fredonnement l'absence d'alternance phonémique. Par exemple, lorsque
l'on fredonne, on émet uniquement des sons voisés de type « la la la », « mmmm »,
« ah ah ah » caractérisés par une absence d'alternance entre sons voisés et sons non-voisés
et donc une absence d'alternance phonémique si on choisit de la définir par une alternance
de sons voisés et de sons non voisés. A contrario, une personne qui chante les paroles
d'une chanson alterne, sauf exception, l'émission de sons voisés et de sons non voisés.
[0009] . L'invention propose de distinguer l'alternance phonémique, c'est-à-dire la prononciation
de paroles par rapport à l'absence d'alternance phonémique (fredonnement).
[0010] . On rappelle qu'un son est dit « voisé » si sa production s'accompagne d'une vibration
des cordes vocales, et « non-voisé » sinon. Etant donné que le langage parlé est un
assemblage de voyelles et de consonnes voisées qui font vibrer les cordes vocales
et de consonnes non voisées qui ne font pas vibrer les cordes vocales, on observe
naturellement cette alternance entre sons voisés et non voisés. Ce constat vaut pour
les principales langues parlées dans le monde. En revanche, lorsque l'on fredonne,
le son émis correspond à une émission continue de sons voisés de type « lalala » ou
« aaaaaaa » ou « mmmmmmm ».
[0011] . Dans l'invention on observe si, pendant une période de référence, la voix du joueur
présente des variations de voisement ou non. Si c'est le cas, alors on en déduit que
le joueur est en train de chanter des paroles sur cette période de référence ; alors
que si ce n'est pas le cas, on en déduit que le joueur est en train de fredonner sur
cette période de référence. On s'est aperçu qu'une période de référence d'une seconde
environ permettait d'obtenir de bons résultats. Toutefois toute autre période de référence
est envisageable.
[0012] . Dans une mise en oeuvre, on mesure l'alternance phonémique liée au caractère voisé
et non voisé de la voix. A cet effet on calcule un coefficient de voisement de la
voix qui présente des valeurs élevées lorsque le son de la voix est voisé et des valeurs
basses lorsque le son de la voix n'est pas voisé. Dans un exemple, ce coefficient
de voisement correspond à la mesure de la qualité de l'extraction de la fréquence
fondamentale du signal de voix. Lorsque ce coefficient de voisement est supérieur
à une valeur seuil pendant toute la période de référence alors on en déduit que le
joueur est en train de fredonner ; en revanche lorsque le coefficient de voisement
n'est pas supérieur à la valeur seuil pendant toute la période de référence, on en
déduit que le joueur est en train de chanter.
[0013] . L'invention consiste ainsi à vérifier uniquement si le joueur prononce de véritables
paroles et n'est pas en train de fredonner, sans s'assurer que les paroles correspondent
effectivement aux paroles de la chanson. Il n'est donc pas utile de vérifier si «
les » paroles chantées sont les vraies paroles de la chanson, mais uniquement si «
des » paroles sont chantées. En effet, si le fredonnement est une aide importante
dans ce genre de jeux, le fait de chanter d'autres paroles sur une chanson est plutôt
une difficulté supplémentaire pour le joueur.
[0014] . Plus généralement, la mesure de voisement/non-voisement n'est qu'une façon de mesurer
l'alternance phonémique. Toute autre méthode permettant de mesurer une variation,
par exemple variation des consonnes prononcées (mesure de la présence de certaines
consonnes par d'autres méthodes que la mesure du taux de voisement) ou variation des
voyelles prononcées (dans le triangle vocalique), produirait le même type de résultat.
[0015] . Ainsi, alternativement, si on choisit de caractériser l'alternance phonémique par
l'alternance de voyelles différentes, on mesure une variation de timbre dans le triangle
vocalique. Car un joueur qui fredonne ne fait pas varier le timbre de sa voix tandis
que le joueur qui chante des paroles fait varier naturellement le timbre de sa voix.
Dans le cas où on ne détecte pas de variation du timbre de la voix dans le triangle
vocalique sur la période de référence, on en déduit que le joueur est en train de
fredonner ; alors que dans le cas où on détecte une variation du timbre de la voix
dans le triangle vocalique sur la période de référence, on en déduit que le joueur
est en train de chanter des paroles.
[0016] . Alternativement, on sépare les consonnes et ou les voyelles en plusieurs groupes,
par exemple quatre groupes de consonnes et de voyelles. Si toutes les consonnes et
toutes les voyelles appartiennent au même groupe, alors on peut considérer que la
personne fredonne. A contrario si le groupe auquel appartiennent les consonnes et
ou les voyelles varie, la personne est en train de dire des paroles c'est-à-dire un
texte dont le contenu varie en termes de consonnes et/ou de voyelles.
[0017] . L'invention concerne donc un procédé comme défini par la revendication indépendante
1. Des mises en oeuvre alternatives sont énnoncées dans les revendications dépendantes
associées.
[0018] . 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. Elles montrent :
Figure 1 : une représentation graphique en fonction du temps de l'amplitude d'un signal
de voix et de la fréquence fondamentale qui en a été extrait à l'aide d'un algorithme
de détection de la fréquence fondamentale ainsi que le signal de qualité de l'extraction
de la fréquence fondamentale ;
[ Figure 2 : une représentation schématique des étapes du procédé selon l'invention
permettant de calculer des états instantanés du signal de voix ;
Figure 3 : une représentation schématique des étapes du procédé selon l'invention
permettant de détecter si le joueur chante des paroles ou fredonne à partir des états
instantanés du signal de voix ;
Figure 4 : une représentation graphique de l'amplitude du signal de voix correspondant
à des paroles chantées ainsi que l'état activé ou désactivé de la fonction de détection
de paroles selon l'invention au cours de la chanson.
[0019] . Les éléments identiques conservent la même référence d'une figure à l'autre.
[0020] . La Figure 1 montre une représentation schématique de l'amplitude d'un signal S
de voix en fonction du temps t.
[0021] . Dans une première étape 10 du procédé selon l'invention montrée sur la Figure 2,
on mesure l'énergie Ei instantanée et le coefficient Vi de voisement représentatif
du voisement de la voix pour tous les points Pi du signal S de voix analysés aux instants
d'analyse ti espacés entre eux dans le temps par une période TA d'analyse. Plus le
coefficient Vi est élevé, plus le son de la voix à l'instant ti est voisé ; tandis
que plus ce coefficient Vi est faible, moins le son de la voix à l'instant ti est
voisé.
[0022] . A partir de ces mesures, on en déduit l'état instantané « State_Pi » du signal
S de voix en chaque point Pi, cet état « State_Pi » pouvant être l'état « silence
» correspondant à l'absence d'un signal de voix de puissance suffisante, l'état «
voisé » correspondant à l'émission d'un son de nature voisée, et l'état « non voisé
» correspondant à l'émission d'un son de nature non voisée.
[0023] . A cet effet, on compare dans une étape 13 l'énergie Ei instantanée du signal S
de voix à un seuil A. Dans un exemple ce seuil vaut 0.02 pour un signal normalisé.
Si l'énergie Ei du signal est inférieure au seuil A, alors on en déduit dans une étape
15 que l'état instantané « State_Pi » du point Pi est « silence ». En revanche si
l'énergie Ei du signal de voix est supérieure au seuil A, alors on en déduit qu'un
son de puissance suffisante sort effectivement de la bouche du joueur et on détermine
ensuite si le son est voisé ou non voisé.
[0024] . A cet effet, on compare dans une étape 17 le coefficient de voisement Vi avec un
seuil B. Dans un exemple, B vaut 0.3 pour un signal normalisé. Si le coefficient Vi
de voisement est inférieur au seuil B alors on en déduit que le son est non-voisé
dans une étape 18 (l'état instantané « State_Pi » vaut alors « non voisé »). Cela
signifie que le joueur est vraisemblablement en train de prononcer un son notamment
de type P, T, K, B, D, G, CH, F, S.
[0025] . Tandis que si le coefficient Vi de voisement est supérieur au seuil B alors on
en déduit que le son est voisé dans une étape 19 (l'état instantané « State_Pi » vaut
alors « voisé »). Cela signifie que le joueur est vraisemblablement en train de prononcer
une voyelle ou une consonne voisée.
[0026] . Dans un exemple, pour calculer l'énergie instantanée Ei et le coefficient Vi de
voisement, on applique au signal S de voix un algorithme qui permet d'extraire les
fréquences fondamentales de ce signal S représentées en fonction du temps par la courbe
S' sur la Figure 1.
[0027] . Le coefficient Vi de voisement correspond au coefficient Q de la mesure de la qualité
de la détection de la fréquence fondamentale par l'algorithme de détection de la fréquence
représenté en fonction du temps par la courbe S". La qualité d'extraction correspond
à la fiabilité de la détection de la fréquence fondamentale. La qualité Q de l'extraction
de la fréquence fondamentale du signal de voix S, qui est en relation très étroite
avec le voisement de la voix, sera très élevée pour les parties voisées de la voix
au cours desquelles les cordes vocales vibrent, ce qui permet d'extraire facilement
la fréquence fondamentale du signal S de voix. Tandis que la qualité Q de l'extraction
de la fréquence fondamentale du signal S de voix sera peu élevée pour les parties
non voisées au cours desquelles les cordes vocales ne vibrent pas ou très peu, ce
qui rend difficile l'extraction de la fréquence fondamentale du signal S de voix.
[0028] . Dans un exemple, l'algorithme de détection de la fréquence fondamentale est l'algorithme
YIN. Cet algorithme, connu de l'homme du métier, est précisément décrit dans le document
de brevet de France Télécom ayant le numéro d'enregistrement national français
0107284. La qualité de détection de la hauteur est la valeur (1-d'), d' étant la fonction
différence moyennée et normalisée de l'algorithme de YIN telle que décrite au sein
du document de brevet de France Télécom ayant le numéro d'enregistrement national
français
0107284, et représentée en fonction du temps par la courbe S".
[0029] . En variante, le coefficient de voisement est par exemple une mesure du bruit non-harmonique
contenu dans le signal audio, mesuré par exemple par le zero-crossing rate (ZCR),
une valeur faible de ZCR étant caractéristique d'un son voisé tandis qu'une valeur
élevée de ZCR est caractéristique d'un son non voisé. L'utilisation du ZCR est particulièrement
avantageuse dans le cas où l'on souhaite réduire au maximum la consommation CPU du
système.
[0030] . Dans un exemple, le signal de voix S étant échantillonné à 16kHz, l'énergie instantanée
Ei et la qualité Qi sont calculés tous les TA=20 ms en appliquant l'algorithme de
détection de la fréquence fondamentale sur les derniers 1024 points échantillonnés
du signal S de manière à effectuer un recoupement entre les différents morceaux du
signal S analysé (les derniers 1024 points correspondant à environ 3 périodes TA de
20ms). En variante, il n'y a pas de recoupement entre les différents morceaux du signal
analysés.
[0031] . Ensuite, comme représenté sur la Figure 3, dans une étape 25, on effectue une analyse
du signal S de voix sur une période de référence TRi de durée de référence TR (environ
une seconde) avant l'instant ti, ce qui revient à conserver les 50 derniers états
instantanés State_Pj pour TA=20 ms. En variante, le nombre d'états instantanés State_Pj
conservés pourrait être différent pour effectuer une analyse sur une période de référence
TRi plus ou moins longue. En variante la période de référence TRi peut être remplacée
par un ensemble de points autour de l'instant ti, que ces points soient avant ou après
l'instant ti.
[0032] . Dans une étape 27, on analyse si les N derniers états (typiquement N=5 soit 100ms)
instantanés State_Pj du signal S sont des silences. Si c'est le cas, on en déduit
que l'instant ti d'analyse est un instant de silence. Sinon on en déduit que ti n'est
pas un instant de silence et on détermine alors si il s'agit d'un instant ti chanté
ou fredonné.
[0033] . A cet effet, dans une étape 30, on conserve parmi les 50 derniers états instantanés
du signal uniquement les états instantanés « State_Pj » de type « voisé » ou « non
voisé » à l'exclusion des états de silence. Puis on analyse dans une étape 33 si tous
les états instantanés « State_Pj » conservés sont des états « voisés ». Si c'est le
cas, alors on en déduit à l'étape 34 que le signal S de voix correspond à un fredonnement
à l'instant ti puisqu'il est a priori impossible de ne pas observer au moins un passage
non voisé au cours de la période de référence TRi dans un langage chanté. En revanche,
si il n'y a pas uniquement des états voisés, alors on en déduit à l'étape 35 que le
signal S de voix correspond à un chant de paroles à l'instant ti puisqu'il est a priori
naturel d'observer au moins un passage non voisé au cours de la période de référence
TRi dans un langage chanté avec des paroles.
[0034] . Lors de l'utilisation de l'invention dans un Karaoké, le joueur pourra être pénalisé
pour chaque instant ti pendant lequel il a fredonné au lieu de chanter les paroles
de la chanson à interpréter, ou au contraire récompensé pour chaque instant ti où
il a chanté avec les paroles.
[0035] . Il est possible que certaines chansons présentent des passages voisés ayant une
durée supérieure à la durée TR de la période de référence. Ainsi la Figure 4 montre
l'amplitude 41 du signal S de voix correspondant aux paroles 42 d'une chanson dans
laquelle le passage 42.1 entièrement voisé « la lune mon ami » (en grisé) a une durée
TD supérieure à la durée TR de la période de référence.
[0036] . Afin d'éviter de fausses détections de fredonnement sur ces paroles particulières,
il peut être utile d'inhiber la fonction de détection des paroles sur toute la durée
TD du passage voisé 42.1. Ainsi comme montré dans le bandeau 43 de la Figure 4, la
fonction de détection de paroles selon l'invention est inhibée sur la période TD (mise
sur OFF) mais activée pour le reste de la chanson (mise sur ON).
[0037] . On peut aussi activer cette fonction de détection des paroles pendant une partie
seulement de la chanson (par exemple le refrain) pour laquelle il faut connaître les
paroles et pas pendant d'autres (par exemple les couplets) pendant lesquelles la connaissance
des paroles devient facultative.
[0038] . On note que la détection des silences dans le signal S de voix optimise le fonctionnement
du procédé selon l'invention car il évite que certains bruits blancs parasites ne
soient arbitrairement considérés comme des sons de type voisé ou non voisé. Toutefois
en variante, dans un fonctionnement dégradé, on supprime les étapes 13, 15, 27 et
29 de détection des silences et on analyse simplement si l'état instantané « State_Pi
» du signal S est « voisé » ou « non voisé », puis on analyse les états instantanés
du signal S de voix sur la période de référence TRi. On en déduit que le joueur fredonne
si tous ces états instantanés sont de type voisés et qu'il chante dans le cas contraire.
1. Procédé pour détecter des paroles chantées par rapport au fredonnement dans un signal
(S) de voix d'un utilisateur
caractérisé en ce qu'il comporte les étapes suivantes :
- mesurer un coefficient de voisement (Vi) à différents instants d'une période de
référence (TRi),
- comparer les coefficients de voisement (Vi) ainsi mesurés sur la période de référence
(TRi) à une valeur seuil (B), et
- en fonction des résultats des ces comparaisons (State_Pj) sur la période de référence
(TRi), déduire si, à un instant d'analyse (ti), l'utilisateur est en train de prononcer
des paroles chantées s'il n'y a pas uniquement des états voisés au cours de ladite
période de référence (TRi), ou est en train de fredonner si tous les états instantanés
conservés au cours de ladite période de référence (TRi) sont des états voisés.
2. Procédé selon la revendication 1, caractérisé en ce que la période de référence (TRi) précède l'instant d'analyse (ti).
3. Procédé selon la revendication 1 ou 2,
caractérisé en ce que :
- si le coefficient (Vi) de voisement est supérieur à la valeur seuil (B) pendant
la période (TRi) de référence, alors
- on en déduit qu'il y a aucun instant non voisé dans la voix pendant cette durée
seuil et que l'utilisateur fredonne à l'instant d'analyse (ti),
- sinon on en déduit que l'utilisateur prononce des paroles à l'instant d'analyse
(ti).
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le coefficient (Vi) de voisement est la valeur (1-d'), d' étant la fonction différence
moyennée et normalisée de l'algorithme de YIN.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que la période (TRi) de référence est de l'ordre de 1 seconde.
6. Procédé selon l'une des revendications 3 à 5, caractérisé en ce que l'étape de comparaison du paramètre (Vi) de voisement avec la valeur seuil (B) est
effectuée uniquement si l'énergie (Ei) du signal (S) de voix est supérieure à une
valeur seuil (A).
7. Procédé selon la revendication 1 ou 2,
caractérisé en ce que le signal de voix (S) étant échantillonné, il comporte les étapes suivantes :
- calculer une intensité instantanée (Ei) et un coefficient (Vi) de voisement instantané
pour des points (Pi) du signal de voix à des instants (ti) d'analyse espacés entre
eux par une période d'analyse (TA) sur la période de référence (TRi),
- déterminer les états instantanés « State_Pi » du signal (S) de voix à chaque instant
ti à partir des mesures de l'énergie Ei instantanée et du voisement (Vi) du signal
(S) de voix, ces états instantanés pouvant être l'état « voisé » correspondant à l'émission
d'un son de nature voisée, ou l'état « non voisé » correspondant à l'émission d'un
son de nature non voisée,
- si tous les états instantanés « State_Pj » sont de type « voisés » sur la période
(TRi) de référence alors on en déduit qu'il n'y a pas prononciation de paroles dans
le signal (S) de voix à l'instant d'analyse (ti),
- sinon on en déduit qu'il y a prononciation de paroles dans le signal (S) de voix
à l'instant d'analyse (ti).
8. Procédé selon la revendication 7,
caractérisé en ce que pour déterminer l'état instantané « State_Pi » du signal S de voix à l'instant d'analyse
(ti),
- on compare le coefficient de voisement Vi avec un seuil (B),
- si le coefficient (Vi) de voisement est inférieur au seuil (B) alors l'état instantané
« State_Pi » vaut « non voisé »,
- sinon on en déduit que l'état instantané State_Pi vaut « voisé ».
9. Procédé selon la revendication 7,
caractérisé en ce que l'état instantané « State_Pi » peut prendre en outre l'état « silence » correspondant
à l'absence d'un son de puissance suffisante,
- si les N derniers états instantanés « State_Pj » sur la période (TRi) de référence
sont de type « silence » alors on en déduit que le signal ne contient pas de voix
à l'instant (ti), sinon
- on conserve, sur la période de référence (TRi), uniquement les états instantanés
de type « voisés » ou « non voisés » à l'exclusion des états instantanés « State_Pj
» de type « silence ».
10. Procédé selon la revendication 9,
caractérisé en ce que pour déterminer l'état instantané « State_Pi » du signal (S) de voix,
- on compare l'énergie (Ei) instantanée du signal S de voix à un premier seuil (A),
- si l'énergie (Ei) du signal est inférieure au seuil (A), alors on en déduit que
l'état instantané « State_Pi » vaut « silence »,
- sinon on compare le coefficient de voisement (Vi) avec un deuxième seuil (B),
si le coefficient (Vi) de voisement est inférieur au deuxième seuil (B) alors l'état
instantané « State Pi » vaut « non voisé »,
sinon on en déduit que l'état instantané « State_Pi » vaut « voisé ».
11. Procédé selon l'une des revendications 7 à 10, caractérisé en ce que la période (TA) d'analyse vaut 20ms et la durée (TR) de la période de référence 1
s.
12. Procédé selon la revendication 7 à 11, caractérisé en ce que le signal de voix (S) est échantillonné à 16kHz.
13. Utilisation du procédé selon l'une des revendications 1 à 12 dans une application
de type jeu de Karaoké.
14. Utilisation selon la revendication 13, caractérisée en ce que on inhibe la mise en oeuvre du procédé selon l'une des revendications 1 à 12 pour
les passages voisés (42.1) de chanson ayant une durée (TD) supérieure à la durée (TR)
de la période de référence ou sur des passages de chansons arbitrairement choisis.
1. Verfahren zum Erfassen von gesungener Sprache gegenüber dem Summen in einem Sprechsignal
(S) eines Benutzers,
dadurch gekennzeichnet, dass es die folgenden Etappen enthält:
- Messen eines Stimmkoeffizienten (Vi) in verschiedenen Momenten eines Berichtszeitraums
(TRi),
- Vergleichen der so während des Berichtszeitraums (TRi) gemessenen Stimmkoeffizienten
(Vi) mit einem Schwellenwert (B), und
- entsprechend der Ergebnisse dieser Vergleiche (State_Pj) während des Berichtszeitraums
(TRi) aus diesen ableiten, ob der Benutzer in einem Analysemoment (ti) gerade gesungene
Sprache äußert, falls es im Verlauf des besagten Berichtszeitraums (TRi) nicht ausschließlich
stimmhafte Zustände gibt, oder ob er gerade summt, wenn alle festgehaltenen Momentzustände
des Berichtszeitraums (TRi) stimmhafte Zustände sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Berichtszeitraum (TRi) dem Analysemoment (ti) vorausgeht.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet, dass:
- wenn der Stimmkoeffizient (Vi) während des Berichtszeitraums (TRi) höher ist als
der Schwellenwert (B),
- man daraus ableitet, dass es während dieser Schwellendauer keinen stimmlosen Moment
in der Stimme gibt und dass der Benutzer im Analysemoment (ti) summt,
- man andernfalls daraus ableitet, dass der Benutzer im Analysemoment (ti) Worte ausspricht.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Stimmkoeffizient (Vi) der Wert (1-d') ist, wobei d' die gemittelte und standardisierte
Differenzfunktion des Algorithmus von YIN ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Dauer des Berichtszeitraums (TRi) eine Sekunde beträgt.
6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass der Schritt des Vergleichs des Stimmparameters (Vi) mit dem Schwellenwert (B) nur
durchgeführt wird, wenn die Energie (Ei) des Stimmsignals (S) höher ist als ein Schwellenwert
(A).
7. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet, dass es, da das Stimmsignal (S) abgetastet wird, die folgenden Schritte umfasst:
- Berechnen einer momentanen Intensität (Ei) und eines momentanen Stimmkoeffizienten
(Vi) für Punkte (Pi) des Stimmsignals an Analysemomenten (ti), die während des Berichtszeitraums
(TRi) durch eine Analyseperiode (TA) voneinander getrennt sind,
- Bestimmen der Momentzustände "State_Pj" des Stimmsignals (S) in jedem Moment ti
ausgehend von Messungen der momentanen Energie Ei und der Stimmhaftigkeit (Vi) des
Stimmsignals (S), wobei diese Momentzustände "stimmhafte" Zustände sein können, die
der Aussendung eines Tones von stimmhafter Art entsprechen, oder "stimmlose" Zustände,
die der Aussendung eines Tones von stimmloser Art entsprechen,
- wenn alle Momentzustände "State_Pj" während des Berichtszeitraums (TRi) "stimmhafter"
Art sind, so leitet man daraus ab, dass im Analysemoment (ti) im Stimmsignal (S) keine
Aussprache von Worten stattfindet,
- andernfalls leitet man daraus ab, dass im Analysemoment (ti) im Signal (S) Worte
ausgesprochen werden.
8. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, dass, um den Momentzustand "State_Pi" des Stimmsignals (S) im Analysemoment (ti) zu bestimmen,
- man den Stimmkoeffizient (Vi) mit einem Grenzwert (B) vergleicht,
- wenn der Stimmkoeffizient (Vi) niedriger ist als der Schwellenwert (B), der Momentzustand
"State_Pi" "stimmlos" ist,
- man andernfalls daraus ableitet, dass der Momentzustand "State_Pi" "stimmlos" ist.
9. Verfahren nach Anspruch 7,
dadurch gekennzeichnet, dass der Momentzustand "State_Pi" außerdem den Zustand "Stille" annehmen kann, der dem
Fehlen eines ausreichend starken Tones entspricht,
- wenn die N letzten Momentzustände "State_Pj" während des Berichtszeitraums (TRi)
"Stillezustände" sind, so leitet man daraus ab, dass das Signal im Moment (ti) keine
Stimme enthält, andernfalls
- man während des Berichtszeitraums (TRi) nur die Momentzustände des Typs "stimmhaft"
oder "stimmlos" beibehält, ausgenommen die Momentzustände "State_Pj" des Typs "Stille".
10. Verfahren nach Anspruch 9,
dadurch gekennzeichnet, dass, um den Momentzustand "State_Pi" des Stimmsignals (S) zu bestimmen,
- man die momentane Energie (Ei) des Stimmsignals (S) mit einem ersten Schwellenwert
(A) vergleicht
- wenn die Energie (Ei) des Signals niedriger ist als der Schwellenwert (A), man daraus
ableitet, dass der Momentzustand "State_Pi" als "Stille" gilt,
- man andernfalls den Stimmkoeffizienten (Vi) mit einem zweiten Schwellenwert (B)
vergleicht,
- wenn der Stimmkoeffizient (Vi) niedriger ist als der zweite Schwellenwert (B) der
Momentzustand "State_Pi" als "stimmlos" gilt,
- man andernfalls daraus ableitet, dass der Momentzustand "State_Pi" "stimmhaft" ist.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass die Analyseperiode (TA) 20 ms dauert und die Dauer (TR) des Berichtszeitraums 1 s.
12. Verfahren nach Anspruch 7 bis 11, dadurch gekennzeichnet, dass das Stimmsignal (S) mit 16kHz abgetastet wird.
13. Gebrauch des Verfahrens nach einem der Ansprüche 1 bis 12 in einer Anwendung vom Typ
eines Karaokespiels.
14. Gebrauch nach Anspruch 13, dadurch gekennzeichnet, dass man die Umsetzung der Verfahrensweise nach einem der Ansprüche 1 bis 12 für stimmhafte
Liedpassagen (42.1) mit einer längeren Dauer (TD) als der Dauer (TR) des Berichtszeitraums
oder für willkürlich ausgewählte Liedpassagen untersagt.
1. A method for detecting words sung as opposed to humming in a voice signal (S) of a
user,
characterised in that it comprises the following steps:
- measuring a voicing coefficient (Vi) at different moments of a reference period
(TRi),
- comparing voicing coefficients (Vi) thus measured over the reference period (TRi)
at a threshold value (B), and
- in accordance with the results from these comparisons, (State_Pj) over the reference
period (TRi), deducing if, at a time of analysis (ti), the user is in the process
of pronouncing the sung words if there are not only voiced states during the said
reference period (TRi), or is in the process of humming if all the instantaneous states
stored during the said reference period (TRi) are voiced states.
2. A method according to the claim 1, characterised in that the reference period (TRi) precedes the time of analysis (ti).
3. A method according to the claim 1 or 2,
characterised in that:
- if the voicing coefficient (Vi) is higher than the threshold value (B) during the
reference period (TRi), then
- it is deduced that is no unvoiced time in the voice during this threshold duration,
and that the user is humming at the time of analysis (ti),
- otherwise, it is deduced that the user pronounces words at the time of analysis
(ti).
4. A method according to one of the claims 1 to 3, characterised in that the voicing coefficient (Vi) is the value (1-d'), d' being the average and standardised
difference function of the YIN algorithm.
5. A method according to one of the claims 1 to 4, characterised in that the reference period (TRi) is 1 second.
6. A method according to one of the claims 3 to 5, characterised in that the step of comparing the voicing parameter (Vi) with the threshold value (B) is
only carried out if the energy (Ei) of the voice signal (S) is higher than one threshold
value (A).
7. A method according to the claim 1 or 2,
characterised in that the voice signal (S) being sampled, it includes the following steps:
- calculating an instantaneous intensity (Ei) and an instantaneous voicing coefficient
(Vi) for the points (Pi) of the voice signal at spaced out times (ti) of analysis,
by a period of analysis (TA) over the reference period (TRi),
- determining the instantaneous states "State_Pi" of the voice signal (S) at each
time (ti) from measurements of instantaneous energy (Ei) and of the voicing (Vi) of
the voice signal (S), these instantaneous states being able to be the "voiced" state,
corresponding to the emission of a voiced sound of nature, or the "unvoiced" state,
corresponding to the emission of an unvoiced sound of nature,
- if all the instantaneous states "State_Pj" are "voiced" types over the reference
period (TRi), then it is deduced that there is no pronunciation of words in the voice
signal (S) at the time of analysis (ti),
- otherwise it is deduced that there is a pronunciation of words in the voice signal
(S) at the time of analysis (ti).
8. A method according to the claim 7,
characterised in that to determine the instantaneous state "State_Pi" of the voice signal S at the time
of analysis (ti),
- the voicing coefficient Vi is compared with the threshold (B),
- if the voicing coefficient (Vi) is less than the threshold (B), then the instantaneous
state "State_Pi" is "unvoiced",
- otherwise, it is deduced that the instantaneous state "State_Pi" is "voiced".
9. A method according to the claim 7,
characterised in that the instantaneous state "State_Pi" can additionally take on the "silent" state, corresponding
to the absence of sufficiently powerful sound,
- if the last N instantaneous states "State_Pj" over the reference period (TRi) are
"silent" types, then it is deduced that the signal contains no voice at the time (ti),
otherwise
- only the "voiced" or "unvoiced" type instantaneous states are kept over the reference
period (TRi), excluding "State_Pj" "silent" type instantaneous states.
10. A method according to the claim 9,
characterised in that to determine the instantaneous state "State_Pi" of the voice signal (S),
- the instantaneous energy (Ei) of the voice signal (S) is compared with the first
threshold,
- if the energy (Ei) of the signal is less than the threshold (A), then it is deduced
that the instantaneous state "State_Pi" is "silent",
- otherwise, the voicing coefficient (Vi) is compared with the second threshold (B),
- if the voicing coefficient (Vi) is less than the second threshold (B), then the
instantaneous state "State_Pi" is "unvoiced".
- otherwise, it is deduced that the instantaneous state "State_Pi" is "voiced".
11. A method according to one of the claims 7 to 10, characterised in that the period (TA) of analysis is 20ms and the duration (TR) of the reference period
is 1s.
12. A method according to the claims 7 to 11, characterised in that the voice signal (S) is sampled at 16kHz.
13. A use of the method according to one of the claims 1 to 12 in a Karaoke game type
application.
14. A use according to the claim 13, characterised in that the implementation of the method is inhibited according to the claims 1 to 12 for
voiced song paths (42.1) having a duration (TD) higher than the duration (TR) of the
reference period or over arbitrarily chosen song paths.