2006年12月11日星期一

Zooomr:年轻真好

过去一直在用flickr,前几天因为一个心血来潮的理由,集中体验了一下很热门的几个相册服务,包括Zooomr23hq、Zoto、PBase等等。虽然最后还是觉得flickr最好,而且Zooomr">连第二也排不到,不过仍然觉得这是个很有意思的地方。

这家站最被容易被人口口相传的有这么几点:相册服务的后起之秀,flickr的追赶者;可能会被收购,传言金额在500万美元左右;只有一个(以前的事了)站长兼程序员,当年17岁,今年18岁。不过这些特点跟用户的关系不大,而我对Zooomr的第一印象却好坏各半,感觉这里做得很时髦,却也很粗糙。

时髦在申请账户的时候就可以感觉到了,Zooomr并不自己管理用户认证,而是用了OpenID。所谓OpenID,就像你在MS、Yahoo、Google,只要申请过一个账户,就可以使用该站旗下的所有服务。只不过MS他们的账户只限于自己的旗下网站,OpenID则属于开放的第三方。

站在用户的角度,我对OpenID这东西没什么特别的感觉,好处坏处都有。但对于服务提供商来说,用这种东西可以说是相当大胆的行为。撇开隐私一类的深层问题,假如OpenID服务器down掉了怎么办?用户声称忘记OpenID密码且无法找回,要求你让他进入自己的账户又怎么办?世界是平的,很先锋,可现实问题也不少。后来我才知道,Zooomr现在已经是2.0 beta版了,升级时用户认证就出了问题。以前用的认证方式是Level9、Meetro和Google Account,OpenID和LiveJournal是现在才统一的。

至于粗糙就随处可见了。网站首页是固定宽度的,页面下方有近五分之二是灰色,显然是前景长度不够,CSS也没有调整好。登陆页有部分内容与页脚重叠,也是CSS的问题。删除照片之后,查看次数和Trackbacks不会实时更新,有延迟。照片public还是private不能改,保存无效。虽然能生成个人的Tags云,但无法通过Tag定位和搜索特定用户、相册的照片,也就是说Tag搜索只能是全域的。

还有个非常严重的问题。虽然Zooomr声称支持jpeg、png、tiff等格式,但略缩图都是jpeg的,包括“原始尺寸”。是的,“原始尺寸”,而没有“原始文件”。即使你上传的已经是jpeg格式的图片,Zooomr依然会给你通通转一遍,而且原始文件不保留。我上传了一张103KB、800×600的照片,下回来的文件是184.4KB,EXIF也全没了。[*这意味着就算你是Pro用户,也无法从Zooomr拿你上传的原始文件。*]我认为这是不可接受的设计错误,也是让我判定Zooomr目前不足用的最大理由。

单以这些方面评价,现在的Zooomr恐怕连beta都不够格,可Zooomr却有种让人无法全面否定他的特质。如果把Zooomr当成一件作品,那产生这种特质就应该归功于作者,那位叫做Kristopher Tate的小伙子。所谓的年轻,所谓的稚嫩但富于激情。

在Zooomr的about页上(这也是我唯一发现有指向FAQ链接的页面),Tate大大咧咧地列出了他的开发工具,有LightTPD、Python、Debian等等。这就是个挺典型的programmer作风,类似的表现还有不少。评论和留言支持Markdown,很geek的东西。API用了flickr的标准,连OpenID都用,这个倒不奇怪。只不过API的完成度相当低,自己开发上传程序更顾不上,那就用第三方的jUploadr,开源的。说实在话,我猜这家伙的代码风格不会太好……

如果有兴趣,还可以去读读Zooomr的blog。就我翻过的那几页,Tate更新可算是很勤奋。文字也称得上很可爱:“I want to connect the world with itself — first hand, from your eyes. And, I hope that I am not alone.”他也很喜欢YouTube,正好有人说他handsome,觉得如何你可以自己去看看

一个优缺点鲜明的作品,一个年轻而幸运的男孩儿,这样的用户体验其实是蛮有趣的。不知道这样的business,能够走多远?

Zooomr现在对bloggers免费赠送Pro账户,每月的流量限制是2GB,后来提高到2.5GB,现在又提高到4GB,真有点“想一出是一出”的味道。

blog上有一张地图Zooomr World Map Coverage as of 26.11.2006。原来Zooomr的用户竟然是大陆(似乎是北京,有点不正常,或许跟IP数据有关)和台湾最多……

Zooomr的API实现很不完整,页面上虽然说允许email申请APIKey,但好像没人回复的样子。如果想要的话,其实可以去jUploadr里找,不过目前没什么用就是了。

Zoto打算要全面收费了,说是3.0版正式推出的时候,时间是12月。不过现在12月快过了一半,却也没动静。而且年底是西方传统的促销、折扣、派送期,这会子跟人要钱,前途未卜。其实我觉得Zoto很适合存放照片,就这么倒掉也蛮可惜的。他们家的CEO还写了篇《Why Flickr Sucks Sometimes》,骂也没骂痛快,我只看出了酸葡萄心理。

OpenID的官网上有个列表,看得出现在接受这项服务的网站并不多。不过其中有一个我觉得很惹眼,DeadJournal。“DeadJournal.com is a journal site (much like LiveJournal), but as you will quickly see, not all journals are apple pie and fruitcakes. Here is where you find the journals that nobody else wants to see, or even host.”广告语写得还不错吧,有没有兴趣去逛逛?

好吧,其实写这篇东西的最初动因其实是Zooomr的Terms of Service。其中第4条Rule说:“All users are bound by applicable local laws, including laws regarding pornography and copyright. It is up to individual users to determine for what purposes use of the Web Site would be illicit and illegal in his/her jurisdiction.”貌似他们不禁止色情内容的意思。

2006年11月10日星期五

律制初步

律制基础

听觉位列五感之一,音乐可以说是人类与生俱来的才能和需要。而音乐作品的创作、乐器的设计和制造,都需要选出特定的几个音作为标准和素材,律制就是为解决这一问题而已产生的。

在很早以前人们就发现,人耳对于音高的比值较为敏感,而对绝对音高则并不敏感。在人类通过研究物理发现“频率”以前,律制通常是借由物体的长度、容积等物理量进行对比的,而现代则多采用频率比。

比值进行比较和运算十分麻烦,需要进行乘除法甚至乘法、开方运算。而当数学发展到对数产生时,律制的计算获得了大幅度的简化。将比值取同一个数为底的对数(例如常用对数),乘除法可简化为加减法,乘方开方运算可简化为乘除法。(对数运算法则可见维基百科

由于对数通常为小数,纪录和书写不便,人们又通过其他手段发展出其他单位来表示音高的比值。最常用的一种叫做音分,将八度音程划分为1200音分。求某个比值相当于多少音分,可比值取常用对数,乘以1200再除以2的常用对数。很明显,“音分”这种单位可以说是专为十二平均律量身定做的。

十二平均律

十二平均律对近代西方音乐起到了非常重要的影响,也是现代音乐使用最为频繁的一种律制。不过十二平均律的发明者却是一个中国人,即明朝郑王世子朱载堉(1536-1611)。他在其著作《律吕精义》中明确记载了十二平均律的计算方法:先对八度音程的比值2开平方得二分一八度音程的比值1.414213562373095048801689,再对结果开平方得四分之一八度音程的比值1.1892071150027210667175,最后对结果开立方得十二分之一八度音程的比值1.059463094359295264561825。已知一个音的频率,求上下一个音的频率,只需要将频率乘或除以十二分之一八度音程的比值即可。以数学的观点来看,朱载堉即是将2开12次方作为公比,将一个八度音程平均分成了12份构成一个等比数列。

现代音乐以十二平均律作为理论基础,将一个八度音程划分为12个半音,2个半音即为一个全音。再将八度音程分为7个音级,每两个音级之间的音程关系为全、全、半、全、全、全、半,这样就构成了现代音乐中所使用的七声音阶。

下表以a1=440Hz为标准,列出了小字一组,小字组和大字组各音的频率:

Hz C D E F G A B
C 65.41 73.42 82.41 87.31 98 110 123.47
c 130.81 146.83 164.81 174.61 196 220 246.94
c1 261.63 293.66 329.63 349.23 392 440 493.88

三分损益律

三分损益律是中国古代的一种律制,最早的记载见于《管子·地员篇》。其也可以说是中国古乐的主宰,即使在十二平均律被发明之后也依然如此。

《管子》中记载了三分损益律的详细生律方法:“凡将起五音,凡首,先主一而三之,四开以合九九,以是生黄钟小素之首以成宫。三分而益之一为百有八,为徵。不无有三分而去其乘,适足以生商。有三分而复于其所,以是成羽。有三分而去其乘,适足以生角。”

这段话的大意是说:宫弦长81寸,三分益一就是乘三分之四,得徵弦长108寸。徵弦三分损一就是乘三分之二,得商弦72寸。商弦再三分益一,得羽弦96寸。羽弦再三分损一得角弦,64寸。

由于弦长与频率成反比,若求两弦的频率比,可通过求弦长倒数之比获得,而通过频率比即可算出音分值,列表如下:

 
弦长 108 96 81 72 64
音分 / 204 204 294 204

由上表可以看出,如徵相当于十二平均律中的C,则徵、羽、宫、商、角约相当于C、D、E、A、B。若以《管子》中的记载为准,“宫”作为音阶中的一个音级使用时,其位置应该是在五音的中央。后世宫、商、角、徵、羽的排列顺序,应该经过了一些变化。

与《管子》年代相近,《吕氏春秋·季夏纪第六·音律》记载了利用三分损益产生十二律的方法:“黄钟生林钟,林钟生太蔟,太蔟生南吕,南吕生姑洗,姑洗生应钟,应钟生蕤宾,蕤宾生大吕,大吕生夷则,夷则生夹钟,夹钟生无射,无射生仲吕。三分所生,益之一分以上生。三分所生,去其一分以下生。黄钟、大吕、太蔟、夹钟、姑洗、仲吕、蕤宾为上,林钟、夷则、南吕、无射、应钟为下。”

以黄钟为首,应钟为尾,首尾相连就可以看出,原音律与相生的音律,起止相隔八个音律,所以三分损益生十二律又有“隔八相生”的名称。

纯律

各种乐器发出的声音都不是一个单音,而是一个复合音。除了一个音量最大最容易被注意到的基音之外,还有一系列的泛音。而乐器的音色,就跟泛音的多寡和相对强度有非常重要的关系。以琴弦为例,整根弦整体振动所发出的就是基音。而琴弦的1/2、1/3,也作为一个相对独立的发音体在振动发声,这就产生了泛音。

泛音在物理上叫分音,电磁学中叫谐波。根据现代科学的研究发现,泛音的频率符合一个简单的数学关系,即均为基音频率的整数倍。仍以琴弦为例,弦的振动频率公式为:f=(1/2L)*sqrt(T/m)。其中L为弦长,T为张力,m为弦的质量,sqrt表示求括号内表达式的正平方根。只要弦一定,T和m就一定,我们设某根弦具有如下性质:n=(2/L)*sqrt(T/m),代入公式可得该弦的频率f=1/n。由于频率与弦长成反比,1/2弦的频率即为2/n,1/3弦的频率即为3/n,以此类推。很容易即可发现,琴弦的基音和泛音频率能构成一个等差数列,公差为1/n。

文字不好理解,可试列一张表格。假设有一根弦的振动频率为65.41Hz,即a1=440Hz,按十二平均率算得的大字组C。第一行为基音和泛音的频率;第二行为该频率最接近于十二平均律的一个音名;第三行为该音相对左边一个音的音分值。得表如下:

  基音 泛音1 泛音2 泛音3 泛音4 泛音5 泛音6
频率 65.41 130.81 196.22 261.63 327.03 392.43 457.84
音名 C c g c1 e1 g1 a1
音分 / 1200 702 498 386 316 267

很容易即可发现,基音与泛音1的音程关系是一个完整的八度,而泛音之间也形成了近似于十二平均律的纯五度、大三度等音程关系。这些音程关系都是自然存在的,说是“纯正谐和”的“自然音程”,应该有一定的道理。纯律即是使用这样的简单整数比生律的一种律制。

当音程以比率关系表示时,音程相加则是比值相乘,音程相减则是比值相除。例如大2=纯5减纯4=(3/2)/(4/3)=9/8,依次类推还可以算出大6=纯8减小3=5/3,大7=纯5加大3=15/8。以c1=261.63Hz,我们就可以算出以下表格:

音名 频率比 频率 音分
c1 1 261.63 /
d1 9/8 294.33 204
e1 5/4 327.03 182
f1 4/3 348.83 112
g1 3/2 392.44 204
a1 5/3 436.04 182
b1 15/8 490.55 204

由上表可以看出,纯律中的大二度有204音分和183音分两种。前一种即上文提到的纯5减纯4而得到的9/8,而后一种为纯4减小3而得到的10/9。

附表

三种律制的音程关系比较:

三分损益律
音名 黄钟 大吕 太蔟 夹钟 姑洗 仲吕 蕤宾 林钟 夷则 南吕 无射 应钟
音程 0 114 90 114 90 114 90 90 114 90 114 90
音名              
音程 0   204   204     294   204    
十二平均律
音名 C   D   E F   G   A   B
音程 0   200   200 100   200   200   200
纯律
音名 C   D   E F   G   A   B
音程 0   204   182 112   204   182   204

2006年11月1日星期三

乐理初步

简谱上用的阿拉伯数字1、2、3、4、5、6、7,唱名分别为do、re、mi、fa、sol、la、si。每两个音之间都有相对固定的音高差距,即所谓音程。唱歌会走音,是因为没有把握好音程关系,发音的频率偏高或偏低。

如今表示音高,通常使用C、D、E、F、G、A、B这7个字母。C到B分别与do到si相对应,又叫音的音名。表示音高的方法有两种,分别应用于物理和音乐两种学科。物理学上表示音高,用一个大写字母加一个表示音组的数字,例如C4、B6。音乐中则分小字组和大字组。小字组用小写字母表示,如c、d。比小字组高的为小字一组、小字二组等,用小写字母标示并在右上方加组数。比小字组低的依次为大字组、大字一组、大字二组等,大字组使用不带数字的大写字母标记,其他则用大写字母加右下方的组数表示。

有关音乐方面的标准音高有两个,第一国际音高是1834年在德国斯图加特决定的a1=440Hz,第二国际音高是1859年在法国巴黎决定的a1=435Hz。音乐上的中央C指的就是c1,其频率可以由不同的a1推算出来。

音高就是声音的频率,由于人耳对于不同频段的声音敏感度不同,例如100Hz和200Hz在人耳听来差别很大,1100Hz和1200Hz却分不太出来,所以在音乐中相邻两个音之间的频率差并不固定。决定两个音之间的频率差是多少有一个专门的学科,叫做律制。用通俗的话说,一个频段好比一把尺子,律制就是一种在尺子上打刻度的方法。现代乐理最通用的律制叫十二平均律,发明者是明朝的郑王世子朱载堉(1536-1611)。

十二平均律将八度音程分成12个半音,每两个半音的频率比值都相等。一个八度之间的频率比值是2,将2开12次方约为1.059463094359295265。再规定除E到F、B到A之间的音程为1个半音外,其余相邻的两个音之间都相距2个半音。这样已知a1=440Hz,440乘以1.059463094359295265的平方,就可以算出b1的频率约为493.88Hz。

音程的度量单位叫做“度”,又叫“度数”。例如do跟do,也就是同一个音,音程关系叫“一度”,也叫“同度”。同理,fa到la的音程关系叫“三度”。但因为音级间所包含的半音数是不定的,单纯用度数并不能完整表达音程关系。所以音程的构成除了度数以外,还包括“音数”,表示两个音级间包括多少个半音。音数一般用真分数表示,1/2为1个半音,1为2个半音。例如音数为0的“一度”叫做“纯一度”,音数为1/2的“二度”叫做“小二度”,音数为1的“二度”则叫做“大二度”。关于音程关系有一个口诀:“一四五八无大小,二三六七没有纯”。

注:

我唱歌走音非常厉害,一个善于此道的朋友可怜我,说他可以教教我,谁知开头第一节课讲的就是音程关系、十二平均律。虽然老师说乐理不用太明白,唱准了最重要,叫我多多跟唱音阶和简单的小节。可搞不懂又有趣的东西,总会让我心痒痒的。

看了不少资料后才知道,除了十二平均律外,还有五度相生律和纯律等其他律制。与五度相生律、纯律等自然律不同,十二平均律是一种人工律,是通过数理方法,兼顾人的听觉感受,人为创造出来的一种律制,目的是为了能方便地“旋宫转调”。

可五度相生律、纯律究竟是怎么一回事,怎么个“自然”法,“旋宫转调”又是怎么一回事,我到现在也没搞明白。解决走音问题这篇笔记应该足够了,可我似乎对律制一类的东西兴趣更大,稍稍有点对不起友人的感觉……