اطلاعیه

Collapse
No announcement yet.

ساختار فایل wav

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ساختار فایل wav

    سلام

    من میخوام با FAT یک فایل wav رو پخش کنم...با کد ویژن ...

    فایل wav را با فت بازش میکنم ولی نمیدونم اطلاعاتش جطوریه! همش " " بهش پاس میده! oo:

    کسی از دوستان میدونه اطلاعاتش رو چطور باید بخونم؟

    ممنون :nerd:

    #2
    پاسخ : ساختار فایل wav

    wav چیز خاصی نداره که بخونید.نه اسم خواننده و تراک وآلبوم نه شماره آهنگ و نه سال ضبط. فکر کنم بشه فقط بیت ریت و مولفه های ضبط رو خوند.
    MP3 هم زمانی که اول اومد اینجوری بود ولی بعدا با اضافه کردن ID3 مشکل حل شد ولی روی Wav این امکان رو نزاشتند:
    http://en.wikipedia.org/wiki/ID3
    اینا که گفتم چه ربطی به سوال شما داشت
    تمام جزییات wav رو اینجا ببینید:
    http://en.wikipedia.org/wiki/.wav
    [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

    دیدگاه


      #3
      پاسخ : ساختار فایل wav

      نوشته اصلی توسط shahinbahari
      wav چیز خاصی نداره که بخونید.نه اسم خواننده و تراک وآلبوم نه شماره آهنگ و نه سال ضبط. فکر کنم بشه فقط بیت ریت و مولفه های ضبط رو خوند.
      منظورتون اینه که از اول فایل شروع کنم به خوندن؟هر چی ازش گرفتم بریزم رو خروجی؟

      دیدگاه


        #4
        پاسخ : ساختار فایل wav

        نوشته اصلی توسط مهدی مهری
        منظورتون اینه که از اول فایل شروع کنم به خوندن؟هر چی ازش گرفتم بریزم رو خروجی؟
        فکر کنم اینجوری باشه
        فرمت فایل wav تون 8 بیتیه دیگه؟

        دیدگاه


          #5
          پاسخ : ساختار فایل wav

          http://web.archive.org/web/19991115123323/http://www.borg.com/~jglatt/tech/wave.htm

          :wow:

          بله...8بیتیه!

          دیدگاه


            #6
            پاسخ : ساختار فایل wav

            نوشته اصلی توسط مهدی مهری
            http://web.archive.org/web/19991115123323/http://www.borg.com/~jglatt/tech/wave.htm

            :wow:

            بله...8بیتیه!
            اگه مونو باشه همین جوری پخشش کنید فقط نکته ای که داره اینه که اندازه ی تاخیر رو هم پیدا کنید تا آهنگ با سرعت واقعیش پخش بشه.
            اگه بیش از یه کانال صدا باشه باید اول تفکیک کنید بعد صدای هر کانال رو بفرستید.
            [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

            دیدگاه


              #7
              پاسخ : ساختار فایل wav

              فایل wave یک فایل RIFF هست. Resource Interchange File Format. ابتدای این فایل یک ساختار داداه ای وجود داره که مشخصات صوت در اون ضبط شده و بعدش کا اطلاعات نمونه برداری شده صوتی.

              دیدگاه


                #8
                پاسخ : ساختار فایل wav

                درسته آقا رضا...

                من یک فایل رو با notepad بازش کردم...

                چند کارکتر اولش این هست :

                کد:
                RIFF–6 WAVEfmt     à. à.  
                قسمت خواندن فایل هم اینه:

                کد:
                [left]if ((res=f_read(&file,buffer,sizeof(buffer)-1,&nbytes))==FR_OK)
                  {
                  printf("%u bytes read\r\n",nbytes);
                 
                  buffer[nbytes+1]=NULL;
                
                  printf("Read text: \"%s\"\r\n",buffer);
                  }
                else
                 
                  error(res);[/left]
                ولی خروجی این فایل اینه!
                FIR6

                این یعنی خیلی از کارکتر ها رو برای من نمیفرسته!(روی پورت سریال)

                مشکل کجاست؟ :redface:

                دیدگاه


                  #9
                  پاسخ : ساختار فایل wav

                  سلام خدمت اساتید
                  این فایلها با RIFF در ابتدا شروع می شوند و بعد از آن فرمت و بیت ریت و Sampling و خصوصیات دیگر آورده می شود که در این آدرس:
                  http://www.sonicspot.com/guide/wavefiles.html
                  کاملا توضیح داده شده است.
                  از جناب آقا مهدی هم التماس دعا داریم :mrgreen:
                  باران باش و ببار

                  دیدگاه


                    #10
                    پاسخ : ساختار فایل wav

                    دوستان دوباره سلام

                    من اطلاعات خوبی پیدا کردم...ولی یه سوال :redface:

                    من هنوز درست متوجه نشدم که این FIRR چی هست...یعنی اینو فهمیدم که یک سری اطلاعات هست...ولی نفهمیدم که دیتای صوت رو از کجا بردارم!

                    ببنید از این چیزی متوجه میشید:

                    __________________________
                    | RIFF WAVE Chunk |
                    | groupID = 'RIFF' |
                    | riffType = 'WAVE' |
                    | __________________ |
                    | | Format Chunk | |
                    | | ckID = 'fmt ' | |
                    | |__________________| |
                    | __________________ |
                    | | Sound Data Chunk | |
                    | | ckID = 'data' | |
                    | |__________________| |
                    |__________________________|

                    ممنون از لطفتون :nerd:

                    دیدگاه


                      #11
                      پاسخ : ساختار فایل wav

                      نگید که فهمیدم چی شد :wow:

                      Formatchuck به جورایی مشخصات پخش هستند... با با fmt شروع میشوند...

                      و دیتای اصلی هم با data شروع میشه...

                      به عینه این رو داخل فایل دیدم :nerd:

                      دیدگاه


                        #12
                        پاسخ : ساختار فایل wav

                        اینم ساده شدش :nerd:

                        Offset Contents
                        (hex)
                        0000 'R', 'I', 'F', 'F'
                        0004 Length of the entire file - 8 (32-bit unsigned integer)
                        0008 form type (4 characters)

                        000C first chunk type (4 character)
                        0010 first chunk length (32-bit unsigned integer)
                        0014 first chunk's data
                        ... ...

                        دیدگاه


                          #13
                          پاسخ : ساختار فایل wav

                          سلام
                          مشکلی دارم میخواستم بدونم کسی جوابی برام داره . می خوام بدونم فرکانس و تعداد بیت فایل wav رو چی تعیین میکنه . من الان یه wav player 8khz, 8bit mono دارم اما وقتی فایل رو تبدیل می کنم حتی تو کامپیوترم کیفیت صدا حسابی افت میکنه :cry2:

                          دیدگاه


                            #14
                            پاسخ : ساختار فایل wav

                            سلام آقای مهری.
                            ببخشید من چند وقتی نبودم.

                            مشکل شما اینه که اون چهار بایت اول رو بایت به بایت نمیخونین. احتمالا بصورت یک long هم میبینینش. چون byte order تون به هم ریخته. یادتون باشه که در یک محیط Big Endian مثل AVR یا 80x86 چهار بایت پشت سرهم یک مقدار long به صورت برعکس در حافظه وجود داره.

                            ضمنا مشکل کیفیت صدا باید جای دیگه ای باشه. مثلا بیایین اطلاعاتتون رو تا میشه (حجم حافظه اجازه میده) بار کنین و در مقاطع زمانی دقیق روی خروجی بریزین. اینجوری باید مشکلتون تا حد زیادی کم بشه.

                            دیدگاه


                              #15
                              پاسخ : ساختار فایل wav

                              سلام آقا رضا

                              این سوال مال حدود یک سال پیشه ، بچه ها دوباره آوردنش بالا

                              من میخواستم یک فایل wav رو از روی mmc بخونم و پخش کنم که موفق شدم .

                              البته کیفیتش خیلی خوب نبود ولی بد هم نبود.

                              روند کار هم اینطوری بود که ابتدا با استفاده از jetaudio فایل موسیقی رو به 8 bit تبدیل کردم و بعد ریختم روی mmc ، بعدش هم با میکرو یک بایت یک بایت دیتا رو از فایل موسیقی خوندم و ریختم روی پورت برای تبدیل به آنالوگ(با سرعت مناسب).

                              به همین راحتی و با یه برنامه 30-40 خطی کارش راه افتاد

                              بازم ممنون از جوابتون :nerd:

                              دیدگاه

                              لطفا صبر کنید...
                              X