2013年06月20日

[追記修正] Renoid Player(Renoid サウンドフォント版)の音節指定方法は「ノートナンバ」 + 「ベロシティ」,ぼーか郎(歌う TiMidity)の音節指定方法は「プログラムチェンジ」.

Web拍手:


(2013-06-25 追記修正:
やっぱり,Renoid サウンドフォント版は,ベロシティをつぶしてしまっていたので少し修正しました.


Renoid Player(Renoid サウンドフォント版):
音節: ノートナンバ1 + ベロシティ1
音高: ノートナンバ2
音強: 指定できない.(トラック・ボリュームで代用することが妥協案として挙げられています)
声色: たぶん,プログラムチェンジ
メリット:
o ノートイベントだけしか使わないので,軽くて簡便なプロトコル
o 声色の切り替えがプログラムチェンジでできるので,直感的

デメリット:
o 音節の指定と音高(と音強)の指定を,見かけが同じノートイベントで行なってしまっているので,そのままではリアルタイム演奏ができない.独自の MIDI イベントフィルタを通して,サンプラとピッチコレクタにノートイベントを振り分けてあげる必要がある.
o 和音で歌わせるには,もうひと工夫が必要そう.

実際の音節指定(入力方法):
o VOCALOID 風のピアノロールエディタによる,歌詞つきピアノロール
o テキストによる,歌詞つき MML



ぼーか郎(歌う TiMidity):
音節: プログラムチェンジ
音高: ノートナンバ
音強: ベロシティ
声色: プログラムバンク
メリット:
o そのまま手弾きリアルタイム演奏ができる.
o 和音も,特に工夫することなくそのまま発声できる.

デメリット:
o 音節の指定にプログラムチェンジを使うので,音色切り替え処理が重たいシンセだと発声がもたつくかもしれない.
(個人的には,大容量のメモリが利用できるようになったことと,CPU 処理能力が向上したことによって,もう気にならない水準になったのではないかな,と思っています.また,オフラインでファイルに出力する場合は,このあたりの事情の考慮は意味がなくなります.)

実際の音節指定(入力方法):
o SMF のプログラムチェンジの数値
o テキストによる,歌詞つき MML
o VOCALOID Editor での歌詞つきピアノロール入力で作成した VSQ ファイル
o SMF による,Lyric メタイベント http://knoike.seesaa.net/article/152831388.html
o MusicXML による,歌詞つき五線譜 http://knoike.seesaa.net/article/152831431.html

ということになると思います.
(2013-06-25 追記修正:
下のほうにほぼ同じまとめ書きがありますが,そちらのほうは少々間違って理解していました.



--





@mazzo さんのツイートを発端にして知ったのですが,Renoid Player(Renoid サウンドフォント版)は,音節を「ノートナンバ」 + 「ベロシティ」の組で指定しているそうです.
ぼーか郎(歌う TiMidity)と同様に「プログラムチェンジ」で指定しているものと勘違いしてしまっていたので,少し調べてみました.

調べて理解したことを先にまとめると,要は,Renoid Player(Renoid サウンドフォント版)は「サンプラ」ではなくて,「サンプラ + ピッチコレクタ」だったのですね.
比較するのもおこがましいのですが(^^;),パラメータ割り当ての違いと特徴をまとめると,

Renoid Player(Renoid サウンドフォント版):
音節: ノートナンバ1 + ベロシティ1
音高,音強: ノートナンバ2 + ベロシティ2
声色: たぶん,プログラムチェンジ
メリット:
o ノートイベントだけしか使わないので,軽くて簡便なプロトコル
o 声色の切り替えがプログラムチェンジでできるので,直感的

デメリット:
o 音節の指定と音高(と音強)の指定を,見かけが同じノートイベントで行なってしまっているので,そのままではリアルタイム演奏ができない.独自の MIDI イベントフィルタを通して,サンプラとピッチコレクタにノートイベントを振り分けてあげる必要がある.
o 和音で歌わせるには,もうひと工夫が必要そう.

実際の音節指定(入力方法):
o VOCALOID 風のピアノロールエディタによる,歌詞つきピアノロール
o テキストによる,歌詞つき MML



ぼーか郎(歌う TiMidity):
音節: プログラムチェンジ
音高,音強: ノートナンバ + ベロシティ
声色: プログラムバンク
メリット:
o そのまま手弾きリアルタイム演奏ができる.
o 和音も,特に工夫することなくそのまま発声できる.

デメリット:
o 音節の指定にプログラムチェンジを使うので,音色切り替え処理が重たいシンセだと発声がもたつくかもしれない.
(個人的には,大容量のメモリが利用できるようになったことと,CPU 処理能力が向上したことによって,もう気にならない水準になったのではないかな,と思っています.また,オフラインでファイルに出力する場合は,このあたりの事情の考慮は意味がなくなります.)

実際の音節指定(入力方法):
o SMF のプログラムチェンジの数値
o テキストによる,歌詞つき MML
o VOCALOID Editor での歌詞つきピアノロール入力で作成した VSQ ファイル
o SMF による,Lyric メタイベント http://knoike.seesaa.net/article/152831388.html
o MusicXML による,歌詞つき五線譜 http://knoike.seesaa.net/article/152831431.html

ということになると思います.

--
「Renoid(もう1つのバーチャル・シンガー)」
http://reg.s63.xrea.com/Renoid/

「Renoid Player | g200kg Music&Software」
http://www.g200kg.com/renoid/


「ぼーか郎」
http://noike.info/~kenzi/cgi-bin/smf2mp3/
http://noike.info/~kenzi/cgi-bin/mml2mp3/
http://noike.info/~kenzi/cgi-bin/xml2mp3/

SMF Lyric メタ・イベントを歌わせる
http://knoike.seesaa.net/article/152831388.html

五線譜上の歌詞を歌わせる
http://knoike.seesaa.net/article/152831431.html

ぼーか郎を Twitter から利用できるようにしてみました.
http://knoike.seesaa.net/article/152842122.html

http://noike.info/~kenzi/cgi-bin/smf2mp3/doc/utau_mml.html#sing_SMF

プログラムチェンジ番号と音節との対応表など.
http://noike.info/~kenzi/cgi-bin/smf2mp3/doc/utau_mml.html#bank_kowairo_table

「歌う TiMidity」
http://www.ohnolab.org/~kimoto/timidity/index.html


--
以下は,上のまとめに至るまでの,調査(思考)過程です.

Renoid Player(Renoid サウンドフォント版)の音節マップは,ここ↓にあります.
http://reg.s63.xrea.com/Renoid/images/Renoid-DX-keymap.png

「Renoid「サウンドフォント版」での歌詞入力の方法」
http://reg.s63.xrea.com/Renoid/SF-words.html


これを読み解くと,音節の指定は,「ノートナンバだけ」,または,「ノートナンバとベロシティの組」で指定しています.
たとえば,

「オクターブ 4 の F(ノートナンバ 53)」 → か

「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 81〜127」 → き
「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 65〜80」 → きょ
「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 49〜64」 → きぇ
「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 33〜48」 → きゅ
(「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 17〜32」 → 未割り当て?)
「オクターブ 4 の F#(ノートナンバ 54)」の「ベロシティ 1〜16」 → きゃ

というふうにして,歌う音節を指定しています.
音節指定にノートナンバとベロシティを使ってしまっていますが,歌わせるときの音高とベロシティは,音節指定時のノートナンバとは別に(直後に?)与えているようです.
つまり,

発声する音節指定: ノートナンバ1 + ベロシティ1
発声する音高,強弱指定: ノートナンバ2,ベロシティ2

ということになるので,

1音節を歌わせるのに,2ノートイベント

を使っているようです.なるほどー.
ちょっと普通のサンプラの使い方とは違っていますね.
「Renoid の仕組み」に,「歌を歌わせる為にはピッチ・コレクターが必要です。 そのピッチ・コレクターは別途ご自分で用意して頂く必要があります。」とあるのはこういうことだったのですね.
つまり,「Renoid Player(Renoid サウンドフォント版)は,サンプラ + ピッチコレクタ」だったのかぁ.

音節の指定をノートイベントを使って行なっているということは,声色(朝音ボウ,ほのか鳴,など)の指定は,おそらくプログラムチェンジを使って行なっているのではないかと想像します.

音節指定にノートイベントを使ってしまっているので,何か独自の MIDI イベントフィルタを通さないと,リアルタイム演奏はできなさそうですね.

@mazzo さんのツイートを見た直後は,割り当て方を勘違いしてしまっていて,
「ベロシティで母音制御ができるのであれば,強弱の弾き分けで「-a, -i, -u, -e, -o」が弾ける(たとえば,指一本で「か,き,く,け,こ」が弾ける)のでパフォーマンス向きな設計かも」と思って喜んだのですがそうではないようで,拗音系を振り分けただけのようです.

落ち着いて音節マップを眺めてみると,「白鍵上に割り当てる」とか「スケールに割り当てる」とかいう方針とも違っていて,「各行は C か F から始まる」という割り当て方でした.
「あ行は C から」,
「か行は F から」,
「さ行は C から」,
「た行は F から」,...
ということで,慣れれば弾けなくはない... かな.

ただ,上にも書いたけれど,音節指定にノートイベントを使ってしまっているので,何か独自の MIDI イベントフィルタを通さないと,手弾きリアルタイム演奏はできなさそうですね.


==

2013年06月19日
Renoise という DAW のサンプラー機能を利用した歌声合成ソフト Renoid を,ブラウザ上で動く(鳴らせる!)ようにした Renoid Player を試させていただきました.おぉー,イケてますねぇー.
http://knoike.seesaa.net/article/366791426.html

2008年02月03日
SMF Lyric メタ・イベントを歌わせる
http://knoike.seesaa.net/article/152831388.html

2008年01月28日
五線譜上の歌詞を歌わせる
http://knoike.seesaa.net/article/152831431.html

2010年01月06日
ぼーか郎を Twitter から利用できるようにしてみました.
http://knoike.seesaa.net/article/152842122.html
【コンピュータの最新記事】
posted by NOIKE at 01:40 | 東京 ☁ | Comment(0) | TrackBack(1) | コンピュータ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

Renoid サウンドフォント版は,やっぱり,ベロシティをつぶしてしまっているらしい.うーん,音量と違ってベロシティは音量のエンベロープを変化させるので,歌声合成(音声合成)ではベロシティというパラメータはつぶさないほうがいいと思う.
Excerpt: http://reg.s63.xrea.com/Renoid/SF-use.html 「 Renoid サウンドフォント版は、ベロシティ指定によってサンプルの音量を変化させる事は出来ません。 なぜなら..
Weblog: とりコー
Tracked: 2013-06-25 02:58