| 1 圖像與音樂的對應(yīng)關(guān)系[2]-[4] |
| 無論是西方社會還是東方社會,都有人把音樂與顏色對應(yīng)起來。例如,早在十七世紀(jì)物理學(xué)家牛頓就曾以赤、橙、黃、綠、青、藍(lán)、紫對應(yīng)于C、D、bE、F、G、A、bB七個音名。音樂的高低指音響有規(guī)律的排序即由低到高再由高到低形成一種和諧的階梯式音列;音樂的旋律是指一條條由音符串綴起來的線條,它是根據(jù)人的情感的高低起伏將音符或級進(jìn)或跳躍組合形成的;而圖像中多彩繽紛的景色也是根據(jù)人的情感用丹青層層遞進(jìn)繪出的。音樂中音調(diào)的變化快慢,即音的長短,形成了節(jié)奏。節(jié)奏在音樂作品中總是與節(jié)拍結(jié)合在一起的。音無論長短,在一個小節(jié)的單位范圍內(nèi),其奏鳴總有循環(huán)往復(fù)的輕拍與重拍的交替。一般而言,節(jié)奏由于有了強(qiáng)弱節(jié)拍的內(nèi)在韻律,又由于有音的長短內(nèi)外對比的交錯,往往顯示一種力度。這種力度正是支持旋律流動的支架。由于節(jié)奏支撐著音調(diào),在時間過程中展開,因此,它就與音樂進(jìn)行的快慢息息相關(guān)。而速度快慢可以使音高與長短,即旋律與節(jié)奏產(chǎn)生不同的表現(xiàn)效果;對于圖像而言,它本身也有色彩、亮度等變化劇烈或平緩的表現(xiàn),人們形容圖像作品時也常用諸如明快、暗淡、柔和、粗獷之類的音樂術(shù)語進(jìn)行描述。 |
| 音樂是在時間中展開、以訴諸聽覺的聲音為基本材料的藝術(shù)。因此時間及表示聲音基本特征的音調(diào)、音強(qiáng)、音色就構(gòu)成了音樂的基本要素。在人的體驗中,聽覺的高頻音和視覺中明亮的色調(diào)具有一種潛在的聯(lián)系,這種聯(lián)系給人以“上升的感覺”;反之,聽覺中的低頻音與視覺中黑暗的色調(diào)由于與“下沉的感覺”相類似而被聯(lián)系在一起。音調(diào)越‘低沉’,體驗到的顏色越‘深’;反之,較‘高’的音調(diào)會引起‘淺’亮的感覺。因此可以看出,音樂與顏色有著明顯的直覺類比關(guān)系。因此直覺體驗方向上的相同就使不同感覺視覺與聽覺之間發(fā)生同構(gòu)聯(lián)覺。 |
| 2 圖像向音樂的轉(zhuǎn)化 |
| 圖像向音樂轉(zhuǎn)化的系統(tǒng)框圖如圖1所示,首先將圖像文件中的數(shù)據(jù)讀入文本文件;再對文本文件中的數(shù)據(jù)進(jìn)行處理;然后將處理后的數(shù)據(jù)轉(zhuǎn)化成規(guī)定好的“音樂符號”;將“音樂符號”轉(zhuǎn)換成MIDI音樂。 |
|
|
| 由于音樂與顏色之間存在直覺類比關(guān)系,所以本文中圖像信息向音樂的轉(zhuǎn)換不是指通常意義上的多媒體技術(shù),而是利用圖像與音樂之間的對應(yīng)關(guān)系,根據(jù)一定的科學(xué)與藝術(shù)規(guī)則提出相應(yīng)的算法,對圖像的原始信息進(jìn)行處理后轉(zhuǎn)化為MIDI音樂。 |
| 2.1 圖像數(shù)據(jù)的讀取與顏色模型 |
| 本論文是用24位真彩BMP文件格式存放圖像RGB的灰度值,但由于HSV(色彩H、飽和度S、明度V)模型是直接與藝術(shù)家使用顏色的直觀表現(xiàn)相聯(lián)系的,所以為了更貼近人的感覺,本系統(tǒng)進(jìn)行處理的圖像數(shù)據(jù)采用的是顏色模型HSV中的色彩(H)信息。這里通過式(1)所示的RGB模型與HSV模型之間的轉(zhuǎn)換關(guān)系式將RGB模型的灰度值數(shù)據(jù)轉(zhuǎn)換為HSV模型的數(shù)據(jù)。 |
| 圖像與音樂的區(qū)別是:圖像是在二維空間展開,而音樂則是一維時基類媒體中展開的。由于音符必須有一個時間延續(xù)方向才能組成樂曲,所以按照大多數(shù)人欣賞書畫的習(xí)慣,本論文采用圖像的縱向(由上而下)為數(shù)據(jù)的處理方向,即為音樂的前進(jìn)方向。 |
| 令maxRGB=max(R,G,B) |
| minRGB=min(R,G,B) |
| dalta=max RGB-min RGB |
| 如果delta=0,則 |
| H =未定義 |
| S=0 |
| V=max RGB |
| 否則delta≠0,則 |
|
H= |
G-B |
x60 |
(R=max RGB) |
| dalta | |
|
H= |
(2+ |
B-R |
)x60 |
(G=max RGB |
| dalta | |
|
H= |
(4+ |
R-G |
)x60 |
(B=max RGB |
| dalta | |
|
|
| V=max RGB |
| ,如果H小于0,則 |
| H←H+360 | |
| 2.2 圖像數(shù)據(jù)處理 |
|
根據(jù)圖像中的色彩與音樂中的音調(diào)的對應(yīng)關(guān)系,考慮到圖像各部分色彩的過渡性及色彩過渡的模糊性,即相鄰像素間的相關(guān)性和圖像界限的不確定性,以及14個可用的標(biāo)準(zhǔn)MIDI通道(共有16個通道,其中兩個為其它特殊用途)。將圖像在橫向上近似平均分成14個部分(每個部分都有n列像素),將圖像的色彩數(shù)據(jù)進(jìn)行處理。首先將第1部分的各列數(shù)據(jù)按列求算術(shù)平均值后,作為第1列數(shù)據(jù);然后將第1、2兩部分?jǐn)?shù)據(jù)求算術(shù)平均值后作為第2列數(shù)據(jù);再將第1、2、3三部分?jǐn)?shù)據(jù)求算術(shù)平均值后作為第3列數(shù)據(jù);依此類推···,將圖像中所有列數(shù)據(jù)求算術(shù)平均值后得到第14列數(shù)據(jù)。即第i列第j行數(shù)據(jù)為: |
| new_data[i][j]= |
M |
old_data[i][k]/M |
(2) |
|
∑ |
|
k=1 | |
| 其中: |
i=0,1,2,3,... |
|
j=0,1,2,...,14; |
|
new_data為處理后所得數(shù)據(jù); |
|
old-data為原始圖像數(shù)據(jù); |
|
M=jxn,n為每部分像素的列數(shù); | |
| 2.3 數(shù)據(jù)向音符的轉(zhuǎn)化 |
| 參照鋼琴的鍵盤將音調(diào)分為高、中、低三個音區(qū),規(guī)定用“c、d、e、f、g、a、b”表示低音區(qū)的七個音名;用“1、2、3、4、5、6、7”表示中音區(qū)的七個音名;用“C、D、E、F、G、A、B”表示高音區(qū)的七個音名。在音名前的“/”表示升八度;“\”表示降八度;空白則表示不升也不降。緊跟音名后的“b”表示降半音;“#”表示升半音。從低到高依次分為大字二組、大字一組、大字組、小字組、小字一組、小字二組、小字三組、小字四組、小字五組等九個音組。除了大字二組僅含有三種音調(diào)與小字五組僅含有一種音調(diào)之外,其余七組均含有七個基本音(鋼琴的白鍵)和五個半音(鋼琴的黑鍵)等十二種音調(diào)。又由于有些音如“c”,它的升半音“#c”與其相鄰音“d”的降半音“bd”相同。所以我們統(tǒng)一規(guī)定均用前一個音的升半音表示。則一組完整的音組就由“1、2、3、4、5、6、7”七個全音加上“#1、#2、#4、#5、#6”五個半音組成。這樣就可以將音符和圖像色彩對應(yīng)起來: |
|
Tone= |
Hue-MinHue |
x87 |
MaxHue≠MinHue |
(3) |
| MaxHue-MinHue | |
|
|
| 式中:Ton:音調(diào);Hun:像素的色彩值;MinHue:所有像素色彩值中的值;MaxHue:所有像素色彩值中的值。 |
| 節(jié)奏是音樂中的重要要素,它涉及與“時間”有關(guān)的所有因素,是音在強(qiáng)弱和長短兩方面千變?nèi)f化的組織形態(tài)[4]。通過顏色中的色彩變化來控制節(jié)奏(音樂的變化)是容易使人接受的;另外,對于14個通道樂器的節(jié)奏分別用其各自列的數(shù)據(jù)來進(jìn)行控制。并用Difference來表示各列相鄰兩元素色彩差值的,由公式(4)將色彩對應(yīng)到11種音長(節(jié)奏速度)上。 |
|
Speed= |
Difference-MinDifference |
x10 |
| MaxDifference-MinDifference |
|
(MaxDifference≠MinDifference) |
|
Speed=0 |
(MaxDifference=MinDifference) | |
| 式中: Speed:節(jié)奏速度;Difference:相鄰兩元素色彩差值的;MinDifference:相鄰兩元素色彩差值中的值;MaxDifference:相鄰兩元素色彩的差值中的值。 |
| 節(jié)拍采用對音長進(jìn)行分類統(tǒng)計的算法來確定,幾分音符的數(shù)量多,就規(guī)定幾分音符為一拍。 |
| 每分鐘節(jié)拍數(shù),即演奏速度與每列數(shù)據(jù)的變化快慢也有很大關(guān)系,所以我們統(tǒng)計出所有相鄰列數(shù)據(jù)的差,找出差值(MaxSpeed),差值(MinSpeed)以及數(shù)目多的差值(Flag)。采用式(5)進(jìn)行轉(zhuǎn)換: |
|
S= |
F-Mins |
x(200-120) |
+120 |
(5) |
| MaxS-MinS | |
|
式中: |
S--每分鐘節(jié)拍數(shù) |
|
F--數(shù)目多差值(Flag) |
|
Maxs--差值(MaxSpeed) |
|
Mins--的差值(MinSpeed) |
|
其它參數(shù)均取缺省值 | |
| 2.4 音符文本向MIDI音樂的轉(zhuǎn)化 |
| 由于MIDI文件包含頭塊和音軌塊兩部分[5],其格式一般如下: MIDI文件頭結(jié)構(gòu) |
| struct MH |
|
|
| { |
char MIDIld[4]; |
MIDI文件標(biāo)志MThd |
|
long length; |
頭塊結(jié)構(gòu)信息長度 |
|
int format; |
存放的格式 |
|
int nTracks; |
音軌數(shù)目 |
|
int PerPaiNum; |
每節(jié)計數(shù)器值 |
| }; |
|
|
|
|
|
| struct MH |
|
|
| { |
|
|
|
char Trackld[4]; |
磁道標(biāo)志MRrk |
|
long length; |
信息長度 |
| } |
|
| |
| 按照MIDI文件格式的規(guī)定,將音符翻譯成MIDI事件代碼,加上文件頭和音軌頭,寫入MIDI文件,加上適當(dāng)?shù)挠布O(shè)備就可將其播放出來。 |
| 本研究初步探索出了圖像與音樂之間的映射關(guān)系和映射規(guī)律,提出了一種圖像向音樂轉(zhuǎn)化的算法,對圖像向音樂的轉(zhuǎn)化進(jìn)行了大膽的嘗試,使人們用聽覺感受到了視覺享受的效果。再則本研究還具有廣闊的應(yīng)用領(lǐng)域,例如,“聽名畫”、“聽名景”將可能成為21世紀(jì)的一種高雅文化;另外由于MIDI文件容量較小,隨著世界網(wǎng)絡(luò)化的不斷發(fā)展,圖像情報的音樂加密可以作為一種很好的加密手段。 |