Mp3-spelare...

Berätta om dina pågående projekt.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Liten uppdatering...
Det som tar tid är ju när läsaren i HDn får göra lite större hopp än nästa sector på disken... Tidigare så läste jag en/två sectorer mp3-data och sedan adressen till nästa cluster från en annan sector på disken och detta tog ganska mycket tid och orsakade hackande uppspelning... Har provat lite olika metoder nu för att snabba upp det, bla att läsa en hel bunnt med cluster-adresser, spara i AVRns RAM och sedan bara föja adresserna. Detta gick väl bra tills det var dags att läsa in nya adresser (ungefär var 4sek), då la musiken av i ca 1 sek och forsatte sedan :doh:

Nu har jag funderat i några dagar på hur det ska gå att lösa och det jag tänkt mest på och nu börjat arbeta med är att läsa hela cluster-kjedjan för filen som ska spelas och spara den som en fil på hårddisken och sedan läsa adressena igen, fast från filen denna gång. Fördelen med detta framför att läsa adresserna direkt från FAT där dom ligger är att här får man alltid 128adresser vid varje läsning av en sector av filen, jämfört med att läsa adresserna när dom ligger i FAT på en extremt dåligt defragmenterad disk, då man kan ha otur och få en adress från en sektor = att man kanske måste läsa 128sectorer för att få 128adresser = Massor av tid (Iof så lär den disken som är så dåligt defraggad aldrig stötas på, men bara så att det blir lite lättare att förstå skildnaden).

Eftersom jag knappt förstår själv vad jag babblar om här ovan så försöker jag sammanfatta det lite enkelt här nedan:

Kod: Markera allt

Spara hela cluster-kjedjan i en fil på HDn.
Loopa tills låten är slut
{
	Läs 128cluster-adresser från den sparade filen.

	Kör 128ggr, tills clusteradresserna är slut
	{
	Läs ett cluster mp3-data som första/andra/tredje/... cluster-adressen pekar på.
	Skicka Mp3-datan från det lästa clustret till decodern.
	}
}
Det hela känns lite omständigt (Först läsa sedan skriva och läsa igen) och kommer nog ta några dagar att greja när jag tidigare inte idats göra några rutiner för att skapa filer på HDn... Får se hur det går, nåt ska man väl om inte annat lära sig på det... Gonatt!
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

En bra sak kan ju vara att kolla på yampp:s källkod, där finns ju en hårddiskspelare som skall fungera bra.

/Johan
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Hur gammal är hårdisken, menar de gammla hårdiskarna var extremt slö....
en liten nyare kannse är bättre...

Bara en ide :)
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Jo, det är bara det att Yampp3 (som använder hårddisk) har externt RAM, så han kan lösa det på en del andra smidigare sätt, men jag ska ta och kika på hans kod igen.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

erixon skrev:Hur gammal är hårdisken, menar de gammla hårdiskarna var extremt slö....
en liten nyare kannse är bättre...

Bara en ide :)
Jag tror inte det är hårddisken som är problemet, kanske en lite del av det. Hårddisken kan nog vara kring 5-7år, kommer inte ihåg när 1GB:are var aktuellt och hittar inget tillvärkningsdatum på den. Ska iaf snart köpa mig en ny HD till den, så får väl se då.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Melker skrev:Jo, det är bara det att Yampp3 (som använder hårddisk) har externt RAM, så han kan lösa det på en del andra smidigare sätt, men jag ska ta och kika på hans kod igen.
jag trodde att du hade externt ram, du höll i varje fall och pratade om det för några månader sedan
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

:) Jo, hade det när jag började och skrev i asm, men jag skrotade det när jag började om med programmeringen till en Mega32:a, skerv det tidigare i ett inlägg...

Har nu iaf kollat en del på yampp3-koden och jag tror att han inte använder det externa RAMet under uppspelning. Tänkte först när jag kollade på hans kod att den var ganska lik min som jag körde från början för uppspelningen, men efter lite mer tittande så kom jag på att dom inte alls var särskillt lika och att hur min fungerade inte var särskillt smart heller. Så ska nu prova göra om koden lite mer som yampp3s kod och se om man kan få det att fungera bättre.
klintan
Inlägg: 307
Blev medlem: 13 juni 2003, 01:59:05
Ort: Ekerö

Inlägg av klintan »

kanske en konstig fråga, men jag undrar om det finns något chip(helst alla funktioner samlade) som kan koda wav - mp3? alltså en hårdvaru encoder, tänkte på funktioner så som att man kan spela in låtar från radio till mp3 och från en cd skiva till mp3 automatiskt till en hårddisk utan att behöva ha operativ, prog m.m. styrt från en mikroproccesor.
DragonOrb
Inlägg: 381
Blev medlem: 16 oktober 2003, 21:57:19
Ort: Flen

Inlägg av DragonOrb »

kolla på strombombs sida, han har beställt några såna till sin mp3..
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Jupp jag har några såna, eller ska rättare sagt hämta ut dem på posten imorron.

Kretsen heter Micronas MAS3587F och har alla funktioner du kan behöva.

Följande in och utgångar finns:
Digital ingång för DVD spelare och DAB mottagare.
Analog stereoutgång för hörlurar med inbyggd förstärkning
Monoingång för mikrofon
Ingång för FM-radio alternativt bandspelare
Digital in och ut för digital kommunikationsradio

/Johan
klintan
Inlägg: 307
Blev medlem: 13 juni 2003, 01:59:05
Ort: Ekerö

Inlägg av klintan »

tack så mycket, det är precis va jag letat efter. Micronas hade mycket intressanta kretsar. tack så mycket
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Vad har du tänkt att bygga för något?

/Johan
klintan
Inlägg: 307
Blev medlem: 13 juni 2003, 01:59:05
Ort: Ekerö

Inlägg av klintan »

en "fast" mp3 spelare med inspelning från radio. funderade t o m på att ha cd spelare först och encoda om låtarna till mp3 för att lägga in dom på hårddisken men lade ner det för tillfället efter lite övervägande då det är svårt att fixa ID3 taggarna till de nya låtarna.måste kopplas till internet då och så. Samt ganska mycket datakraft krävs. Ett litet problem finns dock fortfarande och det är om det finns nåt system för hur man kan urskilja låtarna när de spelas så att programmet vet när den ska börja spela in och så vidare. Ungefär som "reklam kännaren" som finns i en annan tråd.. ska testa och söka lite på Google :) nån kanske har kunskap i det?
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

vanliga kassettbandspelare kan man ju snabbspola så att de stannar framför nästa låt, de går ju på att det blir tyst

det kanske du kan köra på... men det det blir ju aldrig perfekt.

/Johan
Kent
Inlägg: 156
Blev medlem: 19 januari 2004, 10:48:05
Ort: Södra Dalarna
Kontakt:

Inlägg av Kent »

Intressant projekt. Klart imponerad :)



Någon som gjort något liknande fast med PIC processorer?
Skriv svar