Vous êtes sur la page 1sur 4

1

Estimacin del pitch en seales monofnicas de voz


cantada
Andrs Eduardo Coca S.*
Departamento de Msica
Universidad de Caldas
Grupo de Control y Procesamiento Digital de Seales
Universidad Nacional de Colombia
Sede Manizales
ResumenSe presentan los algoritmos para la estimacin de
seales musicales de voz cantada sin acompaamiento musical.
La estimacin se desarrolla con los algoritmos de separacin y
acumulacin armnica (SAA) y mxima verosimilitud (ML). Se
aplica el ajuste de bondad de Kolmogorov-Smirnov y la prueba
de hiptesis con el estadstico t de student; con el primero se
determina cual de los algoritmos produce mejores estimaciones
tomando como referencia las frecuencias de las notas musicales
estandarizadas de la escala cromtica temperada y con el segundo
se prueba la respectiva inmunidad ante el ruido de fondo.
Palabras ClavesMsica, Canto, Reconocimiento automtico,
Algoritmos, Procesamiento digital de seales.
I. INTRODUCCIN
La estimacin del pitch para seales de voz cantada re-
quiere un tratamiento diferente al utilizado para determinar
la frecuencia fundamental de la seales de voz hablada.
Las caractersticas propias de la seal de voz hablada son
diferentes a las seales de voz cantada, en estas ltimas se
requiere un rango de estimacin hasta de dos octavas y una
variacin intervlica consciente y controlada entre frecuen-
cias para formar melodas. Debido a estas diferencias los
algoritmos existentes para la estimacin del pitch se deben
modicar cuando se desean hacer estimaciones para seales
musicales no percusivas en general o se deben crear nuevos
algoritmos de estimacin especiales para este tipo de seales
y de esta forma cumplir con la resolucin necesaria y dems
especicaciones. Los algoritmos existentes para la aplicacin
en seales musicales pueden ser en el dominio del tiempo
como separacin y acumulacin armnica (SAA) o en el
dominio de la frecuencia como Mxima verosimilitud (ML),
la gran particularidad es que se debe predenir los valores de
las frecuencias que se van a hallar en este caso las frecuencia
de las notas musicales. Lo que en seales de voz hablada no
es posible porque no se sabe de antemano cual es el valor de
la frecuencia media, dado que no se es consciente de ello.
II. MTODOS DE ESTIMACIN DEL PITCH
II-A. Separacin y acumulacin armnica (SAA)
Este algoritmo esta orientado a aplicaciones musicales, por
cuanto no pretende hallar el valor del pitch directamente, sino
* saudade@terra.com
el nombre de la nota musical y su nmero de octava [2]. Luego
con un post-proceso se halla el valor de la frecuencia exacta
de la nota musical hallada [1]. Para lograr encontrar el valor
del pitch el algoritmo requiere de tres etapas.
Procedimiento:
Etapa 1: Hallar el nombre de la nota.
1. Se crean las doce seales musicales de la escala cromti-
ca. Las cuales se construyen en el dominio temporal
cubriendo el rango de seis octavas [1]:
N
n
(t) =
6

n=1
sen(2 f
n
t) (1)
Para hallar la frecuencia de la octava n de f
i
se usa [1]:
f
n
= 2
(n1)
f
i
(2)
Donde f
i
se obtiene a partir de [4]:
f
i
= f
0

12

2
i
(3)
Siendo f
0
= 110Hz, que corresponde a la frecuencia
de A2 para conservar la anacin estandarizada de A4
(440 Hz).
2. Se multiplica cada una de las doces seales por la trama
de audio (convolucin en frecuencia) [2].
X
n
(t) = S (t) N
n
(t) (4)
3. Se halla la energa de cada una de las seales resultantes
de la multiplicacin [2].
E
n
=

|X
n
(t)|
2
(5)
Donde X
n
(t) es la seal resultante de la multiplicacin
de la seal musical n por la trama de audio.
4. Se busca el valor de energa ms signicativo; no
necesariamente es el mximo sino el que ms diferencia
de amplitud tenga son sus respectivos vecinos locales.
Este peso corresponde con un armnico [2].
Primero se debe convierte el vector en circular [1].
E =
_
B C C# D D# ... B C

(6)
Ecuacin para hallar los pesos [1]:
2

n
= |E
n
E
(n1)
| + |E
n
E
(n+1)
| (7)
Obtenindose el valor del peso ms signicativo del
vector
n
, denominado
n
.
5. Se busca que posicin ocupa el valor ms signicativo
en la escala de la serie armnica. Se busca dentro de
los primeros nueve armnicos de la serie. El algoritmo
funciona correctamente teniendo slo en cuenta cuatro
posibilidades en cuatro combinaciones posibles [2].
Fig. 1
ESCALA DE LOS ARMNICOS PARA C2
Se prueban los primeros nueve armnicos de la serie
armnica sin repetir los que son iguales (2,4,6,8), estas
notas forman el acorde de dominante con novena D
9
[1].
Se prueba los pesos cmo si fuera la tnica, la tercera
mayor, la quinta justa o la sptima menor conservando
su frecuencia, es decir, se halla el peso total de cuatro
acordes de dominante con novena [5], [1].
Cumpliendo con el principio de la conmutacin de
un proceso aditivo, no importa el estado del acorde
(fundamental, primera o segunda inversin) [5], [1].
Se busca la posicin
n
del peso ms signicativo
n
.
Tnica: Se prueba si el valor ms signicativo es
el primer armnico de la escala, es decir, si es la
fundamental del acorde de novena de dominante.
Por no tener en cuenta la fundamental del acorde en
este proceso, se puede considerar como un acorde
de sptima de sensible [1], [5]:

1
=
n+7
+
n+4
+
n+10
+
n+2
(8)
El nmero que se le suma a
n
corresponde al
nmero de semitonos de separacin entre
n
y el
intervalo buscado para formar el acorde [1].
Quinta Justa: Se prueba si es el tercer armnico
de la escala [1], [5].

2
=
n+5
+
n+9
+
n+3
+
n+7
(9)
Tercera Mayor: Probar si es el quinto armnico
[1], [5].

3
=
n+8
+
n+3
+
n+6
+
n+10
(10)
Sptima Menor: Probar si es el sptimo armnico
[1], [5].

4
=
n+2
+
n+9
+
n+6
+
n+4
(11)
La posicin del mximo de
n
, se denota con .
Sabiendo el valor mximo se halla la posicin; esta nos
da la informacin que ocupa la nota en el acorde [2].
De tal forma que:
=
_

_
1, (
n
)
2, (
n+5
)
3, (
n+8
)
4, (
n+2
)
(12)
El nombre de la nota buscada se indica por medio de [1]:
(
n
) = Fundamental (Tnica).
(
n+5
) = Cuarta ascendente (quinta descendente).
(
n+8
) = Tercera mayor (sexta menor ascendente).
(
n+2
) = Sptima menor (segunda mayor ascendente).
Etapa 2: Hallar el nmero de octava.
1. Despus de hallar el nombre de la nota se encuentra el
valor de su frecuencia en la octava inferior usada y se
crean cinco seales en cada una de las seis octavas [2].
N
n
(t) = sen(2 f
n
t) (13)
Para comenzar la escala cromtica en C, sabiendo que
se estn creando a partir de A se debe hacer un ajuste
as [1]:
=
_
> 9, 9
< 9, + 3
(14)
2. Se multiplica cada una de estas seis seales por la trama
de audio (ecuacin 4) [2].
3. Se halla la energa de cada una de las seales resultantes
de la multiplicacin (ecuacin 5) [2].
4. Se halla el valor de energa ms signicativo de los
seis. La posicin de este valor corresponde al nmero
de octava [2].
Etapa 3: Hallar la frecuencia nal de la trama actual.
Como la variable ms importante que se busca es el valor
de la frecuencia de la seal de anlisis. Con esta informacin
se puede hallar el valor de la frecuencia de la nota musical
as [1]:
f
o
(Hz) = 55 4
(
2+a
24
)
2
(b1)
(15)
Donde a es el valor numrico en semitonos de la nota en
la escala cromtica, resultado de la etapa 1.
Y b es el nmero de octava del nombre de la nota hallado,
resultado de la etapa 2.
Nuevamente se usa el valor de frecuencia de 55 Hz (A1)
para conservar la anacin estndar [4].
II-B. Mxima verosimilitud (ML)
Se busca en un conjunto de espectros ideales predenidos
el que mayor similitud tenga con el espectro de la trama de
anlisis. Estos espectros ideales estn conformados por un tren
3
de pulsos [3] que se pueden forman con ondas cosenos cuyas
frecuencias son las frecuencias de las notas musicales de la
escala cromtica (sistema de anacin usado por defecto) o
cualquier tipo de anacion usado para un nmero de octavas
requerido.
Si el error de la diferencia entre estos dos espectros es mn-
imo signica que el espectro de prueba posee gran similitud
con la trama en cuestin y su frecuencia que es conocida
de antemano se asignar como el valor de la frecuencia
fundamental de la trama de anlisis actual [3].
E() = Y Y

2
= Y
2
+ Y

2
2Y Y
T

(16)
Donde Y es el espectro de la trama actual y Y

es el
espectro de prueba con frecuencia localizada en . Dado que
el termino Y
2
es constante y Y

2
tambin permanece
constante para todas las frecuencias de inters, el termino
Y Y

2
(error entre Y y Y

) se hace mnimo cuando el


producto de los dos espectros es mximo [3]:

Y = mn

{E()} = max

_
Y Y
T

_
(17)
Las seales ideales de prueba se crean en el dominio del
tiempo y despus de convolucionar con la seal ventana, su
espectro se multiplica con el espectro de la trama de entrada
[3].
Creacin de las seales musicales de prueba:
Partiendo de la frecuencia mnima y la frecuencia mxima
necesarias se halla el nmero de notas, adems para hacer una
generalizacin del sistema usado y lograr mayor precisin en
el valor de la frecuencia se debe tener en cuenta el tipo de
sistema de anacin usado, segn el factor [1].
Sistema Escala cromtica Cuartos de tono Eneavos de tono

1
/
2
1
/
4
1
/
n
TABLA I
VALORES DE PARA EL SISTEMA DE AFINACIN.
Para hallar las frecuencias de las notas musicales, no se
puede usar la ecuacin usada en el algoritmo SAA (ec. 3):
f
i+1
= f
1
2
(

6
)i
(18)
Porque cuando se van a hallar las frecuencias de las notas
superiores a
6

el valor del factor de la progresin geomtrica


cambia; porque para estos casos el numerador del exponente
de 2 es mayor al denominador, modicando los valores de las
frecuencias de las notas siguientes; por tal razn se debe hacer
una correccin a dicha ecuacin as [1]:
f
n+1
= f
1
x
(
n
6k
)
, n = 1, 2, 3...N (19)
Donde x = 2
k
y k es igual al nmero de octavas que se
usan, ste debe ser superior al nmero de notas N [1].
Para hallar el nmero k de octavas entre dos frecuencias F1
y F2, siendo F2 > F1 se emplea la ecuacin 20 [8]:
k =
logF
2
logF
1
log2
(20)
Y el nmero de notas entre dos frecuencias, teniendo en
cuenta el sistema de anacin musical usado (factor ), se
halla con [1]:
N =
log
_
f2
f1
_
log
_
6

_ (21)
En consecuencia la seales musicales se crean a partir de
[1]:
S
n
(t) =
N

n=1
cos
_
2
f
n
f
s
t h
_
(22)
Donde h es el nmero de armnicos empleados.
III. RESULTADOS
III-A. Seales de voz cantada
El resultado de la estimacin del pitch con el algoritmo ML
para la seccin de la contralto interpretando la primera frase
del introito del Requiem en D menor K.626 de Mozart, se
muestra en la gura 2 con su respectiva partitura.
Fig. 2
ESTIMACIN DEL pitch CON EL ALGORITMO ML.
Para constatar los resultados obtenidos en la gura 2, en la
tabla II se encuentran los valores de frecuencias de las notas
mostradas en la partitura. Se demuestra que los resultados son
satisfactorios, sin embargo la frecuencia de B3 no concuerda
con el valor esperado, esto se debe a una leve desanacion de
la cantante la cual se aproxima ms a el B3 y las oscilaciones
en A se debe a un vibrato natural descendente hacia G3, en
la ltima columna de la tabla II se muestra la frecuencia de
esta nota [1].
III-B. Test de Kolmogorov-Smirnov
Encontrando en promedio una respuesta aparentemente p-
tima segn las seales de prueba, se pas a determinar de una
forma objetiva y cientca el algoritmo que mejor desempeo
proporciona tomando como referencia las frecuencias de la
notas musicales de la escala cromtica.
4
D4 C4 C4 B3 E4
293, 66 277, 18 261, 62 233, 08 329, 63
A3 F4 F4 B3 G3
220 349, 23 369, 99 246, 94 207, 65
TABLA II
FRECUENCIAS DE LAS NOTAS USADAS EN LA PRIMERA FRASE DEL
REQUIEM DE MOZART.
Se aplica el test de Kolmogorov-Smirnov, el cual permite
comparar dos distribuciones de probabilidad acumulativas de
datos continuos univariados [6].
Como hiptesis nula H
o
, se tiene:
H
o
= Las muestras tiene igual distribucin de probabilidad.
Para los los niveles de signicacin de 0,05 y 0,01, se
aplica el test para muestras de voz cantada. Las muestras se
recolectarn con estudiantes de Licenciatura en Msica de la
Universidad de Caldas, cada uno de ellos interpret una nota
musical aguda y otra grave dependiendo de su registro; durante
2 segundos aproximadamente. Los resultados obtenidos se
muestran en la tabla III.
Mtodo = 0,05 = 0,01
SAA Rechaza Rechaza
ML No Rechaza No Rechaza
TABLA III
RESULTADOS DEL TEST DE KOLMOGOROV-SMIRNOV
Fig. 3
DISTRIBUCIONES DE PROBABILIDAD ACUMULATIVA.
III-C. Prueba de inmunidad ante el ruido
Para determinar el nivel de sensibilidad o de resistencia de
cada uno de los algoritmos de estimacin del pitch ante ruido
ambiente de fondo, se obtuvieron muestras de pitch con ruido
gaussiano aditivo de 20 dB (x
2
), para contrastarlas con sus
respectivas estimaciones sin ruido x
1
.
Se aplic, la prueba de hiptesis con el estadstico t-student
bajo el nivel de signicacin de 0,05 y 0,1. La hiptesis nula
planteada es [7]:
H
o
= (x
1
x
2
) = 0 (23)
Los resultados obtenidos con la prueba de hiptesis se
pueden apreciar en la tabla IV.
Algoritmo = 0,05 = 0,01
SAA No rechaza No Rechaza
ML No Rechaza No Rechaza
TABLA IV
RESULTADOS DE LA PRUEBA DE HIPTESIS.
IV. CONCLUSIONES
1. Los algoritmos ML y SAA, requieren de una anacin
exacta de las seales musicales de entrada. Por esta
razn stos no son completamente apropiados para la
estimacin de la frecuencia fundamental de seales de
voz cantada; stas pueden producir frecuencias continuas
de forma consciente o debido a errores de anacin por
parte del cantante. Lo que diculta la estimacin por ser
la respuesta del pitch el resultado de la aproximacin a
la frecuencia de la nota predenida ms cercana.
2. El algoritmo SAA es muy sensible a los errores de oc-
tava, por tal razn se rechaz la prueba de Kolmogorov-
Smirnov con los dos niveles de signicacin usados.
Estos errores de octava hacen que la diferencia entre los
datos de pitch obtenidos tengan una gran diferencia con
los valores de referencia, porque un pequeo incremento
en el nmero de octava hace que la diferencia se incre-
mente en mayor proporcin ya que las frecuencias de las
notas musicales son creadas logaritmicamente. Adems
SAA presenta errores espordicos en el resultado del
nombre de la nota, se mejora aplicando la moda del
vector pero elimina la posibilidad de estimar secuencia
de pitch (melodas).
3. Al nivel de signicacin de = 0,05 y = 0,01, ambos
algoritmos superaron la prueba de inmunidad ante el
ruido de fondo de 20 dB realizada con el estadstico
t-student.
REFERENCIAS
[1] Coca S. Andrs Eduardo. Estimacin del pitch en seales monofnicas
de voz cantada. Tesis Ingeniero Electrnico. Universidad Nacional de
Colombia, Sede Manizales, 2004.
[2] Serquera Peyro, Jaime and Corral Gonzales, Juan Luis.
Algoritmo Para La Deteccin En Tiempo Real Del Tono
En Seales Musicales Monofnicas, por Separacin-
Acumulacin Armnica (SAA). Escuela Superior de Ganda.
http://www.ia.csic.es/Sea/publicaciones/4375cd002.pdf, 2003.
[3] De la Cuadra, Patricio and Aaron, Master and Craig, Sapp.
Efcient Pitch Detection Techniques For Interactive Music.
http://www.stanford.edu/ pdelac/research/MyPublishedPapers/icmc_2001-
pitch_best.pdf, 2000.
[4] Deolazabal,Tirso. Acstica Musical y Organologa. Editorial Ricordi
Americana S.A.E.C. Buenos Aires, Argentina. 1993.
[5] Palma, Athos. Tratado Completo de Armona. Editorial Ricordi. Buenos
Aires, Argentina. 1941.
[6] Kolmogorov Smirnov Two Sample. NIST (Na-
tional Institue of Standards and Technology).
www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/ks2samp.htm
[7] Montgomery,Douglas C. Contro Estadstico de la Calidad. Grupo Edi-
torial Iberoamrica. 1991.
[8] Msica Electrnica: rganos. Editorial Hedas. Ltda. Santaf de Bogota,
Colombia.

Vous aimerez peut-être aussi