歌う MML の書き方
歌う SMF の作り方
2007-12-02
ここでは,MML to MP3 with ぼーか郎
を用いて歌声を生成させるための
歌う MML の書き方について解説します.
ぼーか郎は,
歌うTiMidity
の仕掛けに基づく歌声生成システムです.
VOCALOID や
VOCALOID2 ほどではありませんが,
それなりに歌声を生成できます.
歌わせる MML 部分以外は,
mml2mid の MML 仕様に準じていますので,
mml2mid
の仕様書をご覧ください
(→ mml2mid)
ここでは,歌わせる MML 部分についてだけ解説します.
また,SMF を直接作成できる方向けに,
SMF to MP3 with ぼーか郎
を用いて歌声を生成させるための 歌う SMF の作り方についても解説します.
通常の MML での音高文字の直前に音節名を書くことによって,その音節で歌わせることができます.
たとえば,
上の楽譜にあるように,
「あ」の音節(声)で,「ド」の音高を,「四分音符」の長さで歌わせたい場合は,
♪MP3
★変換を体験する
と書きます.
★変換を体験する
をクリックするか,
あc4 をコピーし,
MML 送信フォームの [MML を直接書く] に貼り付け,[送信] して生成してみてください.
「かえるのうた」の冒頭を歌わせたい場合は,
という音符列ですので,
♪MP3
★変換を体験する
と書きます.
★変換を体験する
をクリックするか,
上のテキストエリアの MML をコピーし,
MML 送信フォームの [MML を直接書く] に貼り付け,[送信] して生成してみてください.
上に挙げた MML 例から推測できた方もいらっしゃると思いますが,
音高 は英小文字で書きます.
ド → c
レ → d
ミ → e
ファ → f
ソ → g
ラ → a
シ → b
です.
半音上げるシャープ(#)は +,
半音下げるフラット(b)は -,
元に戻すナチュラルは * を音高文字の直後に書きます.
たとえば,ファのシャープは,f+ と書きます.
オクターブを下げる指定は <,
オクターブを上げる指定は >を書きます.
音価(音長) は数字で書きます.
全音符 → 1
二分音符 → 2
四分音符 → 4
八分音符 → 8
十六分音符 → 16
三十二分音符 → 32
六十四分音符 → 64
です.
付点は,音価(音長)を指定する数字の直後に .(ピリオド)を書きます.
たとえば,付点四分音符は,4. と書きます.
タイは,2 個の音価数字の間に ^ を書きます.
たとえば,四分音符と十六分音符のタイは,4^16 と書きます.
音節 は,ほとんどの場合,そのまま書きます.
ただし,
「ぼくは」などの助詞の「は」は,「wa」と発音しますので,「わ」と書きます.
「を」を歌わせる場合は,そのまま「を」と書きます.
「しゃ」なども,1 音節ですので,そのまま「しゃ」と書きます
音節名は,ひらがなで書いてもカタカナで書いてもかまいません.
「ふぁ」と「ファ」は,同じ音節(声)が生成されます.
読みやすいほうを使うとよいでしょう.
使用できる音節の一覧表を
ここ
に置いておきますので,参考にしてください.
(→表2 プログラム番号と音節の対応)
mml2mid
には,このほかにも多くのコマンドがあります.
詳しくは
mml2mid
のサイトを訪れて,仕様書やコマンド早見表をご覧ください.
(→ mml2mid)
すばらしい歌声を生成するために,独自の工夫を開発するのもおもしろいと思います.
掲示板
を用意しましたので,ここで披露しあい,切磋琢磨し,お互いに向上していきましょう.
(→
掲示板
)
ぼーか郎は,ポリフォニック音源ですので *1,
コードのような単純な和音であれば,
ひとつのトラックの中に書くことができます(ひとつの旋律として書くことができます).
詳しくは,
mml2mid
の仕様書をご覧いただくことにして,
ここでは,次の楽譜に示す和音を歌わせる MML を示します.
♪MP3
★変換を体験する
mml2mid
の MML では,和音を構成する音高のうち,
最後に指定する音高以外の音価(音長)を 0 と書くことで和音であることを書き表します.
つまり,最後に指定する音高の音価(音長)によって,和音全体の長さを指定します.
「わ」という音節(歌詞)が割り当たっている「ド-ミ-ソ」の「二分音符和音」は,
「ド」と「ミ」を音価(音長)0 の音高として c0 と e0 と書き,
最後に指定する音高「ソ」の音価(音長)を 2(二分音符)として g2 と書き連ねることで,
「ド-ミ-ソ」の「二分音符和音」を書き表します.
和音を構成する音高の長さがすべて同じではない場合は,
複数の旋律に分けて書き表すことになります.
「複数の旋律を歌わせる」を参考にしてみてください.
ぼーか郎は,マルチ・チャネル音源ですので *1,
MML で複数旋律音楽を書くのと同様の方法で,複数旋律を歌わせることができます.
これを行うためには,
MML でトラックを記述する方法と,
各トラックに MIDI チャネルを設定する方法と,
プログラム・バンク番号を設定する方法おぼえてください.
(→ mml2mid)
ここでは,下の楽譜にある,ごく単純な複数旋律を歌わせる MML を示します.
♪MP3
★変換を体験する
行頭に 英大文字 を書くことで,トラックを指定します.
この MML では,2 つの旋律を書き表すために,2 つのトラック A,Bを使っています.
C1,C2 は,MIDI チャネル指定です.
MIDI チャネルという言葉がよくわからない方は,
トラックごとに C1,C2... と数字を増やしていくとよいでしょう.
H50,0 は,歌わせるための「おまじない(歌声バンク設定,歌声プログラム番号指定)」です.
p96 と p32 は,音の左右定位の指定です.
これにより,複数の旋律が歌われていることがわかりやすくなります.
ぼーか郎は,声色を選択することができますので,
「普通の声」のほかに,「ささやき声」で歌わせることができます.
ここでは,上の
「複数の旋律を歌わせる」
と同じ MML を使って,「ささやき声」で歌わせてみます.
★変換を体験する
をクリックし,
[声色] から
[れいしう ささやき声] を選択して [送信] してみてください.
(または,[声色] から [両方を試す] を選択して [送信] してみてください.)
♪MP3
★変換を体験する
ぼーか郎は,マルチ・ティンバー音源ですので *1,
旋律ごとに異なる声色で歌わせることができます.
詳しくは,
mml2mid
の仕様書をご覧いただくことにして,
ここでは,上の「複数の旋律を歌わせる」例を
「旋律ごとに異なる声色で歌わせる」ように修正した例を示します.
♪MP3
★変換を体験する
H??,0 によって,旋律ごとに異なる声色バンクを指定します.
ぼーか郎は,いまのところ,
れいしう 普通の声 → H56,0
れいしう ささやき声 → H55,0
の 2 つの声色を指定できます.
指定できる声色の数は,そのうち増やすかもしれません.
あなたの声や,知人の声も指定できるようにするかもしれません.
気長にお待ちください.
ぼーか郎で「使い物になる歌声素材」を作るためには,コツが必要です.
ここでは,比較的簡単なのに効果の大きいコツとして,
「複数トラックを使うことで,広がりのある歌声にする」コツを記しておきます.
まず,この楽譜をそのまま MML にし,歌声を生成してみます.
#timebase 480 は,あとに出てくるビブラートのための前準備です.
t90 は,テンポの設定です.
♪MP3
★変換を体験する
どうでしたか?
それなりの歌声素材ではありましたが,広がり感が薄い感じがします.
そこで,この旋律を複数トラックで歌わせることで,広がり感を出させることにします.
単純に同じ内容を複数トラックで歌わせるには,トラック名を続けて書くことでできます.
ここでは,トラック A と同じ内容を トラック B,トラック C でも歌わせるために,
ABC と書きます.
単純に複数トラックで歌わせるだけにせずに,トラックごとに異なる設定もします.
3 個の旋律が,中,右,左から聴こえるように,
パンポットの設定「p」をし,
中(p64),
右(p96),
左(p32)から歌わせるようにします.
さらに,トラック B,C を,トラック A よりもほんの少しの時間だけずらして歌わせることで,
奥行き感を出させます.
(トラック B は 64分音符分(r64),
トラック C は,64分+64分=32分音符分(r64 r64),遅れて歌わせます)
さらに,「M」コマンドを使って,ビブラートをかけます.
(M360,80)
♪MP3
★変換を体験する
修正前と比べて,いかがですか?
「広がり感が出て,イイ!」という人も,
「広がり感は出たものの,エコーがかかってしまったので,前のほうがイイ!」という人もいると思います(^^;).
ほかにも,さまざまなオリジナルのコツがあると思います.
よいものができましたら,ご紹介くださると幸いです.
(→
掲示板
)
ぼーか郎は,マルチ・ティンバー音源であり *1,
歌声バンク以外は,通常の楽器音バンクになっていますので,
ぼーか郎単体で歌声とともに楽器音を生成することができます.
バンクの指定の仕方の詳細は,
mml2mid
の仕様書をご覧いただくことにして,
ここでは,次の楽譜を MML に直した例を示すことで,ごく簡単な説明とさせていただきます.
大まかな理解の仕方としては,
H0,0
を書くことで,一般的な GM 音色マップが利用できるようになり,
続けて,
@n(n は,0〜127 の 10 進数)
を書くことで,GM 音色マップの音色番号 n の音色が使えるようになると理解しておくとよいと思います.
♪MP3
★変換を体験する
上の「基本」ではフォームに直に書いていましたが,
MML to MP3 with ぼーか郎 では,あらかじめ,ファイルに MML を書いておき,
それを [参照] で指定し,[送信] することもできます.
ファイルに書いて送信するときには,フォームに直に書いて送信するときにはなかった注意点がいくつかあります.
- トラック名を書く.
- MML の最初のほうで,"H50,0" などの方法で,歌声バンクを明示的に指定する.
たとえば,上の「基本」のところの最初の例をファイルに書いておく場合は,
♪MP3
★変換を体験する
のようになります.
フォームに直に書いて送信した場合は,注意点として挙げた加工がサーバ上で行われています.
この加工は,かなり雑に行われているので,まれに,正しく MML を書けているのに変換エラーを起こすことがあります.
そのときは,あらかじめファイルに書いておき,送信するようにしてください
そのときは,加工が行われませんので,「MML to MP3」に与える MML を,ユーザが完全に把握できます.
フォームに直に書いて送信する場合と,ファイルに書いておいて送信する場合のそれぞれの長所・短所を示します.
両者のよいところを使って,効率よく MML を開発しましょう.
- フォームに直に書いて送信する
- 長所:手軽.
- 長所:直前に送信した MML が保存されているので,「ちょっと直して,送信」を繰り返す MML 開発が容易.
- 短所:MML をうっかり保存し忘れるなどの過失などにより,MML を失ってしまうことがある.
- ファイルに書いておいて送信する
- 長所:上で述べた「加工」が行われないので,「MML to MP3」に与える MML を,ユーザが完全に把握できる.
- 長所:先にファイルとして手元に作るので,保存し忘れることがない
- 短所:常に [参照] でファイルを指定しないといけないので,
「ちょっと直して,送信」を繰り返す MML 開発に,少し手間がかかる.
ビブラートなし(コブシなし)
♪MP3
★変換を体験する
#timebase 480と
M240,80による
ビブラートあり(コブシあり)
♪MP3
★変換を体験する
工夫前
♪MP3
★変換を体験する
工夫後
♪MP3
★変換を体験する
歌わせる音域をシフトさせることで,ロボットの声のような歌声の不自然さを軽減させることができます
これには,「__」という MML コマンドを使います.
たとえば,「__-6」とすることで,歌わせる音域を,半音 6 個分,低い音域にシフトさせることができます.
「__+2」であれば,半音 2 個分,高い音域にシフトさせることができます.
♪MP3
★変換を体験する
♪MP3
★変換を体験する
♪MP3
★変換を体験する
プログラム・バンクで声色を指定し,
プログラム・チェンジで音節を指定します.
「あ」,「い」,「う」などの音節ひとつひとつの指定は,
「ピアノ」,「ギター」,「バイオリン」などの音色をひとつひとつ指定することに対応していると考えてください.
「プログラム・バンク番号と声色の対応」,「プログラム番号と音節の対応」を,下に示します.
表中の数値は,0 からはじまる 10 進数です.
たとえば,「れいしう 普通の声」で,「え」の音節を指定するには,
プログラム・バンク 56,プログラム番号 03 を指定します.
すると,それ以降の音列は「え」の声色で演奏されます.
プログラム番号と音節との対応は,慣れれば数値で直に入力できるように,少し工夫してあります.
基本的な 50 音(清音)は,いわゆる 50 音表のとおりに並べてあります.
「ん」は,「わいうえを」を「わいんえを」と無理矢理読み換えることにすると(^^;),
わ=45,を=49 なので,ん=47 と想像できます.
また,
濁音 = 50
拗音 = 80
とおぼえておくと,
か(05) + 濁音(50) = が(55)
か(05) + 拗音(80) = きゃ(85)
と算出できます.
「ぱ(80)」,「ぴ(81)」,「ぷ(82)」,「ぺ(83)」,「ぽ(84)」と
「ふぁ(70)」,「ふぃ(71)」,「ふぇ(73)」,「ふぉ(74)」は,音素として近そうな
「ば(75)」,「び(76)」,「ぶ(77)」,「べ(78)」,「ぼ(79)」の前後に割り当ててあります.
「んが(50)」,「んぎ(51)」,「んぐ(52)」,「んげ(53)」,「んご(54)」は,音素として近そうな
「が(55)」,「ぎ(55)」,「ぐ(55)」,「げ(55)」,「ご(55)」の前に割り当ててあります.
「ぎゃ」などは,不規則な対応になっていますので,ここの表をみて入力してください.
なお,
「れいしう ささやき声」
には,「れいしう 普通の声」には存在する音素
「ヴぁ(va)」,
「ヴぉ(vo)」,
「てぃ(txi)」,
「てゅ(txu)」,
「ふぁ(fa)」,
「ふぃ(fi)」,
「ふぇ(fe)」,
「ふぉ(fo)」,
「じぇ(je)」,
「ぢゅ(dyu)」
が
ありません
.ご注意ください.
表2 プログラム番号と音節の対応(数値は,0 からはじまる 10 進数
プログラム番号
|
音節
|
プログラム番号
|
音節
|
プログラム番号
|
音節
|
プログラム番号
|
音節
|
プログラム番号
|
音節
|
00
|
あ
|
01
|
い
|
02
|
う
|
03
|
え
|
04
|
お
|
05
|
か
|
06
|
き
|
07
|
く
|
08
|
け
|
09
|
こ
|
10
|
さ
|
11
|
し
|
12
|
す
|
13
|
せ
|
14
|
そ
|
15
|
た
|
16
|
ち
|
17
|
つ
|
18
|
て
|
19
|
と
|
20
|
な
|
21
|
に
|
22
|
ぬ
|
23
|
ね
|
24
|
の
|
25
|
は
|
26
|
ひ
|
27
|
ふ
|
28
|
へ
|
29
|
ほ
|
30
|
ま
|
31
|
み
|
32
|
む
|
33
|
め
|
34
|
も
|
35
|
や
|
|
|
37
|
ゆ
|
|
|
39
|
よ
|
40
|
ら
|
41
|
り
|
42
|
る
|
43
|
れ
|
44
|
ろ
|
45
|
わ
|
|
|
47
|
ん
|
|
|
49
|
を
|
|
|
|
|
|
|
|
|
|
|
55
|
が
|
56
|
ぎ
|
57
|
ぐ
|
58
|
げ
|
59
|
ご
|
60
|
ざ
|
61
|
じ
|
62
|
ず
|
63
|
ぜ
|
64
|
ぞ
|
65
|
だ
|
66
|
ぢ
|
67
|
づ
|
68
|
で
|
69
|
ど
|
|
|
|
|
|
|
|
|
|
|
75
|
ば
|
76
|
び
|
77
|
ぶ
|
78
|
べ
|
79
|
ぼ
|
80
|
ぱ
|
81
|
ぴ
|
82
|
ぷ
|
83
|
ぺ
|
84
|
ぽ
|
85
|
きゃ
|
|
|
87
|
きゅ
|
|
|
89
|
きょ
|
90
|
しゃ
|
|
|
92
|
しゅ
|
|
|
94
|
しょ
|
95
|
ちゃ
|
|
|
97
|
ちゅ
|
|
|
99
|
ちょ
|
100
|
にゃ
|
|
|
102
|
にゅ
|
|
|
104
|
にょ
|
105
|
ひゃ
|
|
|
107
|
ひゅ
|
|
|
109
|
ひょ
|
110
|
みゃ
|
|
|
112
|
みゅ
|
|
|
114
|
みょ
|
|
|
|
|
|
|
|
|
|
|
120
|
りゃ
|
|
|
122
|
りゅ
|
|
|
124
|
りょ
|
|
|
|
|
|
|
|
|
|
|
|
|
38
|
てぃ[txi]
|
46
|
てゅ[txu]
|
|
|
|
|
70
|
ふぁ[fa]
|
71
|
ふぃ[fi]
|
|
|
73
|
ふぇ[fe]
|
74
|
ふぉ[fo]
|
50
|
んが[nga]
|
51
|
んぎ[ngi]
|
52
|
んぐ[ngu]
|
53
|
んげ[nge]
|
54
|
んご[ngo]
|
48
|
んぎゃ[ngya]
|
|
|
72
|
んぎゅ[ngyu]
|
|
|
86
|
んぎょ[ngyo]
|
88
|
ぎゃ[gya]
|
|
|
91
|
ぎゅ[gya]
|
|
|
93
|
ぎょ[gyo]
|
96
|
じゃ[zya]
|
|
|
98
|
じゅ[zyu]
|
|
|
101
|
じょ[zyo]
|
|
|
|
|
|
|
103
|
じぇ[je]
|
|
|
|
|
|
|
106
|
ぢゅ[dyu]
|
|
|
|
|
108
|
びゃ[bya]
|
|
|
111
|
びゅ[byu]
|
|
|
113
|
びょ[byo]
|
121
|
ぴゃ[pya]
|
|
|
123
|
ぴゅ[pyu]
|
|
|
125
|
ぴょ[pyo]
|
126
|
ヴぁ[va]
|
|
|
|
|
|
|
127
|
ヴぉ[vo]
|
空きプログラム番号:
36,
115, 116, 117, 118, 119
歌う MML や歌う SMF のサンプルファイルと,それらから生成した歌声 MP3 を,ここや掲示板に置いていきます.
(→
掲示板
)
参考になれば,幸いです.
また,みなさまが作成された,サンプル(傑作)の投稿もお待ちしています.
SMF to MP3 with ぼーか郎
の[音源] の選択肢には,
- れいしう 普通の声 "ら"
- れいしう 普通の声 "る"
があります.
これを使うことによって,
通常の SMF をそのままで,何も手を加えることなく
- "らーららら" と歌わせる
- "るーるるる" と歌わせる
ことができます.
ここでは,ショパン作曲「別れの曲」を "るーるるる" と歌わせた例を示します.
クリックすると拡大表示
__-2
によって,
生成される歌声の音高を,
楽譜の音高から半音 2 個分下にシフトさせています.