【音乐拼接】WAV格式
生活随笔
收集整理的這篇文章主要介紹了
【音乐拼接】WAV格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
預備知識
必備基礎知識用4個字節 表示一個整數 每個字節8位 字節可以用無符號整數(十進制)來表示(0-255) 假設有如下4個字節 194 021 001 000 分別轉換成16進制為 C2 15 01 00 高位在前 于是如下 15C2 0001 再轉 如下 000115C2 (這個就是4字節表示的整數對應的16進制) 轉成10進制如下 71106======================================================================================開始 真正內容 wav文件 = 文件頭 + 數據體文件頭 44個字節前12個字節用來說明文件是哪種類型 (如下字節)082 073 070 070 202 043 000 000 087 065 086 069 ------ a.wav 082 073 070 070 234 046 000 000 087 065 086 069 ------ b.wav 082 073 070 070 120 048 000 000 087 065 086 069 ------ c.wav 082 073 070 070 194 021 001 000 087 065 086 069 ------ d.wav這12個字節里面第5-8個字節是不一樣的,其他一樣,這四個字節就表示一個整數,該整數為:從下一個地址開始到文件尾的總字節數。 也就是說,前8個字節加上該整數就等于本wav文件總字節數,不信可以自己算算,百發百中。。。剩下 32 個字節分為兩個部分。 12-35 字節用來說明文件結構 36-43 字節用來說明數據大小 44到最后就是數據體剛才分析到前12個字節,繼續 13-16字節 表示 fmt ,波形格式標志102 109 116 032 ------ a.wav 102 109 116 032 ------ b.wav 102 109 116 032 ------ c.wav 102 109 116 032 ------ d.wav 可以看到都一樣17-20字節 過濾字節(一般為00000010H) 016 000 000 000 ------ a.wav 016 000 000 000 ------ b.wav 016 000 000 000 ------ c.wav 016 000 000 000 ------ d.wav 可以看到都一樣21-22字節 整數 格式種類(值為1時,表示數據為線性PCM編碼) 001 000 ------ a.wav 001 000 ------ b.wav 001 000 ------ c.wav 001 000 ------ d.wav 也是一樣23-24字節 整數 通道數,單聲道為1,雙聲道為2 001 000 ------ a.wav 001 000 ------ b.wav 001 000 ------ c.wav 001 000 ------ d.wav 表示都是單聲道,特意用格式工廠轉了一個2聲道的,變成 002 000 正確25-28 采樣頻率 034 086 000 000 ------ a.wav 十進制 22050 034 086 000 000 ------ b.wav 十進制 22050 034 086 000 000 ------ c.wav 十進制 22050 034 086 000 000 ------ d.wav 十進制 22050 4個文件都一樣29-32 每次采樣的數據塊大小 它跟下面的采樣精度有關 034 086 000 000 ------ a.wav 十進制 22050 034 086 000 000 ------ b.wav 十進制 22050 034 086 000 000 ------ c.wav 十進制 22050 068 172 000 000 ------ d.wav 十進制 44100 注意不同的地方33-34 整數 它 = 通道數 * 采樣精度 / 8 001 000 ------ a.wav 001 000 ------ b.wav 001 000 ------ c.wav 002 000 ------ d.wav35-36 整數 采樣精度是多少位 008 000 ------ a.wav 8位 008 000 ------ b.wav 8位 008 000 ------ c.wav 8位 016 000 ------ d.wav 16位37-40 表示“data”或者“LIST”四個字符,data表示單個音樂,LIST表示合成?或許是這樣,因為我的d.wav 是在格式工廠里用 abc合成的 100 097 116 097 ------ a.wav 100 097 116 097 ------ b.wav 100 097 116 097 ------ c.wav 076 073 083 084 ------ d.wav41-44 整數 數據體長度(字節數)166 043 000 000 ------ a.wav 十進制11174 已檢驗正確 197 046 000 000 ------ b.wav 十進制11973 已檢驗差一個字節 基本正確 083 048 000 000 ------ c.wav 十進制12371 已檢驗差一個字節 基本正確 026 000 000 000 ------ d.wav 十進制26 嚴重錯誤 格式工廠轉換問題
總結
以上是生活随笔為你收集整理的【音乐拼接】WAV格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在现有的python环境下创建另一个py
- 下一篇: 一次惨痛的装机经历