Känna av takt med PIC
Känna av takt med PIC
Hej
Har en idé om ett projekt jag vill göra men som jag inte vet riktigt hur jag ska gå tillväga.
Jag vill koppla in en ljudkälla till en microprocessor (PIC). Den ska sedan känna av takten
(beat detection) eller vad man säger från musiken som spelas och reagera på den, typ. tända
och släcka några lysdioder i takt.
Vore tacksam för all hjälp jag kan få
Har en idé om ett projekt jag vill göra men som jag inte vet riktigt hur jag ska gå tillväga.
Jag vill koppla in en ljudkälla till en microprocessor (PIC). Den ska sedan känna av takten
(beat detection) eller vad man säger från musiken som spelas och reagera på den, typ. tända
och släcka några lysdioder i takt.
Vore tacksam för all hjälp jag kan få
Det som behövs är väl ett lågpassfilter (LP), så att man får fram takten, lite nivåanpassning så att PICen kan hantera signalerna och sedan bestämma mer exakt vad man vill ska hända med lysdioderna. Var brytfrekvensen för filtret ska ligga vet jag inte, man kan nog prova sig fram till något bra värde.
Jag hittade något fint dokument på Internet som beskriver en algoritm
Beat Detection Algorithm
"In this model we will detect sound energy variations by computing the average sound energy of the signal and comparing it to the instant sound energy."
Det låter som en smart lösning som kan fungera, frågan är då bara hur får man tillgång till sampling data till PIC:en?
Beat Detection Algorithm
"In this model we will detect sound energy variations by computing the average sound energy of the signal and comparing it to the instant sound energy."
Det låter som en smart lösning som kan fungera, frågan är då bara hur får man tillgång till sampling data till PIC:en?
Det kan nog bli problem att göra sådan signalbehandling i realtid med en PIC. Alternativen är nog att designa ett analogt filter eller välja en snabbare processor. Men du kan ju alltid testa den där metoden på en PC och se hur bra den fungerar (inte nödvändigtvis i realtid). Det är nog en bra start.