Reconhecendo funções matemáticas nas músicas

12

Eu sou novo no DSP e acabei de descobrir esse StackExchange, então peço desculpas se este não for o lugar certo para postar esta pergunta.

Existe um recurso que descreva gêneros em termos mais matemáticos? Por exemplo, se eu executei uma FFT no sinal nesta seção da música (2:09 se o link não começar por aí), existe alguma maneira de eu conseguir detectar que essa seção tem esse tipo de irregularidade de som? Parece que isso segue alguma função matemática com a qual eu posso comparar? http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s (o link começa a reproduzir som imediatamente)

Existe a única maneira de usar técnicas de aprendizado supervisionado ou existe uma abordagem diferente (que preferencialmente não requer supervisão)?

Obrigado por qualquer conselho.

XSL
fonte
Você pode usar um FFT para detectar batidas de tambor ou flauta, mas não para detectar gênero. Coisas muito locais sobre som, claro, mas não o caráter musical do arquivo total.
endolith
É possível reconhecer a "rugosidade" do som? É aqui que a MFCC entra em cena?
XSL

Respostas:

10

Eu acho que a distinção que você está procurando é mais empírica vs. teórica (em oposição a supervisionada vs. não supervisionada), mas eu posso estar errado sobre isso. Em outras palavras, o ideal seria ter uma definição teórica de vários gêneros, em vez de apenas um monte de dados opacos que podem ser usados ​​para classificar uma música [sem qualquer entendimento real].

No entanto, para a classificação geral de gênero, você provavelmente está preso ao menos com o treinamento de exemplos, mesmo que seja apenas para criar as definições de gênero em primeiro lugar. Com relação ao seu exemplo, considere com que frequência as pessoas discutirão [no YouTube] sobre se uma determinada faixa é realmente dubstep (por exemplo, qualquer faixa que seja mais dublada e menos instável , mesmo que o gênero tenha começado sem nenhuma oscilação real). As pessoas definem gêneros ao longo do tempo através de exemplos, portanto, é razoável esperar que algoritmos que replicem esse comportamento também exijam alguns exemplos. A maneira como as pessoas descrevem os gêneros é quase como um vetor de recurso de qualquer forma - eles fazem uma lista de perguntas sobre a música (por exemplo, é mais instável ou instável? Possui muitos sub-graves? Quanto tempo dura? Qual é o ritmo? Existe um vocal? etc.).

Obviamente, você pode escolher uma lista de recursos que também fornecem uma compreensão intuitiva do gênero. Um recurso como "Dynamic Range" é algo que uma pessoa também pode detectar de ouvido, mas algo como "Time Domain Zero Crossings" não seria muito intuitivo - mesmo que funcione bem para classificação. O documento a seguir possui alguns recursos que podem ser interessantes para você:

George Tzanetakis, Perry R. Cook: classificação de gênero musical de sinais de áudio. IEEE Transactions on Fala e Processamento de Áudio 10 (5): 293-302 (2002) ligação .

Para medir a rugosidade, a rugosidade psicoacústica seria um bom ponto de partida, mas pode não ser suficiente para distinguir entre condutores de dubstep e condutores elétricos, por exemplo. Para distinções mais refinadas, uma coisa a considerar é o reconhecimento do timbre . A tese a seguir apresenta uma pesquisa decente de técnicas:

TH Park, "Em direção ao reconhecimento automático de timbre de instrumentos musicais", Ph.D. dissertação, Universidade de Princeton, NJ, 2004. link .

Há também um modelo relacionado à rugosidade perceptiva em Timbre, Tuning, Spectrum e Scale que é usado para construir escalas personalizadas para timbres arbitrários. A ideia é que harmônicos muito próximos produzam frequências de batida que são percebidas como dissonância. Parafraseando do Apêndice F e E ,

Ff1,f2,...,fn

DF=1/2 Eu=1n j=1n d(|fEu-fj|min(fEu,fj))

d(x)=e-3.5x-e-5,75x

é um modelo da curva de Plomp-Levelt .

É usado para medir o quão agradável um determinado acorde é em relação a um timbre (minimizando a dissonância). Não sei se a aspereza da variedade psicoacústica ou a dissonância intrínseca seriam muito proveitosas para seus propósitos por conta própria, mas elas podem ser úteis em combinação com outras métricas.

Você provavelmente terá mais sorte em classificar timbres matematicamente do que gêneros. Por exemplo, as cordas têm harmônicos pares e ímpares, mas um clarinete possui apenas harmônicos ímpares (cf. onda dente de serra , onda quadrada ). A oscilação do Dubstep tende a ser feita com filtros acionados por LFO (filtros passa-baixo e / ou formantes), então algo como o Spectral Flux (consulte [Tzanetakis] acima) pode ser um bom ponto de partida como um recurso. No entanto, duvido que alguém tenha estudado a classificação matemática de oscilação ainda;)

datagrama
fonte
2
Excelente resposta do datageist. Também gostaria de sugerir isophonics.net/QMVampPlugins se você está à procura de mais informação e uma plataforma de dev com o código fonte
Dan Barry
@ Dan Isso parece incrível, obrigado por esse link.
datageist
Encontrei um nicho para estudar! : D Obrigado pela brilhante resposta e links. Ele me indicou uma direção, em vez de usar o Google sem rumo.
XSL
Fico feliz em ajudar :)
datageist