collapse

* Posts Recentes

Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime. por blabla
[18 de Setembro de 2022, 18:44]


NiMH por 18650 por almamater
[18 de Setembro de 2022, 17:21]


How We Get Down to 0.2nm CPUs and GPUs - TechTechPotato por blabla
[18 de Setembro de 2022, 15:38]


Nova secção de Raspberry Pi Bare Metal em C e em Rust e Systems Programming por blabla
[04 de Setembro de 2022, 08:55]


The code for AGI will be simple - John Carmack and Lex Fridman por blabla
[29 de Agosto de 2022, 07:36]


Wavelets: a mathematical microscope por blabla
[28 de Agosto de 2022, 20:50]


Bom livro - Dive Into Systems por blabla
[28 de Agosto de 2022, 12:19]


graus negativos inclinação por josecarlos
[28 de Agosto de 2022, 11:31]


Super obsolescência super programada? por SerraCabo
[06 de Agosto de 2022, 11:36]


Motor de aspirador por dropes
[02 de Agosto de 2022, 22:18]

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

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

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 245
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