RIX格式RIX是《仙劍奇俠傳DOS版》的音樂格式,它採用小尾數法存儲。
RIX格式RIX是《仙劍奇俠傳DOS版》的音樂格式,它採用小尾數法存儲。
1.頭結構
偏移長度描述
0x000x02標識碼(0x55AA)
0x020x01是否保留打擊樂器(0-全樂音,1-保留打擊樂)
0x080x02樂器塊偏移(不過我懷疑是4位元組的.不過我還沒找到證據)
0x0C0x02音樂塊偏移(同樣懷疑是4位元組)
偏移長度描述
0x000x02標識碼(0x55AA)
0x020x01是否保留打擊樂器(0-全樂音,1-保留打擊樂)
0x080x02樂器塊偏移(不過我懷疑是4位元組的.不過我還沒找到證據)
0x0C0x02音樂塊偏移(同樣懷疑是4位元組)
2.樂器塊結構
樂器塊是以樂器為單位,每個樂器為INS格式的0x02-0x41,共0x40位元組合成起來的。
INS格式是ADLIB公司BNK格式的前身(至今仍有INS編輯器)。
具體格式,有ADLIB音效卡開發包的可以看一下。
樂器塊是以樂器為單位,每個樂器為INS格式的0x02-0x41,共0x40位元組合成起來的。
INS格式是ADLIB公司BNK格式的前身(至今仍有INS編輯器)。
具體格式,有ADLIB音效卡開發包的可以看一下。
3.音樂塊結構
音樂塊是以2位元組為單位的,每一個單位都有兩種狀態:
(1)普通狀態
低位元組設定值
高位元組
高4位命令碼
低4位通道號
(2)延時狀態
當普通狀態的命令碼不是合法的(即不為"命令一覽"中的值之一),即為延時值,其大小為兩個位元組。
音樂塊以雙位元組魔數0x8000結尾(碰到它,千萬不要以為是延時了!!),一般也是整個檔案的結尾。
音樂塊是以2位元組為單位的,每一個單位都有兩種狀態:
(1)普通狀態
低位元組設定值
高位元組
高4位命令碼
低4位通道號
(2)延時狀態
當普通狀態的命令碼不是合法的(即不為"命令一覽"中的值之一),即為延時值,其大小為兩個位元組。
音樂塊以雙位元組魔數0x8000結尾(碰到它,千萬不要以為是延時了!!),一般也是整個檔案的結尾。
說明1:樂器通道
當打擊樂器標誌==0,0-8全為樂音。
當打擊樂器標誌==1,0-6為樂音,7-A為打擊樂器(BD,SD,TT,CY,HH);
說明2:命令一覽
(1)設定樂器
命令碼0x9
設定值樂器塊內的樂器號
(2)頻率微調
命令碼0xA
設定值頻率調整值(0x00-低半音,0xFF-高半音)
(3)音量調整
命令碼0xB
設定值音量值(0x00-最小,0x7F-最大[默認7F])
(4)設定音符
命令碼0xC
設定值音符號碼(0x3C是中央C,半音為單位[0x00為禁止通道發聲,也就是靜音])注意,必須有延時才能放出音來,兩個通道可以同時延時形成和音。
當打擊樂器標誌==0,0-8全為樂音。
當打擊樂器標誌==1,0-6為樂音,7-A為打擊樂器(BD,SD,TT,CY,HH);
說明2:命令一覽
(1)設定樂器
命令碼0x9
設定值樂器塊內的樂器號
(2)頻率微調
命令碼0xA
設定值頻率調整值(0x00-低半音,0xFF-高半音)
(3)音量調整
命令碼0xB
設定值音量值(0x00-最小,0x7F-最大[默認7F])
(4)設定音符
命令碼0xC
設定值音符號碼(0x3C是中央C,半音為單位[0x00為禁止通道發聲,也就是靜音])注意,必須有延時才能放出音來,兩個通道可以同時延時形成和音。