A Tutorial on Onset Detection in Music Signals
Autores: Juan Pablo Bello, Laurent Daudet, Samer Abdallah, Chris Duxbury, Mike Davies, and Mark B. Sandler
Definições básicas:
- Ataque da nota: intervalo no qual a amplitude do envelope espectral aumenta
- Transiente da nota: intervalos curtos no qual o sinal evoluí rapidamente de alguma maneira não-trivial ou imprevisível.
- Onset da nota: um instante único escolhido para marcar o transiente. Pode ser usado o ínicio do transiente ou o primeiro momento em que o transiente pode ser corretamente detectado.
- Novelty function: é um sinal intermediário que reflete de maneira simplificada a estrutura local do sinal original.
- Sinal residual: é um sinal que resulta da subtração da forma de onda original e um sinal modelado. Quando uma modelagem senoidal ou harmônica é usada, é assumido que o sinal residual contém a maioria dos componentes ruidosos e “impulsivos” do sinal original, como os transientes
Esquema geral de um algoritmo de detecção de onset
1. Pré-processamento
O pré-processamento do sinal deve ressaltar características úteis para a tarefa almejada, nesse caso a detecção de onsets
-
Múltiplas faixas de frequência: criação de bancos de filtros para analisar os transientes em diversas faixas de frequências. Goto, por exemplo, ser usados para “fatiar” o espectrograma em “tiras de espectro” e, a partir disso, reconhecer onsets a partir de mudanças na energia. Outro exemplo de aplicação é o método proposto por Duxbury et al que separa o sinal em 5 sub-bandas e propõe um esquema híbrido, considerando a energia para detecção nas frequências mais altas e o espctro nas bandas mais baixas.
-
Separação de transiente
2. Redução
O objetivo da redução é transformar o sinal em uma função de detecção (ou novelty function), que contenha as ocorrências de transientes do sinal original.
- Redução baseada em atributos do sinal
- atributos temporais: em sinais temporais simples é notável que a ocorrência de um onset geralmente está associada a um aumento da amplitude do sinal. Uma melhora para essa técnica e olhar para a energia local em vez de olhar para a amplitude. Outro refinamento, baseado em psicoacústca, é usar uma compressão logarítmica no sinal para simular a percepção do ouvido de “altura”.
- atributos espectrais: O fluxo espectral, por exemplo, que é calculado a como a distância entre espectros sucessivos do STFT, tem um efeito de levar em conta apenas as frequẽncias onde há um aumento de energia, enfatizando onsets em vez de offsets.
- atributos espectrais usando fase: levar a fase em consideração pode também ser importante uma vez que a estrutura temporal do sinal está codificada na fase. Em regiões de transiente, a frequência instantânea não é bem definida e portanto a variação da fase tende a ser grande.
- análise de tempo-frequência e tempo-escala
- Redução baseada em modelos probabilísticos
- métodos de detecção de mudança de pontos
- métodos baseados em “sinais surpresa”
Comparação dos métodos
- Métodos temporais são simples e computacionalmente eficientes. Seu funcionamento depende da existência de aumentos claros de amplitude. Esse tipo de método perde eficiência quando ocorrem modulações de amplitude (como é o caso de um vibrato) ou quando há uma sobreposição de energia produzida por sons simultâneos.
- Para sons não triviais, a detecção de onset se beneficia de métodos mais complexos, como a representação em tempo-frequência.
- Alguns métodos espectrais como o HFC conseguem enfatizar a percussividade do sinal, mas são menos robustos para detectar os onsets de tons baixos e de eventos não percussivos, onde a energia varia em frequências baixas e, por isso, não são enfatizadas pelo método.
- Métodos baseados em fase conseguem detectar mudanças em frequências altas e baixas, independente da intensidade. Contudo, sofre com variações introduzidas pelas fases de componentes ruidosos de baixa frequência.
- Métodos com representação tempo-frequência do sinal ou tempo-escala tem um custo computacional mais elevado. Esse tipo de representação não suaviza tanto o sinal, necessitanto de algum pós-processamento.
3. Peak-Picking
O processo de encontrar picos deve estar envolvido em um algoritmo robusto, de modo que os atributos que desejamos encontrar (geralmente o máximo local, ou pico) não seja mascarado por ruídos ou por outros eventos que não necessariamente sejam relacionados a onsets, como o vibrato. Por isso, o algoritmo tem que seguir alguns passos:
- Pós-processamento: o objetivo desse passo é facilitar o thresholding e a observação dos picos. Para isso, é necessário removar os ruídos com técnicas como a suavização do sinal.
- Thresholding: mesmo após o pós-processamento ainda existirão picos que não são relacionados aos onsets e, por isso, é necessária a definição de um threshold que efetivamente separe eventos de onset de eventos que não são relacionados.
- Pick-Picking: após os passos anteriores, a identificação dos picos se resume a achar o máximo local acima do threshold.
4. Como escolher o melhor método
Os métodos são dependentes do tipo de sinal no qual vão ser aplicados. Dado isso, os autores fazem as seguintes considerações:
- Se o sinal é muito percussivo (ex, bateria), então métodos de domínio do tempo são adequados;
- Por outro lado, métodos espectrais como os baseados em distribuição de fase e diferença espectral performam muito bem em transientes com tons;
- A diferença espectral no domínio complexo parece ser uma boa escolha em geral, mas com uma pequena adição de custo computacional;
- Se for necessária precisão temporal, métodos baseados em wavelets podem ser úteis, ainda mais se combinados com outros métodos;
- Se for aceitável um alto custo computacional e um conjunto de treinamento estiver disponível, métodos estatísticos têm os melhores resultados gerais e são menos dependentes em um conjunto particular de parâmetros.