Scansione battere e levare audio da microfono é possibile ?

Salve, sono un nuovo iscritto al forum.
Premetto che mi sto documentando ora su arduino e non ho conoscenze di elettronica, ma confido su qualche aiuto e sulla parte di programmazione per verificare la fattibilità di un progetto che ho in mente.
Vorrei sviluppare un piccolo controllo che analizzi l'audio attraverso un microfono e mi restituisca il battere ed il levare mediante 2 led che si accendono.
Spero di essere stato abbastanza chiaro e confido in un vostro piccolo aiuto per capire almeno se attraverso arduino è possibile costruire un prototipo.

Grazie in anticipo

enriweb77:
piccolo controllo che analizzi l'audio attraverso un microfono e mi restituisca il battere ed il levare mediante 2 led che si accendono

Non capisco esattamente quello che vuoi fare. Vuoi praticamente costruire un sistema che analizza il tempo di un segnale audio in input?
Perchè se questo è il caso, Arduino non è sufficientemente potente per elaborare segnali audio e quello che vuoi fare è oltretutto molto complicato a livello software.

Se non hai nessuna conoscenza di elettronica ti consiglio di procurarti uno starter kit di arduino e cominciare da li, ci sono alcuni esempi abbastanza semplici che ti mostrano grossomodo le potenzialità dello strumento.

Se invece non ho capito bene il tuo progetto, prova a spiegare meglio e vediamo se è fattibile o meno e come possiamo consigliarti

Si esatto, è esattamente un sistema che analizzi il tempo di una canzone attraverso un microfono e mi fornisca tramite due led il battere ed il levare della stessa.
Ho visto alcune luci che avendo solo l'alimentazione elettrica vanno a ritmo di musica e scandiscono perfettamente il tempo, quindi presumo che utilizzino un concetto simile.
Non ho idea se è possibile sviluppare un prototipo con arduino o devo utilizzare qualcosa di più potente.
Per la parte di programmazione potrei appoggiarmi a qualche collega.
Grazie

Ciao, scusa la mia ignoranza, ma quello che vuoi far fare ad arduino, io, che non sono un musicista, non saprei farlo nemmeno personalmente. Voglio dire che non saprei segnare il "battere" e "levare" di una canzone ascoltandola.

Ti prego di non considerare banale il mio intervento. Intendo dire che, probabilmente, molti di noi non saranno in grado di risponderti semplicemente perchè non sapendo come si fa a riconoscere il "battere" ed il "levare" non sanno cosa deve fare esattamente Arduino e quindi non possono dirti se ha risorse sufficienti per farlo.

Mi farà piacere riflettere con te sulla cosa se ci darai qualche indicazione in più in merito.

Ciao.

Quello che si vede in giro è una serie di led o un "10 SEGMENTS BAR GRAPH ARRAY" che vanno a tempo di musica.
Un VU Meter come questo:

Alè! Un mega per un Vu meter....

Bastavano 2 LM3915

pelletta:
Alè! Un mega per un Vu meter....
Bastavano 2 LM3915

:grin: :grin: E lasciali giocare!
Certo fai prima senza usare un Arduino di mezzo.

Ciao Vittorio,
hai ragione sono andato un pò sul tecnico me è abbastanza difficile spiegare con esattezza il detect che intendo fare.
Ho visto tanti progetti in cui c'erano led che facevano mille effetti in base all'intensità della musica.
La mia esigenza è molto più semplice, facciamo un esempio:
Avete presente le canzoni da discoteca ?? Il suono della cassa scandisce i BPM della canzone.
Io avrei bisogno di far accendere un led ogni volta che c'è il "boom" della cassa, ovvero ad ogni battuta della canzone.
Il problema è che avrei bisogno di farlo acquisendo la sorgente audio da un microno integrato al controlle r e non da una sorgetne collegata tramite USB o altro.
Ho trovato un esempio di un progetto simile, posto il link per vedere se sono riuscito a chiarire la mia esigenza.

http://www.reddit.com/r/arduino/comments/160tpn/beat_detection_from_microphone_16_meters_rgb_led/

Spero di essere stato un pò più chiaro, cercherò anche qualche riferimento video.

Grazie

Le "luci a tempo di musica" che hai visto con solo l'alimentazione elettrica sono probabilmente semplici luci psichedeliche ... ma puoi usare lo stesso principio (piu o meno) mettendo due filtri di tono (o un passabanda variabile) fra il microfono e regolandoli in modo che lascino passare il "boom" basso della grancassa, eliminando il piu possibile tutto il resto ...

Esattamente, il concetto è che dovrei creare una sorta di metronomo che invece di essere impostato a mano per la velocità si basa sui bpm della musica acquisita dal microfono.
Mi sapreste indicare quali componenti dovrei eventualmente acquistare per provare a fare un prototipo e qualche link a librerie di esempio ?

Non so se riuscirò mai nel mio intento, ma intanto grazie a tutti per il supporto.

Se riesci a leggere il segnale audio e convertirlo nel range 0-255 potresti aggungere un trimmer su un altro pin analogico come riferimento per l'accensione dei led.
Quando supera il valore impostato dal trimmer accendi il led.
In questo modo puoi regolare la sensibilità dell'aggeggio.
E' solo una supposizione

[OT]

Un VU Meter come questo:
http://www.instructables.com/id/VU-Meter/

Più che instructables è DEstructables... le resistenze sui led!!!

pelletta: ci devi mettere anche un filtro, se no legge qualsiasi rumore e non solo il casino ... pardon, volevo dire "ritmo" :stuck_out_tongue: della grancassa ...

Enriweb, te ne intendi di circuiti audio ? ... se no domani provo ad inventarmi uno schema (ora non ho tempo, sto andando via)

pelletta:

nid69ita:
Un VU Meter come questo:
http://www.instructables.com/id/VU-Meter/

Più che instructables è DEstructables... le resistenze sui led!!!

E visto il codice, non attiva neppure le resistenze interne. :smiley:

Se ti interessa fare qualche ricerca ci sono in rete qualche progetto del genere..
Basta cercare "Arduino Beat Finder/Detector/Tracker"..usano molti nomi differenti XD
EDIT: anche Beat Counter va di moda :smiley:
Ecco un video del genere..

Ciao Etemenanki, se vuoi provare a darmi una mano molto volentieri.
Purtroppo non ho competenza di elettronica, ma da quando ho scoperto arduino mi si è aperto un mondo e potrei investirci quel poco tempo che ho per capire se riesco a concretizzare la mia idea.
Nel caso mi servirebbe anche un elenco completo delle schede e degli accessori che dovrei acquistare.

Per MrJacko, ho già provato ad eseguire ricerche approfondite ma non ho trovato esattamente quello che cercavo, il video che hai postato l'ho visto oggi ed è già qualcosa che si avvicina a ciò che mi serve. In particolar modo più che la serie di led colorati ho vosto che il detect che mi interessa è quello del singolo led verde.....quello si accende esattamente sul battere della canzone e ne scandisce il tempo.

Intanto grazie mille a tutti per l'interessamento

Prego :slight_smile:
Essendo un musicista (suono basso e chitarra) mi piacerebbe anche a me creare un progetto del genere ma non ho grandi conoscenze in elettronica e non ti so dare consigli più "mirati"..

La cosa più semplice che mi viene in mente dal punto di vista circuitale è filtare l'input (anche con un filtro R-C passa basso, ma forse è meglio un bel filtro attivo..google e wikipedia docet) sulle frequenze della cassa (sotto i 100Hz? bisogna guardarci) e monitorare l'input in modo che si isolino il più possibile gli input.

Ho avuto per le mani un aggeggio (che sarebbe una centralina per luci, ma un po' mi vergogno a chiamarla così per quanto è distrutta) tempo fa che prendeva un audio in ingresso, lo filtrava con 4 passa banda attivi e inviava il segnale a dei tiristori di potenza che accendevano le lampadine a ritmo e in base alle frequenze (regolabili)..molto semplice e molto efficace allo stesso tempo..se il tuo "problema" è solo accendere delle lucine non è così complicato da fare. Studiati bene la parte dei filtri perchè per questo progetto è fondamentale.

ho provato a cercare su google "bpm algorithm". Ci sono molti risultati da studiare.

C'è anche un thread sul forum Arduino (FFT algorithm for beat detection? - Audio - Arduino Forum).

Questo sembra semplice: Automatic Beat Detector - Learning Arduino

Si trova anche cercando, sempre su google, "arduino bpm calculation"

Ciao.

Mah, da quel video non riesco a capire se la cosa e' reale o meno (ci sono punti, verso la meta' del video, in cui i lampeggi vanno fuori sincro rispetto alla musica che si sente) :roll_eyes: ...

Comunque, un'indicazione di massima (visuale) legata al "beat" o ai piatti si puo ottenere facilmente, basta un circuito di ingresso con un filtro passabanda a frequenza variabile, che pilota un led o una lampada ... con questo sistema avresti un "flash" ad ogni battuta, se vuoi un'indicazione tipo quella del video (una battuta accende ed una spegne) serve anche un flip-flop ...

Se invece vuoi il conteggio sul display, per quello serve qualcuno piu esperto di me in programmazione, io sono piu che altro un'hardwarista :stuck_out_tongue:

Il circuito che ti allego e' la "rielaborazione" volante di un tipico filtro "bandaxall" trasformato in passabanda variabile ... niente di speciale, con il potenziometro doppio ci regoli il centro banda, in modo da amplificare di piu la "fetta" di frequenza che ti interessa, con quello singolo ci regoli la sensibilita', in modo che il resto della musica, se e' troppo alta, non ti saturi il tutto bloccandolo, e l'uscita pilota un led (meglio uno bello luminoso) ... i due transistor li ho usati solo per poter dare un'impulso di larghezza sempre piu o meno uguale, in modo da non venire troppo influenzato dalla durata del "boom" (o comunque del suono che vuoi leggere) ... premetto pero' che il circuito l'ho disegnato "al volo" e non ho avuto il tempo di provarlo, quindi non posso garantirti che fara' esattamente quello che ti serve (e soprattutto non ha caratteristiche da HI-FI :P) ... puo probabilmente essere migliorato giocando con i valori della sezione filtro :wink:

EDIT: dimenticavo una cosa importante, i laterali del potenziometro "doppio" da 220K lineare devono ovviamente essere collegati "incrociati" l'uno rispetto all'altro, cioe' devono essere connessi in modo che ruotandolo uno dei due rami aumenti quando l'altro diminuisce e viceversa, altrimenti non si ottiene una funzione di passabanda variabile :stuck_out_tongue:

Wow, siete veramente forti !!!!
Grazie mille dei suggerimenti, anche se come anticipato, la metà delle cose che dite per me sono veramente arabo.
Ma da qualche parte bisogna pur partire.
In base alle vostre esperienze un progetto simile se ben settato è funzionante con tutti gli audio in imput o necessiterà sempre di regolazioni per i filtri in base alla sorgente musicale (ad esempio per eventuali tracce che hanno una cassa meno marcata).
Se è così dovrò sicuramente cambiare approccio al mio progetto!!!!

Etemenanki, per realizzare il circuito che hai progettato che scheda arduino dovrei acquistare ??