1 图像与音乐的对应关系[2]-[4] |
无论是西方社会还是东方社会,都有人把音乐与颜色对应起来。例如,早在十七世纪物理学家牛顿就曾以赤、橙、黄、绿、青、蓝、紫对应于C、D、bE、F、G、A、bB七个音名。音乐的高低指音响有规律的排序即由低到高再由高到低形成一种和谐的阶梯式音列;音乐的旋律是指一条条由音符串缀起来的线条,它是根据人的情感的高低起伏将音符或级进或跳跃组合形成的;而图像中多彩缤纷的景色也是根据人的情感用丹青层层递进绘出的。音乐中音调的变化快慢,即音的长短,形成了节奏。节奏在音乐作品中总是与节拍结合在一起的。音无论长短,在一个小节的单位范围内,其奏鸣总有循环往复的轻拍与重拍的交替。一般而言,节奏由于有了强弱节拍的内在韵律,又由于有音的长短内外对比的交错,往往显示一种力度。这种力度正是支持旋律流动的支架。由于节奏支撑着音调,在时间过程中展开,因此,它就与音乐进行的快慢息息相关。而速度快慢可以使音高与长短,即旋律与节奏产生不同的表现效果;对于图像而言,它本身也有色彩、亮度等变化剧烈或平缓的表现,人们形容图像作品时也常用诸如明快、暗淡、柔和、粗犷之类的音乐术语进行描述。 |
音乐是在时间中展开、以诉诸听觉的声音为基本材料的艺术。因此时间及表示声音基本特征的音调、音强、音色就构成了音乐的基本要素。在人的体验中,听觉的高频音和视觉中明亮的色调具有一种潜在的联系,这种联系给人以“上升的感觉”;反之,听觉中的低频音与视觉中黑暗的色调由于与“下沉的感觉”相类似而被联系在一起。音调越‘低沉’,体验到的颜色越‘深’;反之,较‘高’的音调会引起‘浅’亮的感觉。因此可以看出,音乐与颜色有着明显的直觉类比关系。因此直觉体验方向上的相同就使不同感觉视觉与听觉之间发生同构联觉。 |
2 图像向音乐的转化 |
图像向音乐转化的系统框图如图1所示,首先将图像文件中的数据读入文本文件;再对文本文件中的数据进行处理;然后将处理后的数据转化成规定好的“音乐符号”;最后将“音乐符号”转换成MIDI音乐。 |
|
由于音乐与颜色之间存在直觉类比关系,所以本文中图像信息向音乐的转换不是指通常意义上的多媒体技术,而是利用图像与音乐之间的对应关系,根据一定的科学与艺术规则提出相应的算法,对图像的原始信息进行处理后转化为MIDI音乐。 |
2.1 图像数据的读取与颜色模型 |
本论文是用24位真彩BMP文件格式存放图像RGB的灰度值,但由于HSV(色彩H、饱和度S、明度V)模型是直接与艺术家使用颜色的直观表现相联系的,所以为了更贴近人的感觉,本系统进行处理的图像数据采用的是颜色模型HSV中的色彩(H)信息。这里通过式(1)所示的RGB模型与HSV模型之间的转换关系式将RGB模型的灰度值数据转换为HSV模型的数据。 |
图像与音乐的最大区别是:图像是在二维空间展开,而音乐则是一维时基类媒体中展开的。由于音符必须有一个时间延续方向才能组成乐曲,所以按照大多数人欣赏书画的习惯,本论文采用图像的纵向(由上而下)为数据的处理方向,即为音乐的前进方向。 |
令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 图像数据处理 |
根据图像中的色彩与音乐中的音调的对应关系,考虑到图像各部分色彩的过渡性及色彩过渡的模糊性,即相邻像素间的相关性和图像界限的不确定性,以及14个可用的标准MIDI通道(共有16个通道,其中两个为其它特殊用途)。将图像在横向上近似平均分成14个部分(每个部分都有n列像素),将图像的色彩数据进行处理。首先将第1部分的各列数据按列求算术平均值后,作为第1列数据;然后将第1、2两部分数据求算术平均值后作为第2列数据;再将第1、2、3三部分数据求算术平均值后作为第3列数据;依此类推···,将图像中所有列数据求算术平均值后得到第14列数据。即第i列第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为处理后所得数据; |
|
old-data为原始图像数据; |
|
M=jxn,n为每部分像素的列数; | |
2.3 数据向音符的转化 |
参照钢琴的键盘将音调分为高、中、低三个音区,规定用“c、d、e、f、g、a、b”表示低音区的七个音名;用“1、2、3、4、5、6、7”表示中音区的七个音名;用“C、D、E、F、G、A、B”表示高音区的七个音名。在音名前的“/”表示升八度;“\”表示降八度;空白则表示不升也不降。紧跟音名后的“b”表示降半音;“#”表示升半音。从低到高依次分为大字二组、大字一组、大字组、小字组、小字一组、小字二组、小字三组、小字四组、小字五组等九个音组。除了大字二组仅含有三种音调与小字五组仅含有一种音调之外,其余七组均含有七个基本音(钢琴的白键)和五个半音(钢琴的黑键)等十二种音调。又由于有些音如“c”,它的升半音“#c”与其相邻音“d”的降半音“bd”相同。所以我们统一规定均用前一个音的升半音表示。则一组完整的音组就由“1、2、3、4、5、6、7”七个全音加上“#1、#2、#4、#5、#6”五个半音组成。这样就可以将音符和图像色彩对应起来: |
Tone= |
Hue-MinHue |
x87 |
MaxHue≠MinHue |
(3) |
MaxHue-MinHue | |
|
式中:Ton:音调;Hun:像素的色彩值;MinHue:所有像素色彩值中的最小值;MaxHue:所有像素色彩值中的最大值。 |
节奏是音乐中的重要要素,它涉及与“时间”有关的所有因素,是音在强弱和长短两方面千变万化的组织形态[4]。通过颜色中的色彩变化来控制节奏(音乐的变化)是容易使人接受的;另外,对于14个通道乐器的节奏分别用其各自列的数据来进行控制。并用Difference来表示各列相邻两元素色彩差值的绝对值,由公式(4)将色彩对应到11种音长(节奏速度)上。 |
Speed= |
Difference-MinDifference |
x10 |
MaxDifference-MinDifference |
|
(MaxDifference≠MinDifference) |
Speed=0 |
(MaxDifference=MinDifference) | |
式中: Speed:节奏速度;Difference:相邻两元素色彩差值的绝对值;MinDifference:相邻两元素色彩差值绝对值中的最小值;MaxDifference:相邻两元素色彩的差值绝对值中的最大值。 |
节拍采用对音长进行分类统计的算法来确定,几分音符的数量最多,就规定几分音符为一拍。 |
每分钟节拍数,即演奏速度与每列数据的变化快慢也有很大关系,所以我们统计出所有相邻列数据的差,找出最大差值(MaxSpeed),最小差值(MinSpeed)以及数目最多的差值(Flag)。采用式(5)进行转换: |
S= |
F-Mins |
x(200-120) |
+120 |
(5) |
MaxS-MinS | |
式中: |
S--每分钟节拍数 |
|
F--数目最多差值(Flag) |
|
Maxs--最大差值(MaxSpeed) |
|
Mins--最小的差值(MinSpeed) |
|
其它参数均取缺省值 | |
2.4 音符文本向MIDI音乐的转化 |
由于MIDI文件包含头块和音轨块两部分[5],其格式一般如下: MIDI文件头结构 |
struct MH |
|
|
{ |
char MIDIld[4]; |
MIDI文件标志MThd |
|
long length; |
头块结构信息长度 |
|
int format; |
存放的格式 |
|
int nTracks; |
音轨数目 |
|
int PerPaiNum; |
每节计数器值 |
}; |
|
|
|
|
|
struct MH |
|
|
{ |
|
|
|
char Trackld[4]; |
磁道标志MRrk |
|
long length; |
信息长度 |
} |
|
| |
按照MIDI文件格式的规定,将音符翻译成MIDI事件代码,加上文件头和音轨头,写入MIDI文件,加上适当的硬件设备就可将其播放出来。 |
本研究初步探索出了图像与音乐之间的映射关系和映射规律,提出了一种图像向音乐转化的算法,对图像向音乐的转化进行了大胆的尝试,使人们用听觉感受到了视觉享受的效果。再则本研究还具有广阔的应用领域,例如,“听名画”、“听名景”将可能成为21世纪的一种高雅文化;另外由于MIDI文件容量较小,随着世界网络化的不断发展,图像情报的音乐加密可以作为一种很好的加密手段。 |