Riconoscimento frequenze di note musicali Corso ESIM Prof. P. Daponte Gruppo di lavoro: Mario Calì 195/001418 Marco Gallucci 195/001241 Roberto De Falco.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI PARMA
Advertisements

Elaborazione numerica del suono
Sistema Uditivo e Analisi in Frequenza
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Cenni sul campionamento
Algoritmi e Programmazione
Tesi di Laurea Triennale in Ingegneria Elettronica Applicata
esponente del radicando
Algoritmi in C++ (1) da completare
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5
FUNZIONI DI BIBLIOTECA
Heap Sort. L’algoritmo heap sort è il più lento di quelli di ordinamento O(n * log n) ma, a differenza degli altri (fusione e quick sort) non richiede.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Fast Fourier Transform (FFT)
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
STIMA DELLO SPETTRO Noi considereremo esempi:
Strumentazione per bioimmagini
DATA PROCESSING UNIVERSITÀ DEGLI STUDI DI ROMA “LA SAPIENZA”
Laboratorio di El&Tel Elaborazione numerica dei segnali: analisi delle caratteristiche dei segnali ed operazioni su di essi Mauro Biagi.
INAF Astronomical Observatory of Padova
Ing. Simona Moschini tel.: Misure Trasformata.
Il Linguaggio C.
DEFINIZIONE DI NUOVE FUNZIONI & STRATEGIE DI COMPOSIZIONE La capacità di definire nuove funzioni permette: di definire nuove operazioni di introdurre variabili.
RAPPRESENTAZIONE DELL’INFORMAZIONE
Proposte di tesina Mario Toma.
SEGNALI COMPLESSI: modulazione in fase e quadratura SEZIONE 7
Corso di Antropologia della Musica A. A
Polinomi Trigonometrici Interpolazione Trigonometrica DFT & FFT
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Introduzione Statistica descrittiva Si occupa dellanalisi dei dati osservati. Si basa su indicatori statistici (di posizione, di variazione, di concentrazione,
Esperimento di statistica Palmo Fuoco – Giuseppe Valerio.
Daniele Santamaria – Marco Ventura
La scala musicale 1.
Un esempio: Calcolo della potenza n-esima di un numero reale
Trasformata discreta di Fourier: richiami
Algoritmi e Strutture Dati
Frequency Domain Processing
Unità 2 Distribuzioni di probabilità Misure di localizzazione Misure di variabilità Asimmetria e curtosi.
BIOINFO3 - Lezione 17 VARIABILI
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
Corso di Informatica - Foglio elettronico - Raffaele Grande
Complessità di un algoritmo
Il linguaggio musicale
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
La ricorsione.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni

MUSICA PITAGORICA.
Calcolo veloce della DFT: la Fast Fourier Transform (FFT) Cosimo Stallo & Paolo Emiliozzi Modulo di Elaborazione Numerica dei Segnali, a.a. 2009/2010.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Modelli della Fisica.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5.
Relazione N°4 Calcolo Ricerca Operativa: problema di scelta; una variabile d’azione caso discreto. vanti.
2. Il suono Caratteristiche del suono.
Problema dell’Ordinamento. Problema dell’ordinamento Formulazione del problema –Si vuole ordinare una lista di elementi secondo una data proprietà P Esempio:
Il diagramma cartesiano
18 ottobre 2010Il Fenomeno Sonoro1 Misura della pressione acustica.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione pre 1ma prova in itinere Marco D. Santambrogio – Ver. aggiornata.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
Analisi spettrale numerica di segnali di misura Prof. Leopoldo Angrisani Dip. di Informatica e Sistemistica Università di Napoli Federico II.
SOMMARIO La Digitalizzazione La Compressione LA DIGITALIZZAZIONE La digitalizzazione consiste nella trasformazione di un oggetto in una sequenza di numeri,
CHORUS EFFECT Sviluppo di Software per l’Acquisizione e l’Elaborazione in Tempo Reale di Segnali su Processori DSP. Università degli Studi del Sannio.
ANALISI DEI SEGNALI Si dice segnale la variazione di una qualsiasi grandezza fisica in funzione del tempo. Ad esempio: la pressione in un punto dello spazio.
INDICATORI DI TENDENZA CENTRALE. Consentono di sintetizzare un insieme di misure tramite un unico valore “rappresentativo”  indice che riassume o descrive.
Laboratorio II, modulo Segnali a tempo discreto ( cfr.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
Transcript della presentazione:

Riconoscimento frequenze di note musicali Corso ESIM Prof. P. Daponte Gruppo di lavoro: Mario Calì 195/ Marco Gallucci 195/ Roberto De Falco 195/ Eugenio Macchia 195/001134

Problema ‘C6711 DSK’ Riconoscere una nota musicale utilizzando il ‘C6711 DSK’

Musica, note e frequenze (1) Con l'espressione Nota Musicale si intendono fondamentalmente due cose: il segno con cui si rappresentano i suoni usati nella musicamusica due note, di cui una ha frequenza doppia rispetto all'altra, che sembrano molto simili e di conseguenza sono comunemente chiamate con lo stesso nome. L'intervallo determinato da queste note è detto ottavaottava

Musica, note e frequenze (2) si è consolidato l'uso di dodici note per ottava il La4 corrisponde a una frequenza acustica di 440 Hz. Ogni nota è separata dal La4 da un numero intero di semitoni. E ogni 12 semitoni si ha un raddoppio di frequenza.

Strumenti matematici Per operare l’analisi in frequenza di un segnale è possibile ricorrere alla Trasformata discreta di Fourier (DFT) La DFT è definita dalla formula per q = 0, 1,..., N-1.Calcolare direttamente questa somma richiede una quantità di operazioni aritmetiche O(N 2 ). Un algoritmo FFT ottiene lo stesso risultato con un numero di operazioni O(n log(n))

Fast Fourier Transform L'algoritmo FFT più diffuso è l'algoritmo di Cooley-Tukey. Questo algoritmo si basa sul principio di divide et impera, e spezza ricorsivamente una DFT di qualsiasi dimensione N con N numero composto, tale che N=N 1 N 2 in DFT più piccole di dimensioni N 1 e N 2, insieme a O(n) moltiplicazioni per l'unità immaginaria, detti fattori twiddle.divide et impera L'uso più conosciuto dell'algoritmo di Cooley- Tukey è di dividere e trasformare in due pezzi di n/2 ad ogni passo, ed è quindi ottimizzato solo per dimensioni che siano potenze di due

Soluzione Matlab Matlab fornisce agli sviluppatori una funzione di libreria per il calcolo della FFT x = abs(fft(x)) Grazie all’utilizzo di un costrutto for, è possibile calcolare la frequenza relativa al valore massimo della FFT del segnale, e quindi la frequenza fondamentale Successivamente, si calcola la frequenza del segnale: freq =(indMax-1)*campFreq/camp; dove indMax = frequenza fondamentale campFreq = frequenza di campionamento Camp = numero di campioni utilizzati

Da Matlab a C La libreria del TMS320C67x DSP per il calcolo della FFT fornisce la libreria DSPF_sp_cfftr2_dit Da manuale, la suddetta funzione richiede due procedure di supporto, una per il calcolo dei fattori di Twiddle, ed un’altra per il bit reverse: gen_w_r2 - bit_rev

Simulazioni in Code Composer Studio Le prime prove sperimentali sono state effettuate fornendo, all’interno del codice sorgente, la lista di campioni prelevati da Matlab x[1024] = {0.014, 0.013, 3.56, …} Visti i risultati soddisfacenti, si è passati alla sperimentazione su DSP reale

Interrupt Per effettuare il testing su DSP reale è stata creata una ISR (interrupt service routine) associata al clock da 8kHz presente sulla scheda DSK Il programma è stato posto in ascolto tramite la seguente funzione main():

Interrupt Service Routine L’ISR rappresenta il cuore dell’applicazione Grazie all’utilizzo di più variabili booleane, l’isr stabilisce quando iniziare la memorizzazione dei campioni acquisiti. Scartato il rumore iniziale, l’isr procede all’esecuzione della fft, e dei successivi calcoli Un algoritmo di ricerca della minima distanza dalle frequenze delle note conosciute, restituisce la nota corrispondente

Conclusioni Il sistema attuale riconosce tutte le note della 4° scala dal DO al SI, compresi i semitoni. E’ ovviamente possibile estendere il riconoscimento alle altre scale musicali semplicemente inserendo nel codice sorgente i valori delle rispettive frequenze. LA