Table Of ContentALGORITMOS PARA ANÁLISE RÍTMICA COMPUTACIONAL
Leonardo de Oliveira Nunes
Tese de Doutorado apresentada ao Programa
de Pós-graduação em Engenharia Elétrica,
COPPE, da Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários
à obtenção do título de Doutor em Engenharia
Elétrica.
Orientador: Luiz Wagner Pereira Biscainho
Rio de Janeiro
Setembro de 2014
ALGORITMOS PARA ANÁLISE RÍTMICA COMPUTACIONAL
Leonardo de Oliveira Nunes
TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ
COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE)
DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR
EM CIÊNCIAS EM ENGENHARIA ELÉTRICA.
Examinada por:
Prof. Luiz Wagner Pereira Biscainho, D.Sc.
Prof. Eduardo Antonio Barros da Silva, Ph.D.
Prof. Luiz Pereira Calôba, Dr.Ing.
Prof. Marcio Nogueira de Souza, D.Sc.
Prof. Vítor Heloiz Nascimento, Ph.D.
RIO DE JANEIRO, RJ – BRASIL
SETEMBRO DE 2014
Nunes, Leonardo de Oliveira
Algoritmos para Análise Rítmica
Computacional/Leonardo de Oliveira Nunes. – Rio
de Janeiro: UFRJ/COPPE, 2014.
XVII, 184 p.: il.; 29,7cm.
Orientador: Luiz Wagner Pereira Biscainho
Tese (doutorado) – UFRJ/COPPE/Programa de
Engenharia Elétrica, 2014.
Referências Bibliográficas: p. 173 – 184.
1. processamento de sinais. 2. processamento de
sinais acústicos. 3. análise rítmica computacional. I.
Biscainho, Luiz Wagner Pereira. II. Universidade Federal
do Rio de Janeiro, COPPE, Programa de Engenharia
Elétrica. III. Título.
iii
Para:
Malu e
Domingos José de Oliveira
iv
Agradecimentos
Inicialmente, devo agradecer a minha família pelo apoio dado durante todos esses
anos de educação e, acima de tudo, pelo amor. Meus pais, minha irmã e meus avós
criaram o ambiente no qual este trabalho se tornou realidade. E minha esposa que
me apoiou incondicionalmente durante este período e é a pessoa mais importante
do meu universo.
Ao Prof. Luiz Wagner devo agradecer por ter acreditado em mim 10 anos atrás,
e ter se tornado um grande mentor e amigo. É impossível quantificar a influência e
a ajuda que recebi nesses anos todos.
Não posso deixar de lado todos os amigos que fiz no Grupo de Processamento de
Áudio e no Laboratório de Sinais, Multimídia e Telecomunicações e cujos trabalhos
estão de alguma forma associados a este.
Agradeço a todos os examinadores por terem aceitado o convite para participar
da banca desta dissertação.
Por fim, agradeço ao Conselho Nacional de Desenvolvimento Científico e Tecno-
lógico (CNPq) e à Fundação de Amparo à Pesquisa do Rio de Janeiro (FAPERJ)
pelo apoio financeiro.
v
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciências (D.Sc.)
ALGORITMOS PARA ANÁLISE RÍTMICA COMPUTACIONAL
Leonardo de Oliveira Nunes
Setembro/2014
Orientador: Luiz Wagner Pereira Biscainho
Programa: Engenharia Elétrica
Sinais de música usualmente possuem uma estrutura temporal bem definida,
em que eventos acontecem em determinados instantes de tempo. Perceptivamente,
esta estrutura temporal define um pulso dominante, cuja frequência determina o
andamento da música. Também se podem definir uma divisão e um múltiplo desse
pulso e com esses três níveis métricos descrever a estrutura rítmica global de uma
peça musical. Este trabalho tem como objetivo o estudo e desenvolvimento de
algoritmos que extraem esta informação rítmica de sinal de áudio. Tal informação é
de extrema valia para diversas aplicações, entre elas reconhecimento automático de
gênero musical, transcrição musical automática e compressão de sinais.
Esta tese é dividida em duas partes. Na primeira, é abordado o problema de
estimação do andamento. Para isto, é feito um estudo sobre os atributos de si-
nais de áudio usualmente adotados para esta tarefa e como eles podem ser melhor
obtidos. Também são propostas modificações sobre algoritmos para estimação de
andamento encontrados na literatura. Por fim, é feita a comparação do desempenho
dos algoritmos originais e de suas modificações.
Na segunda parte da tese, é estudado o problema de rastreamento métrico e são
propostos para atacá-lo modelos probabilísticos, baseados em modelos ocultos de
Markov. Estes modelosprocuram encontrar, dentrodo sinaldeáudio, asocorrências
de cada nível métrico. Também são feitas simplificações sobre este modelo, para
rastrear apenas o pulso do sinal. Acoplados aos modelos de rastreamento, também
são obtidos diversos modelos de observação de cada um dos níveis métricos que
procuramquantificarachancedeovalordeumdeterminadoatributoestarassociado
àstransiçõesemcadanívelmétrico. Porfim,tambémépropostoummodelobaseado
em padrões rítmicos apropriado para o rastreamento de estruturas rítmicas mais
complexas.
vi
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D.Sc.)
ALGORITHMS FOR COMPUTATIONAL RHYTHMICAL ANALYSIS
Leonardo de Oliveira Nunes
September/2014
Advisor: Luiz Wagner Pereira Biscainho
Department: Electrical Engineering
Music signals usually exhibit a well-defined temporal structure, in which events
can occur at determined time instants. Perceptually, this temporal structure defines
a dominant pulse (beat), whose frequency determines the tempo of the music. One
can also define a multiple and a submultiple of this pulse, and use these three
metrical levels to describe the overall rhythmical structure of a musical piece. This
dissertation has as an objective the development of algorithms for the extraction
of this rhythmic information from music signals. Such information can be used in
several applications, such as automatic music genre recognition, automatic music
transcription, and signal compression.
Thisworkissplitintotwoparts. Inthefirstone,theproblemoftempoestimation
is approached. In particular, a study on how signal features can be extracted so as
to improve tempo estimates is presented. Modifications to standard algorithms
intended for this task are also proposed. At last, performances of original and
modified algorithms are compared, highlighting the contributions at each processing
step.
In the second part of this dissertation, the metrics tracking problem is tackled
and new probabilistic models, based on Hidden Markov Models, are proposed to
this end. These models track, in a pre-recorded audio signal, the occurrence of
each metrical level. Simplifications that restrict this model to estimate only the
beats, are also described. Associated with the tracking models, observation models
that quantify the probability that a given feature value is observed at each metrical
level transition are developed. At last a pattern-based model, suited to track more
complex rhythmical structures is also proposed.
vii
Sumário
Lista de Figuras xii
Lista de Tabelas xvi
1 Introdução 1
1.1 Ritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Percepção Rítmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Análise Rítmica Computacional . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Objetivos da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
I Estimação de Andamento 9
2 Estimação de Andamento/Tempo 10
2.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Extração de Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Fluxo Espectral . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Modificações Sobre o Fluxo Espectral . . . . . . . . . . . . . . 17
2.4 Cálculo da Periodicidade . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.1 Autocorrelação . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Módulo da Transformada de Fourier Discreta . . . . . . . . . 20
2.4.3 Produto Autocorrelação × Módulo da DFT . . . . . . . . . . 22
2.5 Estimação do Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Inclusão de Informação de Alto Nível . . . . . . . . . . . . . . 24
2.5.2 Inclusão de Dicas Cognitivas . . . . . . . . . . . . . . . . . . . 24
2.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Comparação de Métodos para Estimação do Andamento 27
3.1 Banco de Sinais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 Figuras de Mérito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
viii
3.3 Comparação de Formas de Cálculo do Fluxo Espectral . . . . . . . . 29
3.3.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.4 Testes Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.5 Normalização da Função de Similaridade . . . . . . . . . . . . 36
3.3.6 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Comparação dos Métodos de Seleção de Periodicidade . . . . . . . . . 38
3.4.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.3 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Uso de Informação Cognitiva . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.2 Resultados e Discussão . . . . . . . . . . . . . . . . . . . . . . 43
3.6 Validação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.1 Desempenho para o Banco Hainsworth . . . . . . . . . . . . . 44
3.6.2 Resultado por Faixa de Andamento . . . . . . . . . . . . . . . 44
3.6.3 Resultado por Gênero . . . . . . . . . . . . . . . . . . . . . . 44
3.6.4 Comparação com Resultados da Literatura . . . . . . . . . . . 46
3.7 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Propostas de Algoritmos para Estimação de Tempo 48
4.1 Separação Transitório/Permanente . . . . . . . . . . . . . . . . . . . 48
4.2 Modificações sobre o Produto Autocorrelação × Módulo da DFT . . 51
4.3 Estimação de Tempo usando Padrões Rítmicos . . . . . . . . . . . . . 54
4.4 Avaliação de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4.1 Método Utilizado . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
II Análise Métrica 63
5 Modelos para Análise Rítmica Computacional 64
5.1 Modelos Ocultos de Markov . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.1 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1.2 Representação Matricial . . . . . . . . . . . . . . . . . . . . . 71
5.1.3 Algoritmos de Inferência . . . . . . . . . . . . . . . . . . . . . 72
5.2 Modelo Hierárquico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
ix
5.2.1 Variáveis Aleatórias . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2.2 Modelo de Transição . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.3 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.4 Prior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.5 Resumo do Modelo . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3 Modelo para Rastreamento do Tactus . . . . . . . . . . . . . . . . . . 88
5.4 Modelo Hierárquico por Camadas . . . . . . . . . . . . . . . . . . . . 90
5.4.1 Modelo de Rastreamento do Tatum . . . . . . . . . . . . . . . 90
5.4.2 Modelo de Rastreamento Métrico . . . . . . . . . . . . . . . . 92
5.5 Modelo por Padrão Rítmico . . . . . . . . . . . . . . . . . . . . . . . 94
5.5.1 Padrões Rítmicos . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.2 Variáveis Aleatórias . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.3 Modelo de Transição . . . . . . . . . . . . . . . . . . . . . . . 96
5.5.4 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.5 Prior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.5.6 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6 Banco Métrico 101
6.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Anotação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.3 Análise do Tactus e do Andamento . . . . . . . . . . . . . . . . . . . 103
6.4 Análise do Tatum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.5 Análise do Compasso . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7 Modelos de Observação para Análise Rítmica 111
7.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.2 Geração dos Dados para Treinamento e Validação . . . . . . . . . . . 118
7.3 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.4 Modelagem Preliminar . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.4.1 Atributos Médios . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.4.2 Variação ao Longo da Frequência . . . . . . . . . . . . . . . . 126
7.5 Redução de Dimensionalidade . . . . . . . . . . . . . . . . . . . . . . 127
7.5.1 Análise de Componentes Principais . . . . . . . . . . . . . . . 127
7.5.2 Seleção de Atributos . . . . . . . . . . . . . . . . . . . . . . . 128
7.6 GMMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.7 Análise de Fatores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.8 Abordagem via Classificação . . . . . . . . . . . . . . . . . . . . . . . 133
7.8.1 Regressão Logística . . . . . . . . . . . . . . . . . . . . . . . . 134
x
Description:algoritmos que extraem esta informação rítmica de sinal de áudio. Tal informação é de extrema valia Musicology, Graz, Austria, April 2004. 179