Você está na página 1de 12

Um Sistema Autom atico de Transcric ao Mel odica

Adriano Mitre e Marcelo Queiroz


Instituto de Matem atica e Estatstica da Universidade de S ao Paulo (IME-USP)
Rua do Mat ao, 1010 05508-090 S ao Paulo, SP Brasil
amitre@linux.ime.usp.br, mqz@ime.usp.br
Abstract. A system for the automatic transcription of melodies which imple-
ments state-of-the-art techniques of sinusoids estimation is presented. A novel
technique, which benets from robust partial estimates, is proposed for the esti-
mation of fundamental frequency. Furthermore, systems exibility allows it to
serve also as a signal analysis tool, aiding in the production of plots such as
sonograms and F0-grams.
Resumo. Um sistema de transcric ao autom atica de melodias que implementa
diversas t ecnicas de estimac ao robusta de sen oides e apresentado. Partindo de
estimativas con aveis de parciais, uma nova heurstica para determinac ao de
freq u encia fundamental e proposta. Tendo sido concebido de maneira modular,
o sistema pode ainda ser usado como ferramenta de an alise de sinais, servindo
` a produc ao de gr acos como sonogramas e F0-gramas.
1. Introduc ao
O problema da transcric ao autom atica de melodias, embora estudado h a v arios anos (vide
[Roads, 1996, cap.12] para um estudo taxon omico), dicilmente pode ser considerado um
problema fechado. Uma variedade de aspectos t ecnicos e cognitivos fazem corresponder
a cada soluc ao proposta um novo conjunto de situac oes e exemplos (sint eticos ou natu-
rais) em que a soluc ao n ao fornece a resposta correta ou n ao fornece a resposta a tempo.
Estes dois aspectos - robustez e eci encia - s ao fundamentais, por exemplo, durante uma
performance interativa.
Dentre as diculdades t ecnicas destaca-se o problema da resoluc ao temporal ver-
sus resoluc ao de freq u encia, que ser a discutido em detalhes na sec ao 6. Do lado cognitivo
pode-se mencionar que a determinac ao da freq u encia fundamental em um fragmento de
audio e um problema que em geral n ao admite soluc ao unica/objetiva, mesmo de posse
do espectro contnuo (com precis ao innita) do fragmento em quest ao. Todo m etodo de
soluc ao e heurstico por natureza e tem maior ou menor grau de acerto de acordo com a
anidade do fragmento analisado com as hip oteses implcitas no m etodo.
Isto posto, pode-se compreender o sistema aqui descrito como uma proposta ro-
busta de soluc ao do problema, fornecendo ao usu ario diversas opc oes de t ecnicas de re-
namento espectral e uma heurstica nova, baseada em estimativas con aveis de parciais,
para a determinac ao de freq u encia fundamental.
O sistema tem como entrada um sinal de audio monof onico (por exemplo uma
gravac ao ac ustica) e produz uma transcric ao de seu conte udo mel odico. No contexto
deste artigo, transcric ao signicar a a obtenc ao de uma representac ao simb olica, mais for-
malmente um conjunto de qu adruplas da forma (t
0
, n, t, v), onde n denota a altura da

O projeto teve apoio da FAPESP, projeto tem atico 02/02678-0.


nota, v sua intensidade, t
0
seu incio e t sua durac ao. No restante do texto iremos nos
referir a essas qu adruplas como notas.
Nosso sistema possui tr es modos de impress ao de notas: descritivo, piano roll e
MIDIc avel. O primeiro tem como sada um texto de f acil leitura, em que as notas s ao
descritas com letras (notac ao latina) e oitavas em relac ao ` a central, por exemplo E(1).
J a o segundo modo produz um arquivo que ao ser carregado no gnuplot
1
produz uma
visualizac ao das notas em estilo piano roll.
O terceiro modo, por sua vez, tem como sada um arquivo em formato CSV
2
que,
ao ser processado pelo utilit ario MIDICSV
3
, dar a origem a um arquivo MIDI. Neste caso,
o andamento, a forma de compasso e a pausa inicial ser ao fornecidos pelo usu ario.

E
possvel ainda, a partir do arquivo MIDI, obter partituras das transcric oes com o uso de
sistemas como o Lilypond
4
.
2. Arquitetura do Sistema
Uma parcela signicativa dos sistemas de transcric ao encontrados na literatura mesclam
tratamento minucioso de alguns aspectos do problema e hipersimplicac ao de outros. O
cuidado devotado a um certo aspecto e tipicamente determinado por sua proximidade com
o foco da pesquisa. Como a praxe e apresentar resultados apenas do sistema como um
todo, n ao e possvel dimensionar o impacto individual de cada decis ao de projeto.
Em vista disso, nosso sistema foi projetado como um conjunto de m odulos in-
dependentes e desacoplados, ilustrados na Figura 1. Al em de oferecer maior liberdade
de experimentac ao, a modularidade de nosso sistema torna mais f acil identicar a causa
de uma transcric ao mal-sucedida. Por m, amplia sua funcionalidade, permitindo f acil
integrac ao com outros sistemas por meio de pipes. Com efeito, a comunicac ao entre os
diferentes m odulos de nosso sistema pode ser realizada com pipes.
Transcrio
Meldica
Sinal de
udio
Anlise
Espectral
Deteco
de Parciais
Estimao
Precisa
de Parciais
Estimao de F0
Triagem
de Parciais
Deteco de
Incio de Notas
Produo
de Notas
Figura 1: M odulos do sistema e seu uxo de dados.
O sistema foi codicado na linguagem C padr ao ANSI, escolhida em func ao de
sua portabilidade e eci encia. Apesar de n ao ser uma linguagem orientada a objetos, con-
ceitos deste paradigma foram freq uentemente considerados durante o desenvolvimento
do sistema, al em das boas pr aticas de programac ao [Kernighan e Pike, 2000].
1
disponvel gratuitamente em http://www.gnuplot.info
2
acr onimo, em ingl es, para valores separados por vrgula.
3
idem, http://www.fourmilab.ch/webtools/midicsv
4
idem, http://lilypond.org/web
3. Modelo do Sinal
O sistema espera como entrada um sinal constitudo por uma sucess ao de notas e pausas
(i.e., perodos de sil encio). A evoluc ao din amica de uma nota musical pode ser descrita,
na maior parte das entradas naturais, pelo envelope ADSR, que consiste em uma sucess ao
de quatro est agios: ataque, amortecimento, sustentac ao e dissipac ao. A inspec ao de cer-
tos aspectos destes est agios e muito importante no projeto de um sistema transcritor. A
Tabela 1 apresenta um resumo dessas caractersticas.
Tabela 1: Modelo evolutivo de uma nota tpica.
Est agio Energia Car ater
Ataque Cresce rapidamente Transiente
Amortecimento Decresce Em estabilizac ao
Sustentac ao
Peramenece constante
Peri odico (som harm onico)
ou decresce lentamente
Dissipac ao Decresce rapidamente Peri odico (som harm onico)
O modelo de sinal adotado no artigo baseia-se em [Serra e Smith III, 1990], mais
especicamente na adaptac ao feita por [Desainte-Catherine e Marchand, 2000]. Essenci-
almente o sinal de audio e decomposto como
s (t) = d (t) + e (t) (1)
onde
d (t) e a parte determinstica (componente de banda-estreita)
e (t) e a parte estoc astica (componente de banda-larga)
A parte determinstica e constituda por uma soma de osciladores senoidais com
freq u encias e amplitudes que variam lentamente. Um oscilador de variac ao lenta e ge-
ralmente chamado de parcial, sen oide ou componente senoidal. Portanto, a parte deter-
minstica pode ser formalizada como
d (t) =
P

p=1
osc (f
p
(t) , a
p
(t)) (2)
onde P e o n umero de parciais, dados por
osc (f
p
(t) , a
p
(t)) = a
p
(t) cos (
p
(t)) (3)
com
d
p
dt
(t) =2f
p
(t) i.e.
p
(t) =
p
(0) + 2
_
t
0
f
p
(u) du (4)
Como esperamos sons harm onicos, sabemos que as freq u encias dos parciais relacionam-
se de acordo com
f
p
(t) = p f
1
(t) (5)
Deste modo, temos a garantia de que, para todo instante t, os parciais estar ao distantes,
no domnio da freq u encia, de pelo menos f
1
(t). Formalmente:
min
1i<jP
{|f
i
(t) f
j
(t)|} f
1
(t) (6)
A garantia e expressa como desigualdade, e n ao igualdade, por duas raz oes. A
primeira e que alguns instrumentos produzem s eries harm onicas incompletas, como um
sintetizador de onda quadrada, que produz apenas harm onicos mpares. Asegunda raz ao e
que em algumas famlias de instrumentos as freq u encias dos parciais desviam de maneira
sistem atica dos m ultiplos da fundamental.
Nos instrumentos de corda, por exemplo, a freq u encia dos parciais e dada pela
f ormula f
n
= n f
1
_
1 + B (n 1)
2
, onde B e o coeciente de inarmonicidade. Este
fen omeno decorre do fato de a velocidade do som em uma corda n ao ser constante, mas
variar em func ao de sua espessura, comprimento e tens ao (logo, B e determinado por
estes par ametros). O efeito psicoac ustico da inarmonicidade em instrumentos de corda
foi estudado em [J arvel ainen et al., 2000].
Os instrumentos mel odicos de percuss ao em membranas, como a marimba, o
xilofone ou o vibrafone, divergem ainda mais acentuadamente do modelo harm onico,
tanto pela freq u encia dos parciais quanto pela densidade das s eries harm onicas. Apesar
disso, experimentos indicam que nosso sistema e capaz de transcrever melodias execu-
tadas com estes instrumentos. Em primeiro lugar porque essas diverg encias n ao invali-
dam o espacamento mnimo entre parciais no ambito da freq u encia, necess ario ` a precisa
estimac ao dos mesmos. Em segundo, porque princpios psicoac usticos e de seletividade
harm onica guiaram a construc ao de nosso estimador de F0 (freq u encia fundamental),
tornando-o mais condizente com a percepc ao de altura.
A parte estoc astica e o que resta do sinal quando se lhe subtrai a parte deter-
minstica. Este sinal residual e plenamente descrito por sua densidade espectral de pot en-
cia, que fornece a pot encia esperada em cada banda crtica. A justicac ao dessa armac ao
foge ao escopo deste texto e pode ser encontrada em [Serra e Smith III, 1990].
Como se observa na Tabela 1, durante o ataque de uma nota, o sinal tem car ater
transiente. A Transformac ao de Fourier, por sua vez, e apropriada para sinais peri odicos.
No entanto, o que poderia constituir um problema foi revertido em favor do sistema, que
se utiliza de m etricas de aperiodicidade do sinal para determinar, com maior exatid ao,
o incio das notas (note onsets). Apesar de o sistema implementar diversas t ecnicas de
detecc ao de nicio de nota (por exemplo [Duxbury et al., 2003]), foi necess ario suprimir
sua apresentac ao por conta do limite de p aginas desta publicac ao.
4. An alise Espectral
O sistema obt em estimativas espectrais por meio da Transformada Discreta de Fourier de
Curto Tempo (abreviada em ingl es por STDFT). O espectro associado a um dado instante
t e obtido da seguinte forma. Seja F
1
s
o perodo interamostral do sinal de entrada, medido
em segundos. A durac ao de cada quadro (frame) a ser analisado ser a determinada pelo
usu ario, respeitando = N F
1
s
para algum inteiro positivo N. Ent ao a seq u encia de
N amostras contidas no intervalo de tempo [t /2, t + /2] ser a multiplicada ponto
a ponto por uma func ao de suavizac ao (tamb em chamada de janela) e o resultado deste
produto ser a por m transformado pela STDFT. Se o valor de N for apropriado, o sistema
realizar a o c alculo por meio do algoritmo FFT (Fast Fourier Transform), que apresenta
desempenho assint otico O(N lg N), contra O(N
2
) da implementac ao trivial da DFT.
Para um sinal de entrada de durac ao T segundos, o sistema calcular a o espectro
associado a todos os instantes t [0, T] que satisfacam, para algum inteiro m, a condic ao
t = t
0
+ m (1 ), onde [0, 1) denota o fator de sobreposic ao escolhido
pelo usu ario. A parcela t
0
compensa o vi es de quadros com n umero par de amostras,
associando-os n ao ao instante da N/2- esima amostra, mas ao ponto m edio entre as amos-
tras N/2 e N/2 + 1. Portanto, se N for par, t
0
= F
1
s
/2. Caso contr ario, t
0
= 0. Para
os casos em que t < /2 ou t > T /2 s ao requeridas amostras fora da extens ao do
sinal de entrada. O sistema lida com a quest ao interpretando o sinal como precedido e
sucedido por sil encio (amostras de valor nulo).
Os m odulos descritos nas sec oes 5 a 8 operam em regime por-quadro. Por conta
disso, informac oes referentes ao tempo ser ao omitidas nessas sec oes.
5. Detecc ao de Parciais
O m odulo anterior fornece, para cada quadro, seu espectro complexo, cujo k- esimo esca-
ninho (bin) ser a denotado S
k
. Ao escaninho de ndice k corresponde a freq u encia 2k/N
radianos ou, equivalentemente, 2F
s
k/N Hertz. Para a estimac ao de F0, contudo, inte-
ressam apenas informac oes referentes aos parciais, e n ao todo o espectro.
Em condic oes razo aveis, espera-se que cada parcial no sinal de entrada produza
um m aximo local no espectro de magnitude. A recproca, no entanto, n ao e verdadeira.
Por conta disso, propuseram-se diversas heursticas para discriminar entre m aximos lo-
cais decorrentes de rudo daqueles produzidos por parciais. Uma estrat egia adotada com
freq u encia em sistemas de an alise/resntese e o acompanhamento evolutivo de parciais
(partial tracking), como em [Lagrange et al., 2003], que n ao p ode ser incorporado ao sis-
tema proposto por n ao satisfazer a exig encia de operac ao em regime por-quadro.

E f acil,
contudo, acrescentar ao sistema um m odulo de ltragem ofine baseado nessa estrat egia.
A heurstica utilizada no sistema exige que cada m aximo local no espectro de
magnitude seja superior aos mnimos locais que lhe s ao adjacentes em pelo menos
min
decib eis. Formalmente, dado um k {2, . . . , N/2 1}, S
k
ser a classicado como par-
cial somente se vericar
20 log
10
(|S
k
|/|S
k
+|)
min
onde k
+
= max {j > k : |S
k
| |S
k+1
| . . . |S
j
|}
e tamb em
20 log
10
(|S
k
|/|S
k
|)
min
onde k

= min {j < k : |S
j
| |S
j+1
| . . . |S
k
|} .
6. Estimac ao Precisa de Parciais
Para a correta determinac ao de notas a partir das freq u encias fundamentais e necess aria,
na escala de doze notas com temperamento igual (i.e., o sistema de anac ao padr ao no
ocidente), uma exatid ao de freq u encia de pelo menos F0
min

_
12

2 1
_
Hz, onde F0
min
denota a freq u encia fundamental da nota mais grave da seq u encia mel odica de entrada.
Para se extrair nuances expressivas como vibratos e glissandos, entretanto, a precis ao
necess aria e muito maior.
A resoluc ao (i.e., capacidade de discriminac ao) de freq u encia da STDFT e de
L
w

1
Hz, onde L
w
denota a largura do lobo central da resposta de freq u encia da
func ao de suavizac ao, medida em escaninhos. A exatid ao de freq u encia da STDFT e,
por sua vez, dada por
1
e, portanto, difere da resoluc ao apenas por um fator pequeno
(tipicamente vale que L
w
4). Deste modo, para que seja possvel distinguir as notas de
um viol ao de 6 cordas, cuja corda mais grave e convencionalmente anada em 82,4 Hz, e
necess ario um quadro de pelo menos
_
82, 4
_
12

2 1
__
1
204 ms.
Sinais musicais raramente possuem caracterstica estacion aria por tanto tempo.
Assim, a utilizac ao de quadros muito longos prejudica a resoluc ao temporal, de modo
que o conte udo harm onico de duas ou mais notas consecutivas pode se misturar no es-
pectro de um quadro. Al em disso, uma precis ao temporal de 20 ms exigiria um fator de
sobreposic ao de quadros de 90% e, portanto, uma carga computacional dez vezes maior.
Em suma, quadros longos n ao s ao a abordagem correta.
Como o sinal de entrada e suposto monof onico, o espacamento mnimo de fre-
q u encia entre dois parciais quaisquer ser a de pelo menos F0
min
Hz. Existem, para situa-
c oes como essa, t ecnicas para obter estimativas mais precisas a partir de quadros com
durac ao L
w
(F0
min
)
1
s. Isto representa uma grande reduc ao na exig encia de tamanho
do quadro. No exemplo do viol ao, um quadro de 2 (82, 4)
1
24 ms passa a ser
suciente, considerando-se a janela de Hamming.
20
40
60
80
200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400
m
a
g
n
i
t
u
d
e

(
d
B
)
frequencia (Hz)
Figura 2: Espectro de magnitude e estimativas precisas dos parciais.
A superamostragem espectral, popularmente referida como zero-padding, e uma
dessas t ecnicas. Como o nome sugere, este m etodo consiste no aumento da taxa de amos-
tragem do espectro, o que pode ser alcancado por meio do c alculo da STDFT do sinal
suavizado (i.e., j a multiplicado pela func ao de suavizac ao) concatenado a uma seq u encia
de zeros. A desvantagem dessa t ecnica e seu custo computacional: para aumentar a pre-
cis ao em m vezes e necess ario calcular uma STDFT com tamanho mN.
Outros m etodos obt em estimativas mais precisas dos parciais por meio de inter-
polac ao com coecientes espectrais adjacentes. A interpolac ao parab olica pertence a
essa categoria. Essa t ecnica benecia-se do fato de que o lobo central da resposta de
freq u encia da maioria das func oes de suavizac ao assemelha-se, em escala logartmica, a
uma par abola. Com os coecientes de magnitude do pico e seus dois vizinhos, determina-
se um polin omio do segundo grau, cujo ponto m aximo dar a origem ` a nova estimativa do
parcial. Essa t ecnica e freq uentemente reforcada pelo uso concomitante de superamos-
tragem.

E possvel obter um desempenho ainda melhor com a aplicac ao de func oes de
suavizac ao especcas, calculadas pela transformada inversa de uma par abola.
Especicamente para a janela de Hann
5
, Grandke desenvolveu um algoritmo de
interpolac ao que utiliza o coeciente vizinho de maior magnitude para obter estimativas
mais consistentes do que as obtidas pela interpolac ao parab olica [Grandke, 1983].
H a t ecnicas mais sosticadas de estimac ao de parciais, as quais consideram, al em
da magnitude, a informac ao de fase presente no espectro. Dentre essas, destacam-se o
M etodo da Derivada [Desainte-Catherine e Marchand, 2000], que se baseia na relac ao
entre os espectros do sinal e de sua derivada (aproximada com a aplicac ao de um ltro), e
a Reatribuic ao Espectral [Kodera et al., 1978, Auger e Flandrin, 1995], que redisp oe os
pontos do reticulado tempo-freq u encia de acordo com os centros de energia de cada
c elula. Essas t ecnicas apresentam desempenho superior, mas possuem a desvantagem
de exigirem o c omputo de STDFT adicionais. A Figura 2 exemplica os resultados obti-
dos com a Reatribuic ao Espectral. A Tabela 2 lista as principais t ecnicas de estimac ao de
parciais aplic aveis a sinais musicais e algumas de suas caractersticas.
5
n ao obstante seja um tributo ao metereologista austraco Julius von Hann, alguns autores referem-se ` a
janela como sendo de Hanning
Tabela 2: Estimadores de parciais implementados e suas caractersticas.
T ecnica
Custo mnimo Custo adicional Func ao de
por quadro por pico suavizac ao
Superamostragem
O(mN lg mN) O(m) Qualquer
de fator m
Reatribuic ao O(N lg N) O(1) Qualquer
Derivada O(N lg N) O(1) Qualquer
Interpolac ao de Grandke O(1) O(1) Hann
Interpolac ao Parab olica O(1) O(1) Melhor se especca
Estudos comparativos que investigam o erro m edio, a vari ancia e o vi es dos prin-
cipais estimadores de parciais podem ser encontrados em [Keiler e Marchand, 2002] e
[Hainsworth e Macleod, 2003].
7. Triagem de Parciais
A quantidade de parciais produzidos pelo m odulo anterior e tipicamente elevada, n ao raro
da ordem de centenas. No entanto, nem todos precisam ou devem ser considerados para
a estimac ao de F0. Por conta disso criou-se este m odulo, cuja nalidade e ltrar parciais
irrelevantes e picos esp urios, i.e., produzidos por rudo. O efeito deste processo pode ser
apreciado no exemplo da Figura 3.
1
2
3
4
0 1 2 3 4 5
f
r
e
q
u
e
n
c
i
a

(
k
H
z
)
tempo (s)
1
2
3
4
0 1 2 3 4 5
f
r
e
q
u
e
n
c
i
a

(
k
H
z
)
tempo (s)
Figura 3: Exemplo do efeito da triagem de parciais.
Denotaremos por (f
i
, a
i
) o i- esimo parcial, com freq u encia f
i
Hertz e magnitude
a
i
decib eis. O conjunto de todos parciais ser a representado por Q. Por m, P Q
denotar a o subconjunto dos parciais principais, obtidos ap os a triagem.
A triagem se dar a em dois passos. O primeiro crit erio exige que o parcial tenha
magnitude igual ou superior a
min
e n ao inferior ` a do maior pico do quadro em mais do
que
max
. Al em disso, exige-se que tenha freq u encia entre
min
e
max
. Os valores para

min
,
max
,
min
e
max
s ao fornecidos pelo usu ario. Segue a formalizac ao desse crit erio.
Se (f
i
, a
i
) P, entao
_
_
_
f
i
[
min
,
max
]
a
i

min
a

a
i

max
onde = min {i : a
i
a
j
, (f
j
, a
j
) Q}
O segundo crit erio de ltragem foi baseado na observac ao de que a maior parte
dos instrumentos produz s eries harm onicas com envolt orias aproximadamente contnuas,
ou seja, s eries em que a diferenca de magnitude entre harm onicos consecutivos e pequena.
Denotando por
max
a variac ao m axima permitida entre harm onicos sucessivos, segue a
formalizac ao deste crit erio.
Se (f
i
, a
i
) P, entao
_
i > a
i
+
max
a
i

i < a
i
+
max
a
i
+
onde i

= max {j < i : (f
j
, a
j
) P} e i
+
= min {j > i : (f
j
, a
j
) P}
8. Estimac ao de F0
O m etodo que ser a proposto parte da suposic ao de que o parcial de m axima magnitude
pertence ` a s erie harm onica principal, ou seja, e um m ultiplo da freq u encia fundamen-
tal. Denotando por f

a freq u encia do parcial de m axima magnitude, nosso conjunto de


candidatos ` a freq u encia fundamental e, ent ao, dado por
C =
_
c
n
def
=
f

n
: 1 n
_
f

F0
min
__
(7)

E preciso, neste ponto, estabelecer formas de comparar essas dezenas, eventual-


mente centenas de candidatos. De acordo com o princpio da seletividade harm onica, o
primeiro passo neste sentido e coletar as s eries harm onicas correspondentes a cada can-
didato. Denotando com uma seta para a esquerda a operac ao de atribuic ao (por exemplo,
x 7 signica a vari avel x recebe o valor 7), apresentamos um algoritmo que cumpre a
tarefa.
S

ERIE-HARM

ONICA(f
cand
, P)
1 for each (f, a) P
2 do i f/f
cand
+ 0.5
3 d DESVIO-RELATIVO(f
cand
i, H[i]
freq
)
4

d DESVIO-RELATIVO(f
cand
i, f)
5 if

d min
_
d,
24

2
_
6 then if

d < d or a > H[i]
mag
7 then H[i]
freq
f
8 H[i]
mag
a
9 return H
Se o i- esimo harm onico do n- esimo candidato ` a F0 estiver presente no espectro,
sua magnitude e freq u encia estar ao, ao m da execuc ao do algoritmo, em H[n][i]
mag
e
H[n][i]
freq
. Caso contr ario valer a que H[n][i]
mag
= H[n][i]
freq
= 0.
Faz-se necess ario, ent ao, um modo de quanticar a proemin encia de cada can-
didato em func ao de sua s erie harm onica. Isto ser a feito levando em conta princpios
psicoac usticos, em particular o conceito de banda crtica [Roederer, 2002, sec ao 3.4].
As func oes e , denidas a seguir, s ao adaptac oes do modelo de soma harm oni-
ca apresentado em [Klapuri, 2004, sec ao 6.3.3]. A motivac ao psicoac ustica das f ormulas
pode ser encontrada na refer encia e n ao ser a reproduzida aqui.
Formalmente, a proemin encia do n- esimo candidato ser a dada por
(n) =
I(n)

i=1
H[n][i]
mag
(i) (8)
onde I(n) = max {j {1, . . . , |H|} : H[n][j]
mag
> 0} (9)
e (i) denota a frac ao de banda crtica que corresponde a cada harm onico em func ao de
seu ndice, calculada como
(i) =
_
1, se i = 1
min
_
log
2
1/3
_
i
_
i+1
i
_
log
2
1/3
_
(i 1)
_
i
(i1)
_
, 1
_
, c.c.
(10)
De posse da proemin encia dos candidatos, a determinac ao de F0 ser a feita em
dois est agios. Primeiramente, os candidato com proemin encia relativa ` a m axima de pelo
menos [0, 1], pr e-xado, s ao selecionados. Dentre estes, aquele que possuir a maior
m edia ponderada , denida a seguir, e eleito F0. Caso haja empate, vence o candidato
de menor freq u encia. Formalmente, ser a considerado F0 o candidato de ndice dado
pelas seguinte equac oes
= min
_
n : c
n
C

e (n) (m), c
m
C

_
(11)
(n) =
I(n)

i=1
H[n][i]
mag
(i)
I(n)

i=1
(i)
(12)
C

=
_
c
n
C : (n) max
m|c
m
C
{(m)}
_
(13)
Com isso, j a se tem uma estimativa da freq u encia fundamental. No entanto, seu
valor exato baseou-se na estimativa de freq u encia de um unico parcial, o de m axima
magnitude. Ainda que este tenha a estimativa isoladamente mais con avel, um estimador
de F0 ainda mais robusto pode ser obtido combinando-se as estimativas dos diversos
harm onicos.
Como os estimadores de parciais s ao essencialmente n ao-viesados, espera-se que
os erros individuais se anulem ao serem acumulados. Sabe-se que a qualidade da estima-
tiva de cada parcial depende, dentre outros fatores, de sua raz ao sinal/rudo (abreviada em
ingl es por SNR) e de qu ao est avel encontra-se sua freq u encia absoluta. Por conta disso,
devem ser privilegiados os harm onicos de maior magnitude, que possuem maior SNR,
e de menor ndice, uma vez que variac oes na freq u encia fundamental s ao multiplicadas
pelo ndice do harm onico. Considerando estes princpios, desenvolvemos uma f ormula
para re-estimac ao da freq u encia fundamental:
F0

=
I(n)

i=1
H[i]
freq
/i H [i]
mag
(i)
I(n)

i=1
H [i]
mag
(i)
(14)
onde H[i] denota o i- esimo parcial da s erie harm onica de c

, ou seja, H[i]
def
= H[][i].
9. Produc ao de Notas
Informac oes referentes ao tempo foram omitidas nas sec oes 5 a 8, em que se descreviam
operac oes realiz aveis individualmente para cada quadro. A produc ao de notas, no entanto,
880
440
220
0 1 2 3 4 5 6
F
0

(
H
z
)
tempo (s)
Figura 4: Exemplo de sada do m odulo de estimac ao de F0.
n ao faz sentido em regime por-quadro. Conseq uentemente reaparecer ao, nesta sec ao,
informac oes temporais.
O funcionamento do m odulo e descrito pelo algoritmo Produz-Notas, em que
freq[Fund[i]] denotar a a i- esima estimativa de F0, associada a um quadro centrado no
instante inst[Fund[i]]. Al em disso, intens[Fund[i]] denotar a a proemin encia da i- esima
estimativa, calculada pela Equac ao 8. Al em de uma seq u encia de estimativas de F0 (Fi-
gura 4), o m odulo de produc ao de notas recebe o conjunto T dos instantes de incio de
nota.
O atraso m aximo na detecc ao de F0, i.e., o tempo m aximo decorrido entre um
incio de nota e a detecc ao da F0 que lhe corresponde, ser a denotado por
max
. O maior
intervalo aceit avel sem constatac oes de F0 no interior de uma nota ser a representado
por
max
. Finalmente,
min
denotar a a durac ao da nota mais curta permitida e
min
, a
intensidade mnima aceit avel.
O m odulo de produc ao de notas tem essencialmente tr es nalidades. A primeira
e evitar que irregularidades na estimac ao de F0 ocasionem notas esp urias. A segunda
e eliminar o atraso decorrente do fato de as notas muitas vezes n ao possurem, em seus
est agios iniciais, altura (e, portanto, F0) bem denida. A terceira e impedir que uma
seq u encia de notas repetidas seja interpretada como uma unica nota.
PRODUZ-NOTAS(Fund,
T
)
1 for i 1 to tamanho[Fund]
2 do n log 12

2
(freq[Fund[i ]] /440) + 0.5 + 69 n umero de nota MIDI
3 if ultimaConstatacao[Nota[n]] = INDEFINIDA
4 then if inst[Fund[i ]] ultimaConstatacao[Nota[n]] >
max
5 then if intens[Nota[n]] >
min
and duracao[Nota] >
min
6 then IMPRIME(Nota[n])
7 REINICIA(Nota[n])
8 if inicio[Nota[n]] = INDEFINIDO
9 then t max {T[i] inst[Fund[i ]]}
10 if inst[Fund[i ]] t
max
11 then inicio[Nota[n]] t
12 else inicio[Nota[n]] inst[Fund[i ]]
13 ultimaConstatacao[Nota[n]] inst[Fund[i ]]
14 intens[Nota[n]] max {intesidade[Fund[i ]], intens[Nota[n]]}
15 duracao[Nota[n]] ultimaConstatacao[Nota] inicio[Nota]
16 for m 1 to tamanho[Nota]
17 do if inst[Fund[i]] inicio[Nota[m]] >
max
or i = tamanho[Fund]
18 then if intens[Nota[m]] >
min
and duracao[Nota[m]] >
min
19 then IMPRIME(Nota[m])
20 REINICIA(Nota[m])
10. Resultados e Discuss ao
Como o sistema teve sua implementac ao concluda recentemente, os experimentos reali-
zados at e o momento n ao foram muito numerosos e visaram a uma an alise essencialmente
qualitativa. Nesses experimentos constatamos que os par ametros fornecidos pelo usu ario
t em inu encia decisiva sobre os resultados, de modo que a realizac ao de testes estatisti-
camente relevantes pressup oe sua otimizac ao.
N ao obstante, os experimentos apresentaram resultados animadores. Testes reali-
zados com sinais sint eticos foram extremamente bem sucedidos, muitos dos quais resul-
taram em transcric oes perfeitas. As melodias foram sintetizadas com diversos timbres,
indicando que as hip oteses adotadas pelo sistema n ao est ao vinculadas a peculiaridades
de determinada famlia de instrumentos.
Previsivelmente, os testes com gravac oes ac usticas reais foram mais desaadores.
Recursos expressivos, por exemplo inex oes, n ao raro levam a cen arios cuja desambigua-
c ao depende de conhecimentos musicol ogicos. Considerando que o sistema baseou-se
apenas em t ecnicas de processamento de sinais, seu desempenho em tais circunst ancias
mostrou-se bastante satisfat orio.
Constatamos ainda que a presenca de efeitos, naturais ou articiais, degrada o re-
sultado das transcric oes. Em gravac oes com forte reverberac ao ou eco, h a situac oes de
polifonia articial, em que uma nota soa simultaneamente com rastros das que a antece-
deram.
O sistema foi compilado e executado com igual sucesso em ambientes Linux e
Windows. Al em disso, foi capaz de produzir transcric oes em tempo inferior ` a durac ao
das gravac oes, demonstrando potencial para aplicac oes de tempo-real.
Infelizmente, n ao h a uma base de dados universalmente aceita para testar sistemas
de transcric ao autom aticos, o que diculta a comparac ao com outras soluc oes encontradas
na literatura. Apesar disso, pretendemos realizar testes sistem aticos em um corpo repre-
sentativo de gravac oes ac usticas e sinais sintetizados, divulgando os resultados t ao logo
estejam disponveis.
11. Conclus ao
Neste trabalho apresentamos um sistema de transcric ao autom atica de melodias com de-
sempenho bastante promissor. Por ser modular, o sistema se presta tanto a aplicac oes
tpicas de sistemas de transcric ao, por exemplo query-by-humming, quanto ` a integrac ao
em sistemas maiores, por exemplo de an alise-manipulac ao-resntese.
Adicionalmente, o sistema pode fornecer resultados de an alise espectral, estima-
tivas de parciais e de freq u encia fundamental, entre outros, em formato textual pr oprio
para ferramentas de impress ao de gr acos ponto-a-ponto, tal como o gnuplot. Com isso,
torna-se util na produc ao de, por exemplo, sonogramas e F0-gramas. Em particular, os
gr acos desta publicac ao foram produzidos desta forma.
O sistema est a disponvel em www.mitre.com.br/asymut/, onde se encontram tam-
b em exemplos em que se pode comparar a gravac ao original com a resintetizada a partir
da transcric ao.
Gracas ` a modularidade do sistema, um desenvolvedor interessado ter a facilidade
em acrescentar novas t ecnicas de renamento espectral, heursticas para determinac ao de
fundamental, interface gr aca, etc.
Refer encias
Auger, F. e Flandrin, P. (1995). Improving the readability of time-frequency and time-
scale representations by the reassignment method. IEEE Transactions on Signal Pro-
cessing, 43(5):10681089.
Desainte-Catherine, M. e Marchand, S. (2000). High Precision Fourier Analysis
of Sounds Using Signal Derivatives. Journal of the Audio Engineering Society,
48(7/8):654667.
Duxbury, C., Bello, J. P., Davies, M., e Sandler, M. (2003). Complex Domain Onset
Detection for Musical Signals. In Proc. of the 6th Int. Conference on Digital Audio
Effects (DAFx-03), Londres, Reino Unido.
Grandke, T. (1983). Interpolation algorithms for discrete Fourier transforms of weighted
signals. IEEE Trans. Instr. and Meas., 32(2):350355. 1983.
Hainsworth, S. e Macleod, M. (2003). On Sinusoidal Parameter Estimation. In Proc. of
the 6th Int. Conference on Digital Audio Effects (DAFx-03), Londres, Reino Unido.
J arvel ainen, H., Verma, T., e V alim aki, V. (2000). The effect of inharmonicity on pitch in
string instrument sounds. In Proc. International Computer Music Conference, Berlin,
Germany.
Keiler, F. e Marchand, S. (2002). Survey On Extraction of Sinusoids in Stationary Sounds.
In Proc. of the 5th Int. Conference on Digital Audio Effects (DAFx-02), Hamburgo,
Alemanha.
Kernighan, B. W. e Pike, R. (2000). A Pr atica da Programac ao. Editora Campus, primeira
edic ao.
Klapuri, A. (2004). Signal Processing Methods for the Automatic Transcription of Music.
tese de PhD, Tampere University of Technology.
Kodera, K., Gendrin, R., e de Villedary, C. (1978). Analysis of time-varying signals with
small BT values. IEEE Transactions on Acoustics, Speech and Signal Processing,
26(1):6476.
Lagrange, M., Marchand, S., Raspaud, M., e Rault, J.-B. (2003). Enhanced Partial Trac-
king Using Linear Prediction. In Proc. of the 6th Int. Conference on Digital Audio
Effects(DAFx-03), Londres, Reino Unido.
Roads, C. (1996). The Computer Music Tutorial. The MIT Press.
Roederer, J. G. (2002). Introduc ao ` a Fsica e Psicofsica da M usica. EdUSP, S ao Paulo,
primeira edic ao. Traduc ao Alberto Luis da Cunha.
Serra, X. e Smith III, J. O. (1990). Spectral Modeling Synthesis: A Sound Analy-
sis/Synthesis System Based on a Deterministic plus Stochastic Decomposition. Com-
puter Music Journal, 14(4):1224.

Você também pode gostar