MP3 soitin

Tuolla ohjelmointi puolella ollut paljon puhetta MP3 soittimen rakentamisesta, joten jatketaan sitä täällä.

Yritän rakentaa itse MP3 soittimen, jossa musiikki on SD kortilla ja mikro-ohjain hakee musiikit sieltä ja lähettää ne VLSIn VS1011 DA-muuntimelle jonka sitten pitäisi toistaa musiikki.

Soitin tulee varmaankin toimimaan SPI:llä, koska minulla on tuo VLSIn VS1011.

Tällä hetkellä koodailen soitinta siten, että se hakisi SD kortilta yhden biisin ja toistaisi sen.

Komponenteista:

ATmega32U4
VLSI VS1011 (täältä voi ostaa itselleen samanlaisen jos haluaa. Suomalainen yritys ja tuote)
SD kortti

Aikaisemmin asiasta on siis ollut puhetä tämän ketjun sivuilla 1 ja 2. Pyritään pitämään viestiketjut edes jossain määrin asiaan liittyvinä, tällöin sisältö on helposti löydettävissä myös jatkossa!

Onko projekti edennyt miten?

Itekin tullut vähitellen tilailtua osia soittimeen, mm. vs1011 ja micro-sd-korttipaikka jne. Tällä hetkellä protolevyä suunnittelemassa niin tiedä vaikka lähitulevaisuudessa pääsisi testailemaan. :slight_smile:

Ei ole edennyt kyllä kovin hyvin. Uusia projekteja tulee vähän väliä, jolloin näitä vanhoja ei saa ikinä vietyä loppuun asti.

Itse taisin jämähtää siihen, kun en saanut SPI:tä toimimaan. Sitten tulikin jo seuraava projekti, joten tämä jäi kesken.

Kiva kuulla, että olet saanut projektisi tuohon kuntoon. Laita jotain videota toiminnasta, kun pääset testailemaan :wink:

Tämä projekti jatkuu taas.

Laite muuttuu hieman eli unohdan kokonaan tuon VLSI VS1011 ja otan käyttöön Atmelin oman DACin, ja sillä luodaan musiikki.

Tähän mennessä olen saanut 16-bit PWM:n toimimaan, jolla DAC tehdään. Tällä hetkellä yritän saada jonkun lataamani äänen kuulumaan. Ongelmana on vain, että en tahdo saada ääntä kuulumaan oikein. Taitaa vika olla taajuuksissa.

Katsotaan miten homma edistyy vai edistyykö ollenkaan. Mutta joo, näillä eväillä taas eteenpäin.

Eikö toi puhas 16 bit PWM jossa jakson taajuus on vähintään tuo 44.1 kHz vaadi kohtuu järeän kellon?
44.1 kHz * 65536 = 2.890 GHz

Edit:
Laita vaikka joku I2S 16 bit DAC siihen kylkeen kinni, jos meinaat prossalla purkaa sen datan.
Milläs prossalla meinasit purkaa ton mp3 datan?

Miksi laskit 44.1kHz ja 65536 luvun tulon? Eikös 16-bit tarkoita tässä tapauksessa PWM lähdön resoluutiota.

Mistäs tuon nyt nappasit :neutral_face: ? Mitä olen tuota nettiä selaillut, niin olen ymmärtänyt 16 bit PWMllä saadaan luotua enemmän äänitasoja kuin 8 bit PWMllä.

Olisihan tuo yksi tapa toteuttaa laite, mutta kun haluan oppia käyttämään prossan omia ominaisuuksia.
Ajatuksena oli käyttää Atmel ATmega32U4 prosessoria.

Kyllä 16 bit PWM:ssä on enemmän äänitasoja (yhteensä 65536 tasoa). Esim 8bit PWM:ssä on 256 askelta per PWM jakso. Jos tuo tehdään Timer1:llä miten AVR manuskassa suositellaan, niin tuo laskuri joutuu pyörähtään ympäri. Eli 65536 askelta tarvitaan yhteen PWM jaksoon.
Tästä päästään siihen että 44.1 kHz PWM sampleraten aikaansaamiseksi tarvitaan se about 2.8 GHz kello timerille :slight_smile:

Jos mä vain jätän nämä tänne ja annan Montyn selittää?

xiph.org/video/vid1.shtml
xiph.org/video/vid2.shtml