MP3 Dosya yapısı nasıldır?

Başlatan Mucit23, 19 Temmuz 2012, 17:24:15

Mucit23

Arkadaşlar Merhaba

Pic Mikrodenetleyicileri ile SD kart içerisine Wav formatında Ses dosyası kaydetmek istiyorum. Daha önce SD kart ile çalışmıştım. Hazır kütüphaneler kullanarak SD kart içerisine .txt dosyası açabiliyorum veya SD kartı eeprom gibi kullanmıştım. Fakat Fat dosya sistemi hakkında bilgim yok. Wav dosya sistemini merak ediyorum. Dosyanın başlagıcı ve kapanışı nasıl oluyor. Bu konuda ayrıntılı bilgi arıyorum.

mufitsozen

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Mucit23

#2
teşekkürler arkadaşlar  inceleyecegim

Mucit23

#3
Arkadaşlar Merhaba. Herhangi bir müzik dosyasını 8 bit mono wav dosyasına çevirebileceğim bir program önerebilirmisiniz. Şuanda Elimde bir adet bu şekilde wav dosyası mevcut. Bunu SD karttan okuyup pwm donanımı ile çalabiliyorum. Yanlız Başka dosyaları çeviremedim bir türlü.  :) Birkaç program denedim ama hoperlörden  hışıltıdan başka birşey alamadım.

Aslında program müziğin çözünürlüğünü istediğimiz gibi ayarlasa çok güzel olacak. Pic kullanıyorum. Picin PWM donanımı 10 bit ama ben 8 bit olarak kullanıyordum. Haliyle ses okadar net değil.

fatih6761

Biraz beklerseniz birkaç güne öyle birşey yazarım. Wav zaten basit bir format. Küçük bir header var ve gerisi 16-bit ( veya 8-bit) ham veriden oluşuyor. Zaten WAV işleme için .Net kütüphanesi yazmıştım, onun üzerine arayüzü güzel bir program ayarlayacağım... Biraz bekleyin :)

Mucit23

Aslında konu başlığını değiştirmek isterim. Wav Dosya yapısı dediğiniz gibi basit.

Ben MP3 ü merak ediyorum. Fat dosya yapısı bilmeden Direk SD kartı okuyarak MP3 formatı çözümlenebilirmi. Ses dataları nasıl saklanıyor bu MP3 formatında?

AsHeS

Çok ultra basit anlatım şekliyle  cosinus dönüşümü(Fourier benzeri,Fourier'den türetilen bir yapı) yapılıyor.Sizin bu datayı tekrar zaman eksenine çevirerek kullanmanız gerekiyor ki burada yazılım kısmı işin içine giriyor.Derseniz ki bundan fazlasını biliyor musun maalesef hayır :( .

berat23

mp3 dosya yapısı önemli değil,mp3 datalarını sese çevirmek için decode etmek lazım.mesele o.

Mucit23

iş yazılıma kalıyorsa herşey yapılır. Mp3 çözmekte çok zor olmasa gerek. Gözümü korkutmuyor..
Baktımda VS1053 denen bir çip var. Sadece MP3 deği wma wav, aac mpeg1,2 gibi formatlarıda çözümleyebiliyor. Ebaydada bolca bu çipin kullanıldığı deney kiti var.

fatih6761

MP3 karmaşık bir yapıdır. Boyutları belirli olmayan bloklar halinde kayıplı sıkıştırma yapar. FFT yani hızlı fourier dönüşümünü kullanır ( Formattan formata değişir, MPEG-I Layer 3 gibi ). Özel kütüphaneleri vardır. Mesela LibMAD gibi. GNU olsun diyorsanız OGG/Vorbis (libvorbis) ses dosya formatı vardır. Daha hızlıdır, daha iyi sıkıştırır vs...
Bir yanlışı da düzeltelim : FAT, bir dosya sistemidir. MP3 ise dosya formatıdır. Birbirleriyle alâkaları yoktur. Aynı zamanda FAT, dosya sistemindeki dosya bloğunun adıdır : File Allocation Table. FAT genel bir addır. FAT dendiğinden ilk akla gelen FAT12 dir. Bundan başka FAT16, FAT32 vardır. En gelişmişi FAT32 dir ve 1-2-4-8-16 gb lik usb flash belleklerde genellikle kullanılan dosya sistemidir. Yapısı basittir. Dosya başlıkları tablodadır. Yani tablo bozulursa veri kurtarma şansı yoktur. Modern bir dosya sistemi değildir. Çok daha hızlı olan NTFS (microsoft) ve extFS ( GNU ) vardır. Bu gibi modern dosya sistemlerinde dosya kurtarma olanağı vardır. FAT32 de 4GB dosya boyutu sınırı vardır. NTFS ve diğer modern sistemlerde bu gibi kısıtlamalar yoktur. extFS de fragmantasyon neredeyse yok denecek kadar azdır. Birleştirmeye ihtiyaç duymaz. Ama FAT ve NTFS gibi Microsoft ürünleri parçalanma sorunuyla gelir.
Teknik kısma giriş yaptık diyebiliriz. Fazlası için bana veya Google amcaya, Yandex abiye, Ara.com.tr kardeşimize sorabilirsiniz :) ... İyi çalışmalar...