collapse

* Posts Recentes

protecção equipamentos por dio123
[Ontem às 11:26]


Mais uma reparação - frigorífico Fagor por jm_araujo
[21 de Janeiro de 2023, 10:08]


Desumidificador avariado por almamater
[20 de Janeiro de 2023, 23:20]


Câmara SPI para microcontroladores por SerraCabo
[17 de Janeiro de 2023, 16:18]


Symmetrical soft-start por dropes
[08 de Janeiro de 2023, 16:46]


Compressor sem óleo por senso
[07 de Janeiro de 2023, 19:41]


Filtro para ruido por filjoa
[06 de Janeiro de 2023, 17:58]


Gráfica e Monitor avariados.. por almamater
[04 de Janeiro de 2023, 23:12]


Bom ano novo por TigPT
[01 de Janeiro de 2023, 23:35]


+um LASER simples por dropes
[01 de Janeiro de 2023, 12:49]

Autor Tópico: Espectro de um nota de guitarra, que nos ensinam muito sobre física, áudio e DSP  (Lida 328 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 249
Boa tarde a todos,

Hoje trago-vos algo que achei muito interessante,
a pergunta é:

Se eu tocar na minha guitarra um C (Dó), e se fizer no Audacity o gráfico do espectro através da FFT, porquê razão a 3 º harmónica é a que tem maior amplitude e não a 1º harmónica ou fundamental na frequência da minha nota C (Dó)?

A pergunta é simples de perceber, especialmente pelo facto de que vêm com um gráfico.

Contudo nas respostas é que está o verdadeiro sumo da coisa, ou seja é nas respostas que se percebe todas as nuances que podem estar a afetar este sistema de forma a que o gráfico / plot final da frequência vs amplitude tenha aquele comportamento.

Vejam que vale mesmo a pena ver esta discussão. Pelo meio ela inclusivamente chega a ser cômica, mas é uma discussão genial com a qual se aprende muito.

Why is the 5th stronger than the 1st in guitar spectrum?
https://music.stackexchange.com/questions/101677/why-is-the-5th-stronger-than-the-1st-in-guitar-spectrum

Só para contextualizar, eu cheguei até esta página ou pergunta no stackexchange depois de umas pesquisas no contexto do espetro de uma nota numa guitarra. Nomeadamente, se existiria uma forma melhor de conseguir fazer um detetor polifónico de acorde de notas de guitarra ex: clássica ou de cordas de Nylon. Com base na análise do espetro de uma FFT do sinal.

No passado, eu já dediquei algum tempo a este problema e já implementei um pequeno projeto que fazia isto mas com base num algoritmo relativamente simples que é o Harmonic Product Spectrum:

Polyphonic note detector using Harmonic Product Spectrum
https://github.com/joaocarvalhoopen/Polyphonic_note_detector_using_Harmonic_Product_Spectrum

Na realidade eu estava a conjeturar a hipótese de fazer uma implementação em tempo real deste algoritmo em Rust ou C / C++ em que iria buscar os dados diretamente à placa de som, processa-se buffers de FFT mais pequenos em tempo real, um pequeno servidor de sockets UDP e que envia-se sinais de note_C4_on, note_C4_off, tal como o protocolo MIDI para outras aplicações, e com isso quem sabe para eu ou outras pessoas fazerem um jogo para guitarra que contribui-se para que uma pessoa pratica-se mais guitarra, pelo menos para principiantes. Já fiz uma coisa similar para flauta e para harmónica no passado.

Contudo e neste caso queria ver se conseguia melhorar o algoritmo e foi nesse contexto que cheguei a esta pérola que partilhei aqui convosco.

Obrigado,

Cumprimentos,
João