6
★1.4★ 音の長さを調整する 演習 3_3 で 作成・ 再生 した 「歓びの歌(ベートーベン作曲, 第九第四楽章)」は, 各音が同じ長さ  なので, 最後の部分がちょっと変です.正しく奏でるには,再生される時間間隔を楽譜に従って調節しな ければならない .すなわち,4分音符の時間長さを T4(と書く)とすると,8分音符の時間長さ(T8 と 書く)は T4 の半分, 2分音符の長さ(T2 と書く)は T4 の2倍の時間間隔などとなる. 従って,以下の ように時間間隔を設定し,それに合わせた音を作成する必要がある. 4分音符の時間長さ:T4 (と仮定すると) 2分音符の時間長さ:T2 = T4*2 付点4分音符の時間長さ:T3 = T4*1.5 8分音符の時間長さ:T8 = T4/2 これ以外にも表 3.3 に示す音符があり,それぞれの音の長さは,4分音符を1拍(長さ1)とすると き,表 3.3 に示したものとなる.表 3.3 には,休符の長さも示してあるので,参考にして下さい. 表 3.3 音符・休符の種類(音の長さ) 全音符 2 分音符 4 分音符 8 分音符 16 分音符 付点 2 分音符 付点 4 分音符 付点 8 分音符 4拍 2拍 1拍 2 つで 1 拍 4 つで 1 拍 3拍 1 拍半 半拍半 全休符 2 分休符 4 分休符 8 分休符 16 分休符 付点 2 分休符 付点 4 分休符 付点 8 分休符 (例題 3-3)(演習 3_3)で作成した音の長さを楽譜と相似になるように調整して作成し.再生するス クリプトファイルを作成する.(演習 3_3)で作成した曲「歓びの歌」の最初の6小節を 図 3.2 に示すので,第4小節目までの音の長さを楽譜に従って変更する. 図 3.2「第九 第四楽章(歓びの歌)」の最初の6小節(主旋律のみ) コンピュータ演習B - 5 -

4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

★1.4★ 音の長さを調整する

 演習 3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ なので,最後の部分がちょっと変です.正しく奏でるには,再生される時間間隔を楽譜に従って調節しなければならない.すなわち,4分音符の時間長さをT4(と書く)とすると,8分音符の時間長さ(T8と書く)はT4の半分,2分音符の長さ(T2と書く)はT4の2倍の時間間隔などとなる.従って,以下のように時間間隔を設定し,それに合わせた音を作成する必要がある.

        4分音符の時間長さ:T4 (と仮定すると)        2分音符の時間長さ:T2 = T4*2        付点4分音符の時間長さ:T3 = T4*1.5        8分音符の時間長さ:T8 = T4/2   これ以外にも表 3.3に示す音符があり,それぞれの音の長さは,4分音符を1拍(長さ1)とするとき,表3.3に示したものとなる.表3.3には,休符の長さも示してあるので,参考にして下さい.

表3.3 音符・休符の種類(音の長さ)

音符

全音符 2分音符 4分音符 8分音符 16分音符 付点2分音符 付点4分音符 付点8分音符

長さ 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半

休符

全休符 2分休符 4分休符 8分休符 16分休符 付点2分休符 付点4分休符 付点8分休符

   

(例題3-3)(演習3_3)で作成した音の長さを楽譜と相似になるように調整して作成し.再生するス       クリプトファイルを作成する.(演習3_3)で作成した曲「歓びの歌」の最初の6小節を       図3.2に示すので,第4小節目までの音の長さを楽譜に従って変更する.

図3.2「第九 第四楽章(歓びの歌)」の最初の6小節(主旋律のみ)

コンピュータ演習B

- 5 -

Page 2: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

 【プログラム入力例】

   

% Script file: Rei3_3.m% ベートーベン作曲「第九 第四楽章」の作成%Fs = 8192; % サウンドカードのサンプリング周波数の設定T4=0.5; t4=(0:T4*Fs)/Fs; % T4 (=0.5) 秒の4分音符の時間ベクトル t4 の設定T3=T4*1.5; t3=(0:T3*Fs)/Fs; % 1.5*T4秒の付点4分音符の時間ベクトル t3の設定T2=T4*2; t2=(0:T2*Fs)/Fs; % 2*T4 秒の2分音符の時間ベクトル t2 の設定T8=T4/2; t8=(0:T8*Fs)/Fs; % T4/2 秒の8分音符の時間ベクトル t8 の設定%f1=261.6255653005986; % "C"(ド)音の周波数設定f1u=f1*2; % 1オクターブ高い「ド」音 "UC" の周波数f2=293.6647679174076; % "D"(レ)音の周波数設定f2u=f2*2; % 1オクターブ高い「レ」音 "UD" の周波数f3=329.6275569128699; % "E"(ミ)音の周波数設定f3u=f3*2; % 1オクターブ高い「ミ」音 "UE" の周波数f4=349.2282314330039; % "F"(ファ)音の周波数設定f4u=f4*2; % 1オクターブ高い「ファ」音 "UF" の周波数f5=391.9954359817493; % "G"(ソ)音の周波数設定f5u=f5*2; % 1オクターブ高い「ソ」音 "UG" の周波数%uC4=sin(2*pi*f1u*t4); % "uC"uD4=sin(2*pi*f2u*t4); uD8=sin(2*pi*f2u*t8); uD2=sin(2*pi*f2u*t2); % "uD"uE4=sin(2*pi*f3u*t4); uE3=sin(2*pi*f3u*t3); % "uE"uF4=sin(2*pi*f4u*t4); % "uF"uG4=sin(2*pi*f5u*t4); % "uG"%s = [uE4,uE4,uF4,uG4,uG4,uF4,uE4,uD4,uC4,uC4,uD4,uE4,uE3,uD8,uD2];%bits=16;wavwrite(s,Fs,bits,'Sound_3_3.wav');% EOF

  ・4行目は,Rei3_1.mと同じ.  ・5行目~8行目までは,4分音符の長さを0.5秒(T4=0.5)にして,4分音符の時間長ベクトル    t4 ,付点4部音符の時間ベクトル t3,同様に2部音符と8部音符の時間ベクトル t2, t8 を作成   している.  ・9行目,20行目,26行目等はコメント行にして行間を空け,プログラムを見やすくしている.  ・10行目~19行目で,1オクターブ高い「ド」「レ」「ミ」「ファ」「ソ」の音の周波数を設定.  ・21行目は,0.5秒間の長さ(4部音符)の「ド」の音ベクトルを作成し,uC4という変数名にデー   タを代入している.  ・22行目は,「レ」の音の4部音符,8部音符,2部音符の音データを作成し,それぞれuD4,    uD8, uD2 という変数名に代入している.  ・23行目~25行目ではそれぞれ「ミ」「ファ」「ソ」の必要な長さの音符データを作成している,  ・27行目で,作成した音符を楽譜の順番に並べて連続音のベクトルデータを作り,変数名 s に代入   している.(これで,sが連続した音データになる.)

コンピュータ演習B

- 6 -

Page 3: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

  ・30行目で音データsを「Sound_3_3.wav」というファイル名で保存.

   → Rei3_3を実行し,作成したSound_3_3.wavをWindows Media Playerで再生せよ.

---------------------------------------------------------------------------------------------------------------------★(演習3_4)図3.3に示した楽譜の第5小節目から,図3.3に示した第8小節目までの音データを作       成し,(例題3_3)で作成した第4小節までの部分曲と合わせて連続再生する音データ       を「Sound_Exe3_4.wav」というファイル名で保存するスクリプトファイルを作成せよ.

        → 「Exe3_4.m」というファイル名でスクリプトファイルを保存.

図3.3 「歓びの歌」の第7小節目から第9小節目まで(主旋律のみ)

---------------------------------------------------------------------------------------------------------------------

  表3.4に楽譜でよく使われる音楽記号(その1)を示す.表3.4で示した演奏位置の変更記号などを 使うと,図3.5に示すような演奏順序(一例)となることに注意.また,音の出し方についての記号・ 楽語(その2)を表3.5にまとめたので,そちらも参考にして欲しい.

コンピュータ演習B

- 7 -

Page 4: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

表3.4 よく使われる音楽記号・楽語(その1)

      ト音記号 主にピアノの中央から右のほう(高音部) を表すときに使う.

      へ音記号 主にピアノの中央から左のほう(低音部) を表すときに使う.

   拍子記号(例)  4分の3拍子(4分音符が1小節に3つの意味)

   縦線(小節線)  小節を区切るための縦線

   複縦線(終止線) 同じ太さ2本のものは楽曲の段落などを表す. また,2本目が太いものは終止を表す.

   反復記号(リピート)  指定の部分を繰り返して演奏する.

    ダル・セーニョ  セーニョ記号( )のある場所まで戻り, そこからもう一度演奏する.

       セーニョ  ダル・セーニョする(戻る)位置を表す.

    コーダ  結尾部

   コーダ・マーク   から (コーダ)へとぶ.

    ダ・カーポ  曲の最初に戻る.

フィーネ  終わり

(a) 1カッコ,2カッコがある場合

(b) ダ・カーポとフィーネがある場合

図3.4 音楽記号による演奏順序(番号順)の例

コンピュータ演習B

- 8 -

Page 5: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

表3.5 ピアノ楽譜でよく使われる音楽記号・楽語(その2)   三連符  拍を3等分する.

       フェルマータ  その音を長くのばす.

   スラー  主に異なる高さの音について,なめらかに演奏する.

    タイ  同じ高さの2つの音をつなぐ.(あとの音は打鍵し ないので,この例では2分音符を使う.)

    スタッカート  音を短く切って鳴らす.

   テヌート  音の長さを保つ.

      アクセント  その音を強くする.

 クレッシェンド  だんだん強く( → 振幅Aをだんだん大きく)

   デクレッシェンド だんだん弱く( → クレッシェンドと逆).楽語での 表記はdim.となり,ディミヌエンドと読む.

    アルペジオ  和音を下から順に,少しずつずらして鳴らす.

    オッターヴァ  五線より上にある場合は,1オクターブ上の 音で演奏.

 これ以外にも,音の強弱(フォルテ,ピアニッシモなど)や曲の速度(アンダンテ,リタルダンドなど)を指定する楽語があるが,それらについては音楽の教科書等を参考にされたい.

コンピュータ演習B

- 9 -

Page 6: 4拍 2拍 1拍 2つで1拍 4つで1拍 3拍 1拍半 半拍半 全休符 2分 ...taga/2021_compB/Oct_text...1.4 音の長さを調整する 演習3_3で作成・再生した「歓びの歌(ベートーベン作曲,第九第四楽章)」は,各音が同じ長さ

★1.5★ 休符の作り方

 楽曲の作成では,特定の時間間隔だけ,音を鳴らさない状態(すなわち休符)を作る必要も生じる.このような場合,休符の時間間隔だけ振幅Aが「0」となる信号波形を作成し,必要な個所に,音符と同じように挿入してやればよい.休符の長さは,表3.3で示した音の長さと同じに調節する.

(例題3-4)【4分休符の作り方】  4分音符がT4=0.5(秒)で作成されているとするとき,その音の長さと同じサイズの零ベクトル (1行n列,nは4分音符の要素数:サイズ)を作れば良い.従って,以下のように作成できる. 

  

% Script file: Rei3_4.m% 休符の作成%Fs = 8192; % サウンドカードのサンプリング周波数の設定 T4=0.5;t4=(0:T4*Fs)/Fs; % T4 (=0.5) 秒の4分音符の時間ベクトル t4の設定%f1=261.6255653005986; C = sin(2*pi*f1*t4); % 「ド」"C" の4分音符作成f3=329.6275569128699; E = sin(2*pi*f3*t4); % 「ミ」"E" の4分音符作成f5=391.9954359817493; G = sin(2*pi*f5*t4); % 「ソ」"G" の4分音符作成%n4= length(t4); % t4(4分音符)のデータ長を求め、n4に代入s4 = zeros(1,n4); % 長さ n4 の4分休符s4を作成y = [C,s4,E,s4,G,s4,E,s4,C];%bits=16;wavwrite(y,Fs,bits,'Sound_3_4.wav');%EOF

 上記の例では,4行目から9行目で音を作成し,11行目と12行目で4分休符の作成を行っている.  ・11行目は,t4 という4部音符のデータの長さを n4 という変数名に代入している.  ・12行目で「0」が長さ n4 だけ並ぶデータを作成し,s4 という変数名に代入している.    *Octaveでは, m行n列の要素「0」の行列を作成する関数:zeros(m,n)が用意されている.     ここでは,それを使って1行n4列の「0」ベクトルをzeros(1, n4)で作成している.  ・13行目で,「ド・ミ・ソ・ミ・ド」の音の間に4分休符を1つずつ挟んだ音データ y を作成して   いる.

  

   → Rei3_4を実行し,作成したSound_3_4.wavをWindows Media Playerで再生せよ.

コンピュータ演習B

- 10 -