Suoni a 8 bit

Salve a tutti! :smiley:

Dopo aver ascoltato un po' di canzoni in 8 bit (quelle in stile GameBoy o vecchia console), mi ci sono innamorato! (Per intenderci: - YouTube)
Volevo chiedere a qualcuno più esperto se tutto ciò è possibile anche tramite un Arduino... Cioè far entrare un segnale audio, e far uscire il corrispondente in 8 bit (possibilmente con un Jack normale), tutto con un Arduino Uno.

Ho visto tempo fa uno che lo faceva con un microprocessore ATMega, quindi immagino che la stessa cosa si possa fare anche con un Arduino... o mi sbaglio? Facendo ricerche sia qui che su internet non ho trovato nulla.... Spero di essere stato abbastanza chiaro!

Grazie a chi mi risponde! :smiley:

Le musiche che trovi su youtube ad 8 bit non sono proprio facili da fare: esistono sintetizzatori apposta con un sacco di voci e strumenti precampionati. Non credo tu possa fare le stesse cose con un Arduino, al max potresti avere un segnale ad 8 bit da un input ma sarebbe un qualcosa di monocanale, tutt'alto che simile a quello che si sente in giro.

Diverso è il discorso se la musica la fai generare direttamente all'Arduino, ciò è possibile e ci sono esempi (tipo Uzebox) di miniconsole che creano sia audio che video ad 8 bit.

Ok, ho capito. Certamente, stavo pensando solo il monocanale, di sicuro non il doppio :wink:

Se comunque mi dici che non è fattibile quello che voglio io, prova a spiegarmi come sarebbe se volessi fare in modo che la musica se la crea l'Arduino stesso :wink: ti ringrazio per la risposta!

http://belogic.com/uzebox/index.asp
Questo è il sito dell'Uzebox.
Vedrai giochini ad 8 bit in stie anni '80. E capirai che per far generare musica che si possa chiamare "musica" servono routine complesse in assembly e gestione dei tempi tramite interrupt, non è una cosa da fare con il Tone di Arduino.

Ok, ho capito che è qualcosa di non fattibile quello che voglio fare io xD

Mi rassegno.
Ma non ho capito bene, quel sito che mi hai linkato è specializzato nel crearsi a casa una console (più o meno evoluta)?

Sì.
La puoi anche acquistare in kit. Cmq non è l'unico progetto in rete.

http://www.linusakesson.net/scene/bitbanger/index.php
Qui vedi cosa riesce a fare un misero Attiny15! Ossia un chip con 1 KB di Flash!
Su quel sito trovi anche altri demo, ad esempio:
http://www.linusakesson.net/scene/craft/index.php
Questo usa un Atmega88.

EDIT:
cmq come vedi è tutta roba fatta in assembly.

Ma non c'è niente di consigliabile per un Arduino che tu sappia? (ti vedo informato, e mi sta incuriosendo quello che mi dici :smiley: )

Sono informato perché ci sono passato anch'io :wink:

La cosa più semplice è questa:

HackVision. E' una mini console che riproduce anche il suono.
La puoi costruire anche su una semplicissima breadboard: io ovviamente l'ho fatto (senza suono, però) :slight_smile:

Studiando quei sorgenti dotresti trovare degli spunti.

Ti ringrazio veramente, domani dopo aver dormito ci penso su, sono veramente incuriosito! (non credevo che con un Arduino si potesse arrivare a questi livelli! :open_mouth: )

Scusa, ma quello che mi hai linkato è una "console" basata sull'ATMega, ma non ho capito come faccio a fare in modo per visualizzare in un TV un segnale video proveniente dall'Arduino... Perdonami, è da poco che mi sono buttato sugli Arduino, e tralaltro non ho molto tempo per dedicarci su

leo ho visto i tuoi lavori sul tuo sito :slight_smile:
ho in progetto una cosina simile con crt da 5pollici (tanto per non lasciare il campo old+hv)

@chello:
Ma se guardavi il codice, come ti avevo consigliato, scoprivi che, a parte la sezione video che usa una libreria che si chiama TvOut (che permette di generare un segnale video monocromatico in bassa risoluzione in formato PAL o NTSC), trovavi nello sketch come viene gestita la generazione di un suono che è leggermente più raffinato di un semplice beep.

@testato:
5 pollici sembrano perfetti per una risoluzione di 128x96 :wink:

Ok, ho visto, sono riuscito a scaricare la libreria TVout, ora avrei bisogno delle giuste dritte per continuare. Scusate se non continuo a capire, mi sto addentrando in un mondo in parte ancora molto sconosciuto, abbiate pazienza per favore, ve ne sarei grato :smiley:

Chello:
Ok, ho visto, sono riuscito a scaricare la libreria TVout, ora avrei bisogno delle giuste dritte per continuare. Scusate se non continuo a capire, mi sto addentrando in un mondo in parte ancora molto sconosciuto, abbiate pazienza per favore, ve ne sarei grato :smiley:

Beh, di dritte ne hai avute un sacco. Hai diversi link di progetti, hai anche degli sketch (es. quelli di Space Invaders e di Asteroids) che contengono anche il codice per generare semplici suoni, che è quello che ti interessa. Non devi fare altro che studiare quegli esempi :wink:

Ok, Adesso mi spiego:
Visto che la maggior parte dei link che mi hai dato sono tutti con un "corrispondente" video di giochi retrò, ecc..., Quindi pensavo di attenermi a questo, facendo una specie di console... che riproduca sia audio che video.

Fino a questo punto ci sono, ho guardato sporattutto nel playground, Arduino Playground - TVout , e ora ho bisogno per procedere di due spinotti RCA, uno per l'audio e un altro per il video, e di due resistenze. Poi sono pronto a procedere :wink: Ringrazio per tutto.

(Domanda da nabbo: in Ubuntu, che per adesso è il sistema operativo che uso di più, dove la trovo la cartella di Arduino? Ho provato a prendere giù il .tgz, per avviare Arduino IDE da lì, così sapevo dove fosse la cartella Libraries. Il problema è che non va, e devo usare quello che è installato. Ora sto usando Windows, ma se volessi brutalmente aggiungere librerie all'IDE di Arduino, come faccio? Grazie, e scusate per da domanda del ca...volo xD )

Se tiri giù da questo sito il pacchetto di Arduino, lo puoi scompattare dove ti pare poi lo avvii sempre da lì.
Se invece installi il pacchetto presente nel repo di Ubuntu, l'IDE viene installato nella cartella dei binari di sistema (mi pare, non uso i pacchetti precompilati di Arduino), e lì non ci puoi scrivere come utente normale. Però è bene mettere le librerie sempre all'interno della cartella degli sketch perché se cambi versione dell'IDE potresti cancellare quelle messe da te.

Di default la cartella degli sketch è /home/UTENTE/sketchbook. La cartella per le librerie è sketchbook/libraries.
Se non ce l'hai creala: l'IDE la consulterà in automatico all'avvio per caricare le lib personali.

Ti ringrazio per le dritte, domani provo a fare del mio meglio :wink: