Känna av takt med PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
MyKee
Inlägg: 43
Blev medlem: 1 april 2006, 00:18:45
Ort: Östersund

Känna av takt med PIC

Inlägg av MyKee »

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å
AndersL
EF Sponsor
Inlägg: 148
Blev medlem: 17 september 2004, 21:39:22
Ort: Ängelholm

Inlägg av AndersL »

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.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Det hela förutsätter naturligtsvis att det finns något i musiken som tydligt
markerar "takten", Alltså dunka-dunka musik eller liknande... :-)
AndersL
EF Sponsor
Inlägg: 148
Blev medlem: 17 september 2004, 21:39:22
Ort: Ängelholm

Inlägg av AndersL »

Tänkte inte på det :) Det underlättar lite...
Användarvisningsbild
MyKee
Inlägg: 43
Blev medlem: 1 april 2006, 00:18:45
Ort: Östersund

Inlägg av MyKee »

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?
Markus_I
Inlägg: 13
Blev medlem: 26 oktober 2007, 19:04:38
Ort: Linköping

Inlägg av Markus_I »

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.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

För få tillgång till samplad data så måste du läsa av PIC:en och lagra det i en t.ex. lista.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Välj en bättre uC.... En riktig DSP är nog ett bättre val.
Användarvisningsbild
PeterH
Inlägg: 8640
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Inlägg av PeterH »

Det finns ju annars vanliga (och ganska billiga) mixerbord för discobruk som har denna funktion inbyggd, det kanske går att hitta ett schema till ett sånt bord och se hur dom löst det?

/PeterH
Skriv svar