Home Forum MICROCONTROLLORI Arduino e vs1053b con lettore SDcard e scheda audio per ascolto file midi..

Questo argomento contiene 11 risposte, ha 5 partecipanti, ed è stato aggiornato da  Anonimo 2 anni, 8 mesi fa.

Stai vedendo 12 articoli - dal 1 a 12 (di 12 totali)
  • Autore
    Articoli
  • #58248

    etti
    Partecipante

    Sono nuovo di questo mondo di microprocessori, leggendo qua e la forse spinto dalle parole Elettronica Open Source, guarda caso è anche il nome di questo sito, come si dice in gergo mi cade l’occhio su una piattaforma (semplice da usare e da implementare sia a livello software che hardware, così dicono!!!) che si basa su un microcontrollore Atmel ATmegaxxx chiamato comunemente ARDUINO.
    Però essendo nuovo non saprei neppure da dove iniziare conosco qualcosa di assembler e di linguaggio C e hardware di altri sistemi ad esempio il vecchio z80 e 8086 dell’intel, ma non saprei dove partire nei collegamenti hardware che creare il software per questa piattaforma, per creare una scheda o schede per la riproduzione audio di file nello standar midi, dove rivolgersi per questa creazione visto che gia esiste un prototipo per la riproduzione di file mp3 ma non midi dato che il il VS1053b non solo decodifica mp3 ma anche altri formati compreso i midi?

    #69680
    Luca Giuliodori
    Luca Giuliodori
    Partecipante

    Ciao etti,

    allora visto che conosci un po di assembler e di C ma siccome sei nuovo nel mondo dei microcontrollori (attenzione, forse lo sai e hai fatto un errore di scrittura, ma se parli di Arduino parli di microcontrollore non di microprocessore) io ti consiglierei, prima di passare alla riproduzione di file midi o mp3 (gli mp3 sono veramente difficili da riprodurre perchè richiedono una decodifica), io ti consigliere di acquistare intanto arduino (link del forum in cui si parla dove poterlo acquistare http://it.emcelettronica.com/forum/consigliatemi-dove-acquistare-i-kit-arduino) e poi di iniziare a implementare i primi software in assembler o C che fanno delle semplici operazioni come quella di accendere un led per poi passare piano piano alla realizzazione di un riproduttore midi o altro (per prenderci mano e per conoscere meglio i microcontrollori io ti consiglierei di iniziare a programmare in assembler e poi passare in C; lo so è un’operazione noiosa programmare in assembler ma ti fa rendere di più conto cosa sia veramente un microcontrollore).

    Trovi tutta la documentazione che ti serve on-line e se vuoi vai sul sito dell’ATMEL e trovi tutti i manuali dei micro che ti servono.

    Facci sapere.

    #69711

    Come detto da Luca acquistare una scheda a basso costo Arduino inizialmente che ha interruttore e led solo. (Cose semplici rende l’apprendimento veloce). e probabilmente imparare c per microcontrollori e iniziare a utilizzare simulatori (salvano la vita:)).
    Solo allora vi consiglio di andare per qualsiasi progetto serio. ma ricordate questa è una lunga curva di apprendimento che si possono ridurre a mesi solo con la pratica. progetti elettronici sono più di esperienza conta, piuttosto che la fortuna buona competenza teorica e di apprendimento felice

    #69722

    divivoma
    Membro

    come mai vuoi decodificare i file midi ? Hai in mente qualche applicazione particolare..?
    A me viene in mente una sorta di karaoke embedded.. che si potrebbe integrare in qualche altro sistema..ma sinceramente non so che complessità è richiesta per realizzare un decodificatore MIDI… purtroppo non ho esperienza in materia..

    Comunque come dice luigi potresti iniziare “from scratch” un progetto seguendo le linee guida di arduino in modo tale da acquisire le nozioni basilari.. e non ti preoccupare !

    Il kit si può acquistare da siti come quelli della farnell (googleggia un pò) oppure potresti provare a vincerlo all’interno del contest che è iniziato 3 gg fa “Oscillandia” Hai visto?

    Ciao

    #69736
    Luca Giuliodori
    Luca Giuliodori
    Partecipante

    Non ho molta esperienza in merito ma la codifica MIDI non credo sia troppo complessa. Credo sia più complesso gestire un display a cristalli liquidi o un uscita VGA ma anche in questo caso le case costruttrici di microcontrollori ci vengono incontro con librerie e demo board.

    Anche qua mi sembra che stiamo parlando solo noi :) dacci maggiori indicazioni

    #69739

    divivoma
    Membro

    Indagando un pò sul web riguardo i MIDI, che utilizzavo anch’io tempo fa quando studiavo piano sulla tastiera..(prima di comprare il mio bel kawai ;) ), ho trovato dei documenti interessanti che ti posto qui:

    http://www.suonoelettronico.com/interfacciamidi.html —>spiegano un pò cos’è il midi e come realizzare un cavo ad hoc e anche alcuni circuiti d’interfaccia

    invece quest’altro documento parla dello standard midi proprio:

    http://www.artestudio53.it/articoli/capitolo5.pdf

    Infine, mi è venuto un dubbio.. ma vuoi vedere che non c’è un modulo che fa già tutto questo in linux…quindi… Synaptic manager–> cerca–> midi.. et voilà… ecco uscito il modulo..che però richiede un apposito firmware: ti riporto un cat:
    il nome è midisport-firmware:

    This packages allows you to use M-Audio’s USB MIDI and Audio interfaces with
    Linux. These devices require a firmware download before an operating system
    driver (e.g. ALSA’s snd-usb-audio) can access them.
    ..

    In realtà c e ne sono anche altri.. se scrivi midi li trovi tutti..
    Magari riesci a vedere i sorgenti e capire come implementare il tutto per la tua architettura ;), o ancor più semplicemente potresti cominciare a provarli tramite il tuo pc usando linux … poi dipende da cosa vuoi fare.. certo non è che ti puoi inventare molto e “creare” chissà che..lo standard è già definito da decenni direi ;)

    Ciao

    #69745
    Luca Giuliodori
    Luca Giuliodori
    Partecipante

    Tutte cose molto interessanti quelle che hai trovato solo che non credo siano utili a etti: per come dice sul post lui cerca qualcosa di più facile da realizzare, e forse l’idea del karaoke non è proprio quella che fa per lui. I moduli di linux sono utili se riesci poi a mettere il sistema operativo nel tuo dispositivo ma non è il caso di Arduino (proposta fatta da etti).

    Forse quello che gli serve è qualche libreria per Arduino che gli aiuta a leggere i file MIDI o i file mp3…anche se per questi ultimi ho dei dubbi se utilizzi un Arduino, vedo più fattibile un file wave.

    Comunque anche qua attendiamo maggiori dettagli.

    Facci sapere.

    #69828

    Mino_73
    Partecipante

    Intanto grazie della info sul VS1053b perchè non lo conoscevo, ed essendo appassionato di musica e synth, la cosa mi è piaciuta.
    Considera che i file MIDI non contengono informazioni sul segnale audio ma solo le informazioni per la riproduzione del brano. Cioè le note da suonare lo strumento da utilizzare il volume ecc ecc. Quindi per riprodurre un file midi deve esserci poi un DSP che genera fisicamente i suoni. I file MP3 invece contengono l’informazione del suono da riprodurre ma sono in un formato compresso.
    In entrambi i casi un micro ATmega non può riuscire a effetturare le operazioni per la riproduzione dei file midi o mp3.
    Il VS1053b fa parte della famiglia di DSP che riesce a decodificare il file mp3, e non solo, e a riprodurre dei suoni sintetizzati. I dati gli vengono passati tramite interfaccia seriale da un microcontrollore esterno. Questo micro lo puoi scegliere tu e Arduino è un’ottima scelta per chi sta iniziando.

    Ti do alcuni link che forse possono interessarti:
    Qui trovi una schedina controllabile tramite seriale, quindi con Arduino, che utilizza un chip della stessa famiglia VS. Visto il costo del VS1053B di circa 22 euro (lo trovi nello stesso sito) magari conviene prendere una schedina già pronta. visto che non hai molta esperienza in ambito elettronico meglio iniziare con soluzioni di sicuro funzionamento, anche per evitare delusioni. I due chip sono molto simili, il VS1053b ha maggiori risorse interne.

    http://www.futurashop.it/allegato/7100-FT862M.asp?L2=Elaborazione%20audio/video&L1=Scatole%20di%20montaggio&L3=Registratori%20riproduttori%20digitali&cd=7100-FT862M&nVt=&d=42,00

    http://www.futurashop.it/allegato/1340-VS1053B.asp?L2=FUNZIONI%20SPECIALI&L1=SEMICONDUTTORI&L3=&cd=1340-VS1053B&nVt=&d=22,00

    Utilizzando queste due soluzioni avrai da fare poche connessioni hardware, sono due seriali e le alimentazioni, tra le due schede e la maggior parte del lavoro sarà il software per ADRDUINO.
    Considera che anche il chip VS1053b dovrà essere programmato tramite il suo tool di sviluppo, se utilizzi una soluzione gia pronta ti eviti questo passo.
    Per il software dovrai studiare un pò la piattaforma ARDUINO che non è solo una scheda ma anche un tool di sviluppo molto semplice da usare e con delle librerie già pronte. leggi un po in giro e troverai molte info. Ovviamente anche su questo sito.

    Qui trovi al datasheet del VS: http://www.vlsi.fi/fileadmin/datasheets/vlsi/vs1053.pdf

    che ti da anche delle indicazioni su come utilizzare il chip.
    Non ho capito bene se vuoi alla fine anche realizzare una scheda tutta tua. Ma se l’intenzione è questa avrai molto lavoro da fare e molto da imparare magari fai un passo alla volta e al bisogno chiedi aiuto qui. Puoi iniziare con una soluzione quasi pronta per poi arrivare ad una soluzione tutta tua.
    Ho guardato al volo il sito dell’azienda che produce il chip e li puoi scaricare molta documentazione a riguardo comprese Application note il software di sviluppo ed esempi di applicazioni. In bocca al lupo!! :)

    #70588

    Anonimo

    praticamente un lettore o player di file midi

    #70589

    Anonimo

    Grazie della informazione, che crepi il lupo…….:)

    #71234

    Anonimo

    Ciao! La tua risposta mi sembra inerente al mio problema e mi piacerebbe approfondire per chiederti aiuto!
    Come avrai intuito dall’oggetto devo costruire e programmare un mappamondo interattivo per un progetto sulla memoria. L’obiettivo è quello di costruire un mappamondo con dei tasti sulle varie aree geografiche e la risposta data dal mappamondo è la riproduzione di un file mp3 (precedentemente registrato) sulle persecuzioni avvenute in quel luogo.
    Bene dopo l’inquadramento, io ho un arduino, sue speaker, una discreta conoscenza di c++, i tasti, flip-flop e un MC4558. Tralasciando la parte tasti che fin li me la cavo e per la programmazione di arduino ho un amico che ha già fatto qualche progetto e sa progettarmelo; sarebbe troppo chiederti che altri componenti mi servirebbero e un inquadramento generale su come muovermi?

    Cordiali saluti e grazie in anticipo per il tempo dedicatomi!
    Marco Prevedello

    #68188

    Mino_73
    Partecipante

    Forse è tardi per risponderti ma vedo il tuo commento solo oggi!!!
    PEr il tuo progetto credo sia meglio puntare su dei file WAVE,visto che usi un micro non credo che con questo riuscirai ad eseguire la decodifica MP3.
    Veniamo al tuo progetto.
    Non conosco Il tool di sviluppo di arduino, in genere mi scrivo il software da solo o modifico quello che trovo in giro. Potresti iniziare con collegare al tuo arduino una memoria tipo compact flash dalla quale leggere i file wave, per il software (se nel tool di arduino non trovi nulla) potresti partire dalla libreria “procyon library avr” che contiene praticamente tutti i driver delle periferiche per micro avr, i dati letti dalla flash li mandi tramite I2C ad un DAC per la riproduzione dei file wave. Devi solo verificare la massima velocità della I2C del micro così puoi scegliere la fraquenza di capionamento dei file wave, ma a occhio non dovresti avere problemi anche con file campionati a 48KHz.
    Per collegare i tasti al micro dovrai usare una connessione a matrice altrimenti non ti basteranno i pin del micro, su internet trovi una marea di progetti su come connettere N tasti su M pin di un micro. Per il DAC puoi fare un giro sul sito della farnell o RS per trovare un chip DAC per uso audio, o in alternativa ti puoi fare il DAC con un oreazionale ed una rete resistiva. Non è il massimo ma per iniziare a sentire qualche suono può andare.
    Se hai domande più specifiche proverò a risponderti quanto prima. Sempre che non hai già finito e consegnato il progetto. :-)

Stai vedendo 12 articoli - dal 1 a 12 (di 12 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.