MA模擬吉他彈奏南山南

一些音樂(lè)基礎(chǔ)(小白教程)

其實(shí), 我自己也是小白, 所以只能寫個(gè)小白教程晰奖。

  1. 認(rèn)識(shí)簡(jiǎn)譜
    下面是我從網(wǎng)上搜到的南山南吉他譜:


    南山南

    我們只需要管歌詞上面的那一行簡(jiǎn)譜谈撒。注意到:

    • 節(jié)拍是4/4拍. 我直接引用Wiki的詳細(xì)解釋:

      分母表示拍子的時(shí)值也就是說(shuō)用幾分音符來(lái)當(dāng)一拍,如2/4代表用四分音符代表一拍匾南,每一小節(jié)有兩拍啃匿。分子代表每一小節(jié)有多少拍子,前面說(shuō)過(guò)了2/4拍就是以四分音符為一拍,一小節(jié)有兩拍溯乒,3/4以四分音符為一拍夹厌,每小節(jié)有三拍……讀法是先讀分子寓娩,再讀分母挽拔,比如2/4叫二四拍,3/4叫三四拍霜医,6/8叫六八拍光稼。

    • 數(shù)字表示音符:

      在簡(jiǎn)譜中或南,記錄音的高低和長(zhǎng)短的符號(hào),叫做音符钟哥。而用來(lái)表示這些音的高低的符號(hào)迎献,是用七個(gè)阿拉伯?dāng)?shù)字作為標(biāo)記,它們的寫法是:
      1 2 3 4 5 6 7
      讀法為
      do re mi fa so la si
      多 來(lái) 米 發(fā) 梭 拉 西
      音符是和音高緊密相連的,沒(méi)有一個(gè)不帶音高的音符腻贰。我們通過(guò)在音符上方或者下方加點(diǎn)來(lái)表示高/低八度的音吁恍。

    • 數(shù)字下的下劃線或者后面的加點(diǎn)表示該音符的時(shí)值

      表示音樂(lè)的長(zhǎng)短需要有一個(gè)相對(duì)固定的時(shí)間概念。簡(jiǎn)譜里將音符分為全音符播演、二分音符冀瓦、四分音符、十六分音符写烤、三十二分音符翼闽。在這幾個(gè)音符里面最重要的是四分音符,它是一個(gè)基本參照度量長(zhǎng)度洲炊,即四分音符為一拍感局。這里一拍的概念是一個(gè)相對(duì)時(shí)間度量單位。一拍的長(zhǎng)度沒(méi)有限制暂衡,可以是1秒 也可以市2秒或半秒询微。假如一拍是一秒的長(zhǎng)度,那么二拍就是兩秒狂巢;一拍定為半秒的話撑毛,兩拍就是一秒的長(zhǎng)度。一旦這個(gè)基礎(chǔ)的一拍定下來(lái)唧领,那么比一拍長(zhǎng)或短的符號(hào)就相對(duì)容易了藻雌。
       用一條橫線“—”在四分音符的右面或下面來(lái)標(biāo)注,以此來(lái)定義該音符的長(zhǎng)短斩个。下面列出了常用音符和它們的長(zhǎng)度標(biāo)記:

    • 演奏速度=68. 這個(gè)理解為1分鐘彈奏68拍.

上面就是我們需要的音樂(lè)基本知識(shí), 其實(shí)是很簡(jiǎn)單的胯杭。

MA中音的表示

MatheMatica中有個(gè)SoundNote函數(shù), 可以表示和指定音高相同的一個(gè)音符。例如, 南山南中第一個(gè)音符6(下劃線打不出來(lái)), 用MA表示為
SoundNote[9,60/68/2,"Guitar"]
這里, 需要解釋的東西有點(diǎn)多了:

  • 第一個(gè)參數(shù)9, 表示距離距中央 C 9 個(gè)半音的音, 它恰好是6(這需要用到十二平均律, 見(jiàn)附錄)
  • 第二個(gè)參數(shù)表示該音符的時(shí)值(單位是秒):加了一個(gè)下劃線表示的是半拍, 而演奏速度為68拍每分鐘, 故半拍占了60/68/2
  • 第三個(gè)參數(shù)表示的是演奏樂(lè)器, 我們?cè)O(shè)置為吉他受啥; 其他常見(jiàn)樂(lè)器有"Piano", "Violin"

簡(jiǎn)譜的參數(shù)化

由上面的表示, 我們知道簡(jiǎn)譜中的一個(gè)音可以用兩個(gè)參數(shù)表示出來(lái). 由于4/4拍中有很多八分音符, 故我們將八分音符的時(shí)長(zhǎng)定義為單位1(主要是減少書寫). 這樣, 參數(shù)化后的簡(jiǎn)譜為
Melody = {6, 6, 6, {4, 1/2}, {4, 1/2}, {6, 1/2}, {10, 3/2}, {9, 2}, {10, 2}, 9, 5, {8, 2}, {\[Infinity], 2}, {\[Infinity], 2}, {4, 1/2}, {4, 1/2}, 4, {3, 1/2}, {3, 1/2}, 2, {2, 1/2}, {2, 1/2}, 2, 5, 2, {3, 3}, {\[Infinity], 3}, {5, 1/2}, {5, 1/2}};
如前所述, 我們需要將音符映射為距離中央C的半音個(gè)數(shù)歉摧。這很簡(jiǎn)單, 首先定義七音階所對(duì)應(yīng)的半音
EqualTempList = {0, 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 19, 21, 23, 24};
這里, 0表示中央C, 也即中音1. 2表示中音2, 12 表示高音1(簡(jiǎn)譜里頭上加點(diǎn)), 依次類推.

于是要得到中音6, 我們只需取EqualTempList的第6個(gè)元素即可。

演奏函數(shù)的標(biāo)準(zhǔn)化

盡管MA內(nèi)置了標(biāo)準(zhǔn)的SoundNote演奏函數(shù), 但是我們的數(shù)據(jù)并不標(biāo)準(zhǔn), 例如Melody中有些是一個(gè)數(shù)字(八分音符), 有些是數(shù)列(其他時(shí)值)。我們用下面的函數(shù)來(lái)標(biāo)準(zhǔn)化

StandardT=60/68/2叁温;
MelodyToSound[lis_] := Module[{m, mt},
  If[
   ListQ[lis],
   m = lis[[1]]; mt = lis[[2]],
   m = lis; mt = 1];
  
  If[m == \[Infinity],
   SoundNote[None, mt*StandardT],
   SoundNote[EqualTempList[[m]], mt*StandardT, "Guitar"]]
  ]

第一個(gè)If判斷是否傳入的參數(shù)為數(shù)列, 如果是, 則將第一個(gè)參數(shù)映射為音符, 第二個(gè)參數(shù)映射為對(duì)應(yīng)的時(shí)值再悼。 否則, 設(shè)置時(shí)值為1.

第二個(gè)If判斷音符是否為\[Infinity], 如果是, 則該音表示空音(不發(fā)聲), 這時(shí)用SoundNote[None, mt*StandardT]來(lái)表示時(shí)長(zhǎng)為mt的空音。

完整的MA代碼

Melody = {6, 6, 
   6, {4, 1/2}, {4, 1/2}, {6, 1/2}, {10, 3/2}, {9, 2}, {10, 2}, 9, 
   5, {8, 2}, {\[Infinity], 2}, {\[Infinity], 2}, {4, 1/2}, {4, 1/2}, 
   4, {3, 1/2}, {3, 1/2}, 2, {2, 1/2}, {2, 1/2}, 2, 5, 
   2, {3, 3}, {\[Infinity], 3}, {5, 1/2}, {5, 1/2}};
StandardT = 60/68/2;
MelodyToSound[lis_] := Module[{m, mt},
  If[ListQ[lis], m = lis[[1]]; mt = lis[[2]], m = lis; mt = 1;];
  If[m == \[Infinity],
   SoundNote[None, mt*StandardT],
   SoundNote[EqualTempList[[m]], mt*StandardT, "Guitar"]]
  ]
Sound[MelodyToSound[#] & /@ Melody]// EmitSound

完整的演示音頻可以在SoundCloud試聽(tīng)膝但。

附錄:十二平均律

還記得在前面我說(shuō)過(guò)數(shù)字上方或者下方加點(diǎn)來(lái)表示高八度/低八度的音嗎冲九?那么具體是怎么回事呢?
首先, 我們所說(shuō)的音的高低其實(shí)是其頻率決定的, 例如中音C的頻率國(guó)際標(biāo)準(zhǔn)定義為440Hz, 即1秒鐘震蕩440次跟束。我們用正弦波可以非常方便的表示出來(lái):
Sound[Play[Sin[440*2Pi t],{t,0,1}]]
上面的代碼表示播放440赫茲的正弦波1秒莺奸。

所謂的一個(gè)高八度的音就是頻率是原來(lái)音2倍的那個(gè)音, 例如高八度的C, 簡(jiǎn)譜記為1頭上加點(diǎn), 的頻率就是880Hz.

而所謂的十二平均律就是說(shuō)把一個(gè)八度平均分成12分(等比地), 每一份就是一個(gè)半音。 于是我們很容易得到一個(gè)八度中, 12個(gè)半音的頻率冀宴。 例如中音C與高音C這個(gè)八度, 其頻率表為


八度頻率

根據(jù)7音節(jié)的半音/全音(即兩個(gè)半音)關(guān)系, 我們就得到, C調(diào)7音節(jié)對(duì)應(yīng)的半音如下:

音符 半音階個(gè)數(shù) 頻率
1 0 440
2 2 494
3 4 554
4 5 587
5 7 659
6 9 740
7 11 831

由此, 不難推出EqualTempList.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灭贷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子略贮,更是在濱河造成了極大的恐慌甚疟,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逃延,死亡現(xiàn)場(chǎng)離奇詭異览妖,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)揽祥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門讽膏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拄丰,你說(shuō)我怎么就攤上這事府树。” “怎么了料按?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵奄侠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我站绪,道長(zhǎng),這世上最難降的妖魔是什么丽柿? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任恢准,我火速辦了婚禮,結(jié)果婚禮上甫题,老公的妹妹穿的比我還像新娘馁筐。我一直安慰自己,他們只是感情好坠非,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布敏沉。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盟迟。 梳的紋絲不亂的頭發(fā)上秋泳,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音攒菠,去河邊找鬼迫皱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辖众,可吹牛的內(nèi)容都是我干的卓起。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凹炸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼戏阅!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起啤它,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤奕筐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蚕键,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體救欧,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年锣光,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笆怠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡誊爹,死狀恐怖蹬刷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情频丘,我是刑警寧澤办成,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站搂漠,受9級(jí)特大地震影響迂卢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桐汤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一而克、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怔毛,春花似錦员萍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)螃壤。三九已至,卻和暖如春筋帖,著一層夾襖步出監(jiān)牢的瞬間奸晴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工幕随, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚁滋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓赘淮,卻偏偏與公主長(zhǎng)得像辕录,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梢卸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容