zkunがいろんなことを横書きするブログのようですw(含み笑)
NSX JAM v2.1をリリースしたyo えっ、あんた休養するって言ってたんじゃないの?と思うかもしれないねw(含み笑) まあそうなんだけど、「紫の炎」デモを打ちこんでてふと思ったyo 「伴奏部分一緒でボーカルだけ違う場合でも新たに小節を作らなくちゃいけないのは面倒くさくね?」と。これはv1.0の頃から思ってはいたんだけど、かなりスクリプトを整理してスッキリさせてからでないと着手は無理だな、と思っていたyo 今ならやろうと思えば簡単にできる状況にはなってる、いつやるの? 今でしょwというわけだyo(死語笑)
フレーズエディターに「Vo-2」「Vo-3」の選択肢を作ったので、これまで同様に作ったフレーズを小節へSENDしてやればいいだけだよ。保存も一緒。再生もこれまでどおり。それで、その小節を1回目に再生したときはこれまでどおりの「Vocal」を再生するよ。ループタグで繰り返して、その小節を2回目に再生するときは「Vo-2」で登録した歌詞フレーズを再生するyo 同様にまたループして3回目に再生するときは「Vo-3」で登録した歌詞フレーズを再生するyo 4回目以降はすべて1番の歌詞になるけど、まあ4番までやることはまずないんじゃないかなw(くどい笑)
もし「Vo-2」「Vo-3」に登録しているフレーズがなければ1番を再生するyo くっさい演出で3番だけこの部分は伴奏だけにしたいという場合は、ベロシティ0の音符を1個だけ「Vo-3」として登録しておけばいいyo それからv2.0の曲データも上位互換で読み込めて、以後保存するときはv2.1のデータとなって保存されるyo そのへんの互換性はバッチリぬかりないのがzkunだからne まあ、例によってまだバグはひそんでるかもしれないけどne(苦笑)
これで楽曲を作る時に作成しなくちゃいけない小節数を減らすことができたので、省力化という点では非常に大きな進歩をとげたと思うyo ここまでは休養前にやっておいたほうがいいと思ったのでちょいと頑張ったというわけだyo まあ、ポケミクもそれほどブームにならず沈静化しそうな雰囲気なのでのんびりやりますyo(含み笑)
フレーズエディターに「Vo-2」「Vo-3」の選択肢を作ったので、これまで同様に作ったフレーズを小節へSENDしてやればいいだけだよ。保存も一緒。再生もこれまでどおり。それで、その小節を1回目に再生したときはこれまでどおりの「Vocal」を再生するよ。ループタグで繰り返して、その小節を2回目に再生するときは「Vo-2」で登録した歌詞フレーズを再生するyo 同様にまたループして3回目に再生するときは「Vo-3」で登録した歌詞フレーズを再生するyo 4回目以降はすべて1番の歌詞になるけど、まあ4番までやることはまずないんじゃないかなw(くどい笑)
もし「Vo-2」「Vo-3」に登録しているフレーズがなければ1番を再生するyo くっさい演出で3番だけこの部分は伴奏だけにしたいという場合は、ベロシティ0の音符を1個だけ「Vo-3」として登録しておけばいいyo それからv2.0の曲データも上位互換で読み込めて、以後保存するときはv2.1のデータとなって保存されるyo そのへんの互換性はバッチリぬかりないのがzkunだからne まあ、例によってまだバグはひそんでるかもしれないけどne(苦笑)
これで楽曲を作る時に作成しなくちゃいけない小節数を減らすことができたので、省力化という点では非常に大きな進歩をとげたと思うyo ここまでは休養前にやっておいたほうがいいと思ったのでちょいと頑張ったというわけだyo まあ、ポケミクもそれほどブームにならず沈静化しそうな雰囲気なのでのんびりやりますyo(含み笑)
PR
追加したyo 間奏なんか全部打ち込んだりしたらキリがないから、リフと歌1-2番とエンディングだけだけどne(短縮笑) 余計な重複データの発生をかなり一掃できたので、こんだけ音を重ねていながら動作は軽いyo 生演奏の収録とかはいっさいやってないので、すべてNSX JAMでの打ち込みとダビング操作だけで作ってるyo 編集時にあったほうが便利なので「ダビングメニュー」にさらにボタンを追加してるyo RecパートへのダビングをBassとPianoからもできるようにしたyo
ここまでデモデータを打ち込みながら動作検証してきたけど、賢い使い方のセオリーが見えてきたyo そういうものは惜しみなく公開していくのがボクの流儀だyo
1) ドラムとボーカルは他のパートにダビングしたりすることがないので、この2パートからまずラフに完成させてしまう。そのときにループタグ、ジャンプタグを使ってどのように繰り返し進行させるかの指定も完成させておく。
2) 次にもっとも和音が多く、タイミングもややこしくてストローク記号を使わなくちゃ記述できないようなパートを完成させてしまう。和音表記主体でいけそうならば、いったんPianoパートに可能な限り記述してそれをPolyパートへダビングし、記述しきれなかった残りの音をもう一度Pianoパートで作ってPolyパートへダビングする。単音主体で一部和音フレーズのようなパートならば、同じ作業をBassパートを使って行うとよいだろう。
3) もう1つややこしそうなパートがあるならば、2)と同様の手法でRecパートにダビングして完成させる。ここまで、まだPiano、Bassの両パート用には確定データを打ってないので、常にダビング後全消去してもかまわない状態であることがミソ。その状態でダビング作業を終わらせるのが最も効率よく作業できる秘訣だよ。
4) 次にPianoパートを確定させる。Pianoパート用の確定データを生成するのに必要なコード表記を小節ブロックのコード表示欄に記述していく。Bassはどうとでも変更できるので、コード表記はあくまでPianoパートを基準に表記するといいyo
5) 次にMonoパートを打ち込んでいく。イントロで独特のフレーズがある場合や、ソロパートでのリード楽器演奏など、メロディーが強調されるパートをMonoパートで打ち込むことになるだろうね。
6) 最後にBassパートを打ち込んで完成させるといいよ。なぜBassが最後がいいかというと、やってる途中で「あっ、しまった! もう1カ所polyパートにダビングしなくちゃいけない小節があった!!」ということは実によくあるyo(苦笑) そのときに一番サッと対応できるのはBassパートなので、これを最後までフリーで残しておくと非常に助かるんだよne なぜかというと、各小節のプレイモードを「------」にしておくと、基本的に曲のプレイモードで選ばれているモードに追従してくれるよ。なので、いったん曲のプレイモードを「OFF」にしてしまえば、すべての小節のBass音が生成されなくなるyo その状態で、ダビングしたい小節のプレイモードだけを「Original」に変更して、フレーズEditorでフレーズをつくってSENDすれば、その小節のデータだけが生きたデータになるので、「Bass→Poly」のオーバーダビングが容易にできるというわけだよ。これが「Mono」パートだとそういうワザが使えないので、もし途中まで打ち込んだデータがあったらそれを消して作業に着手しないといけなくなるよ。余計な音までダビングされちゃうからね。なので、最後の最後までフリーで残しておくのはBassパートがいいというわけだよ。しかも便利なAutoの指定ができるので、最後まで残していてもそれほど打ち込まなくちゃいけない個所は多くないだろうからねw
7) バリエーションエフェクトの指定は一番最後がいいだろうね。どのパートにどんな音量でどんなフレーズが入るかは最終的にダビングが全部終わってからでないとはっきりしないから、確定してから設定を決めるのが効率いいからね。
これが、ボクの気付いた効率のよいJAMの使用方法だyo でもまあ、いくらBassパートが便利とは言っても、あとから追加ダビングするのは結構たいへんなので、事前にしっかりと作業手順表みたいなものを書いてから着手することを強くおすすめするyo 長い曲データを打ち込むときなんかには参考にしてくれw(上から笑)
ここまでデモデータを打ち込みながら動作検証してきたけど、賢い使い方のセオリーが見えてきたyo そういうものは惜しみなく公開していくのがボクの流儀だyo
1) ドラムとボーカルは他のパートにダビングしたりすることがないので、この2パートからまずラフに完成させてしまう。そのときにループタグ、ジャンプタグを使ってどのように繰り返し進行させるかの指定も完成させておく。
2) 次にもっとも和音が多く、タイミングもややこしくてストローク記号を使わなくちゃ記述できないようなパートを完成させてしまう。和音表記主体でいけそうならば、いったんPianoパートに可能な限り記述してそれをPolyパートへダビングし、記述しきれなかった残りの音をもう一度Pianoパートで作ってPolyパートへダビングする。単音主体で一部和音フレーズのようなパートならば、同じ作業をBassパートを使って行うとよいだろう。
3) もう1つややこしそうなパートがあるならば、2)と同様の手法でRecパートにダビングして完成させる。ここまで、まだPiano、Bassの両パート用には確定データを打ってないので、常にダビング後全消去してもかまわない状態であることがミソ。その状態でダビング作業を終わらせるのが最も効率よく作業できる秘訣だよ。
4) 次にPianoパートを確定させる。Pianoパート用の確定データを生成するのに必要なコード表記を小節ブロックのコード表示欄に記述していく。Bassはどうとでも変更できるので、コード表記はあくまでPianoパートを基準に表記するといいyo
5) 次にMonoパートを打ち込んでいく。イントロで独特のフレーズがある場合や、ソロパートでのリード楽器演奏など、メロディーが強調されるパートをMonoパートで打ち込むことになるだろうね。
6) 最後にBassパートを打ち込んで完成させるといいよ。なぜBassが最後がいいかというと、やってる途中で「あっ、しまった! もう1カ所polyパートにダビングしなくちゃいけない小節があった!!」ということは実によくあるyo(苦笑) そのときに一番サッと対応できるのはBassパートなので、これを最後までフリーで残しておくと非常に助かるんだよne なぜかというと、各小節のプレイモードを「------」にしておくと、基本的に曲のプレイモードで選ばれているモードに追従してくれるよ。なので、いったん曲のプレイモードを「OFF」にしてしまえば、すべての小節のBass音が生成されなくなるyo その状態で、ダビングしたい小節のプレイモードだけを「Original」に変更して、フレーズEditorでフレーズをつくってSENDすれば、その小節のデータだけが生きたデータになるので、「Bass→Poly」のオーバーダビングが容易にできるというわけだよ。これが「Mono」パートだとそういうワザが使えないので、もし途中まで打ち込んだデータがあったらそれを消して作業に着手しないといけなくなるよ。余計な音までダビングされちゃうからね。なので、最後の最後までフリーで残しておくのはBassパートがいいというわけだよ。しかも便利なAutoの指定ができるので、最後まで残していてもそれほど打ち込まなくちゃいけない個所は多くないだろうからねw
7) バリエーションエフェクトの指定は一番最後がいいだろうね。どのパートにどんな音量でどんなフレーズが入るかは最終的にダビングが全部終わってからでないとはっきりしないから、確定してから設定を決めるのが効率いいからね。
これが、ボクの気付いた効率のよいJAMの使用方法だyo でもまあ、いくらBassパートが便利とは言っても、あとから追加ダビングするのは結構たいへんなので、事前にしっかりと作業手順表みたいなものを書いてから着手することを強くおすすめするyo 長い曲データを打ち込むときなんかには参考にしてくれw(上から笑)
つくったyo これは何かというと、一度オーバーダビングしてしまうとその中身を編集することができなかった「Rec」パートと「Poly」パートに対して、MIDIイベントの除去ならばタイムを指定して行うことができるようにしたメニューだよw(何のこっちゃ笑)
これを作るに至ったのは段階を踏んだバグフィックスの結果だyo 某曲データを新たに打ち込んでいる中で、たまたま「Display file」を実行して「Poly」パートのMIDIイベントリストをながめていると、なんとなんとエクスプレッション変更が同じタイムに10個以上繰り返し実行されている箇所があるではないかw(苦笑) なんでこういうことが発生するのか調べてみると、小節ごとの音色チェンジ、エクスプレッションチェンジを指定した場合に、その記述が累積していってしまうバグがあることに気付いたyo なるほど、「Poly」と「Rec」は特殊なロード方式をとっているので、他のトラックと同じ動作で各小節頭での書き込み発生を処理していたら、毎回レコーディングしていくのと同じように累積されるのも道理だなと気付いたyo これと同じ現象がデモソングの「スカーレット」でも発生しているのを確認したyo エクスプレッションチェンジを20個も小節冒頭のタイミングで送っていた個所があったので、それで間奏部分がモタった感じに再生されていたんだと気付いたyo
これを解消するにはどうするか。小節ごとに音色やエクスプレッションを変更できる機構はなくすわけにはいかない。その部分は生かしたままで、もっと根本的に対策をとれる方法はないか。。。。
そこでひらめいたyo 特殊なロード方式であることを逆手にとって、ロード時に同一タイムで同一内容のMIDIイベントをチェックすることが可能だと気付いたyo そこでフィルターをかけて重複データが累積することを毎回阻止できるようにしたyo これだと、すでに重複が保存されてしまっている曲データも、読み込んで再度保存すれば重複が解消されるので便利だyo さっそく「スカーレット」で実行してみると、みごとにモタリが解消して軽い動作になったyo いやあ、めでたいめでたいw
と思ったけど、今打ち込み中の某曲のデータではまだ一部問題が残っていたyo それは、「Poly」パートに一度書き込まれたエクスプレッションを0にするというMIDIイベントが、そのタイミングでずっと残ってしまっていて、後からいくらエクスプレッション値を変えたデータを再書き込みしても、そのデータが後ろに残っているせいで音量がゼロのままになってしまってるんだよne(苦笑) まあ、この件だけならば他にもプログラム上で対策する方法はあるけど、似たようなことは今後もいろいろ起こりうると思うんだよne イベントリストで原因を突き止められているものに関しては、狙いうちでそのMIDIイベントだけを除去してしまえる仕組みをつくっておけば、いろいろ応用もきく。極端な話、レコーディングのミスタッチの音だって特定して消去しちゃうことも可能になる。そこで、「リムーブ」メニューをつくっちゃったというわけだyo おかげで無事に、しぶとく残ってたエクスプレッション0データを除去して、正しい音量で鳴らすことができるようになったyo ただ、これはちょっと問題な動作だよne 2度以上変更を行った場合、どっちのデータが最終的に残るかわからない状況になっていて、いちいち手動で「リムーブ」しなくちゃいけないというのではね。引き続き、うまい対策を考えていくことにするyo(真面目な笑)
これを作るに至ったのは段階を踏んだバグフィックスの結果だyo 某曲データを新たに打ち込んでいる中で、たまたま「Display file」を実行して「Poly」パートのMIDIイベントリストをながめていると、なんとなんとエクスプレッション変更が同じタイムに10個以上繰り返し実行されている箇所があるではないかw(苦笑) なんでこういうことが発生するのか調べてみると、小節ごとの音色チェンジ、エクスプレッションチェンジを指定した場合に、その記述が累積していってしまうバグがあることに気付いたyo なるほど、「Poly」と「Rec」は特殊なロード方式をとっているので、他のトラックと同じ動作で各小節頭での書き込み発生を処理していたら、毎回レコーディングしていくのと同じように累積されるのも道理だなと気付いたyo これと同じ現象がデモソングの「スカーレット」でも発生しているのを確認したyo エクスプレッションチェンジを20個も小節冒頭のタイミングで送っていた個所があったので、それで間奏部分がモタった感じに再生されていたんだと気付いたyo
これを解消するにはどうするか。小節ごとに音色やエクスプレッションを変更できる機構はなくすわけにはいかない。その部分は生かしたままで、もっと根本的に対策をとれる方法はないか。。。。
そこでひらめいたyo 特殊なロード方式であることを逆手にとって、ロード時に同一タイムで同一内容のMIDIイベントをチェックすることが可能だと気付いたyo そこでフィルターをかけて重複データが累積することを毎回阻止できるようにしたyo これだと、すでに重複が保存されてしまっている曲データも、読み込んで再度保存すれば重複が解消されるので便利だyo さっそく「スカーレット」で実行してみると、みごとにモタリが解消して軽い動作になったyo いやあ、めでたいめでたいw
と思ったけど、今打ち込み中の某曲のデータではまだ一部問題が残っていたyo それは、「Poly」パートに一度書き込まれたエクスプレッションを0にするというMIDIイベントが、そのタイミングでずっと残ってしまっていて、後からいくらエクスプレッション値を変えたデータを再書き込みしても、そのデータが後ろに残っているせいで音量がゼロのままになってしまってるんだよne(苦笑) まあ、この件だけならば他にもプログラム上で対策する方法はあるけど、似たようなことは今後もいろいろ起こりうると思うんだよne イベントリストで原因を突き止められているものに関しては、狙いうちでそのMIDIイベントだけを除去してしまえる仕組みをつくっておけば、いろいろ応用もきく。極端な話、レコーディングのミスタッチの音だって特定して消去しちゃうことも可能になる。そこで、「リムーブ」メニューをつくっちゃったというわけだyo おかげで無事に、しぶとく残ってたエクスプレッション0データを除去して、正しい音量で鳴らすことができるようになったyo ただ、これはちょっと問題な動作だよne 2度以上変更を行った場合、どっちのデータが最終的に残るかわからない状況になっていて、いちいち手動で「リムーブ」しなくちゃいけないというのではね。引き続き、うまい対策を考えていくことにするyo(真面目な笑)
ハーモナイズ記号を搭載完了したyo 「記号の使用例2」というデモソングでどんな風に使えるかを示しているので聴いてみてくれw アレンジはてきとうでしかないけどne
ほぼ昨日書いたとおりの動作をするけど、「=」を記述したクロックでは何も変更処理をしないようにしたよ。ピッチを変更する必要がないクロックで余計なSysExを送らないほうがいいからね。あと、動作条件として「ピッチチェンジ1-3が選ばれていてVocalパートがエフェクト対象になっていること」としていたけど、ハーモナイズ記号を記述する場合については特にVocalパートが選ばれていなければならない必要性はないので、「ピッチチェンジ1-3が選ばれていること」を満たせば発動するようにしたよ。つまり、他の楽器パートに対してかけてる場合でも、発動を妨げないというわけだよ。これによって、モノモードの「Mono」パートでも2声をピッチ幅自在で鳴らす指定が可能になるので、「Poly」パートに複写しなくても2声を鳴らせるne まあ、それだけのためにその小節のバリエーションエフェクトを使ってしまうのは勿体ないけどne(妥当笑)
ついでに、思い切ってオートベース記号を廃止したyo てか、ボクのチェック忘れでv2に移行した後にちゃんと動くように組んでなかったんだけどne(失笑) ただ、「Hybrid」モードができたので、好きなときに好きな拍にだけ特定のベースフレーズを書き込んで、そこ以外は通常のオートベースで演奏させるということが可能になっているので、基本的に長音しか指定できないオートベース記号を残している意味合いがなくなっていたことは事実だからne 使わなくてすむものはできるだけなくしてシンプルにしたほうがいいので、オートベース記号はv2では廃止ということにするyo まあ、v2ではまだ動いてなかったから影響もないよねw(大苦笑)
それからドラムパターンを一括で変更する「↑all A」ボタンをクリックした場合に、フィルインセレクタが初期化されずに残っていたので、そのままフィルインが付加されるというバグも解消しておいたよ。ただ、これは考えようによっては、x,yパターン以外でもフィルインを使ってしまう裏技として残しておいてもいいかなとちょっと考えたけど、どのみちファイルを「READ」したときには画面状態が違ってしまうし、エラーのもとになるだけなのでやめておいたyo(妥当笑) フィルインを使いたいなら素直に「Ax, Ay, Bx, By」のどれかを選んでくれyo(納得笑)
ほぼ昨日書いたとおりの動作をするけど、「=」を記述したクロックでは何も変更処理をしないようにしたよ。ピッチを変更する必要がないクロックで余計なSysExを送らないほうがいいからね。あと、動作条件として「ピッチチェンジ1-3が選ばれていてVocalパートがエフェクト対象になっていること」としていたけど、ハーモナイズ記号を記述する場合については特にVocalパートが選ばれていなければならない必要性はないので、「ピッチチェンジ1-3が選ばれていること」を満たせば発動するようにしたよ。つまり、他の楽器パートに対してかけてる場合でも、発動を妨げないというわけだよ。これによって、モノモードの「Mono」パートでも2声をピッチ幅自在で鳴らす指定が可能になるので、「Poly」パートに複写しなくても2声を鳴らせるne まあ、それだけのためにその小節のバリエーションエフェクトを使ってしまうのは勿体ないけどne(妥当笑)
ついでに、思い切ってオートベース記号を廃止したyo てか、ボクのチェック忘れでv2に移行した後にちゃんと動くように組んでなかったんだけどne(失笑) ただ、「Hybrid」モードができたので、好きなときに好きな拍にだけ特定のベースフレーズを書き込んで、そこ以外は通常のオートベースで演奏させるということが可能になっているので、基本的に長音しか指定できないオートベース記号を残している意味合いがなくなっていたことは事実だからne 使わなくてすむものはできるだけなくしてシンプルにしたほうがいいので、オートベース記号はv2では廃止ということにするyo まあ、v2ではまだ動いてなかったから影響もないよねw(大苦笑)
それからドラムパターンを一括で変更する「↑all A」ボタンをクリックした場合に、フィルインセレクタが初期化されずに残っていたので、そのままフィルインが付加されるというバグも解消しておいたよ。ただ、これは考えようによっては、x,yパターン以外でもフィルインを使ってしまう裏技として残しておいてもいいかなとちょっと考えたけど、どのみちファイルを「READ」したときには画面状態が違ってしまうし、エラーのもとになるだけなのでやめておいたyo(妥当笑) フィルインを使いたいなら素直に「Ax, Ay, Bx, By」のどれかを選んでくれyo(納得笑)
インテリジェントハーモナイザーは確かにすばらしい。非常に実用的でもある。だけど、まだ完璧ではないな、と。。。
ボクの敬愛する作曲家にして演奏家でありシンガーでもあるリッチー・サンボラの歌をよく聴いていると、単純にキーに合わせたインテリジェントハーモナイズでばかり合わせているわけではない。ときにはメロディーとは逆行して、あるいは一定の音程でハモっているときもあるyo そういうフレーズも指定できてこそ、完璧な仕事と言えると思うんだよne
そこでもう一仕事つけ足そうと思ったyo 今度は「ハーモナイズ記号」なるものを作るとおもうyo またまた制御記号かよと思うかもしれないけど、実際これが一番便利で、ありとあらゆる指定が可能なので汎用性が極めて高いからne 既存の制御記号のように、これもコード表示欄に書き込むといいだろう。記号はまだ使っていない「&」を使おうか。これに続けて4文字を記述するのも同じ。4文字がそれぞれピッチチェンジ幅を表し、この記号が記述されている拍では、通常のインテリジェントハーモナイズはオフになり、記号で指定したピッチ幅で1音ずつハーモナイズするという挙動にするyo 文字で書くと動作が重たそうだけど、それらのロジックはSMF作成時に処理されるだけなので、再生時の負荷は現行のインテリハモとかわらないyo
記号は英大文字が無難なので、これまた独自の下12段階、上12段階、無変化の計25文字を定義して記述することにするyo 発動条件は、その小節のバリエーションエフェクトがピッチチェンジ1-3のどれかで、かつVocalパートがエフェクト対象になっている場合で、その拍に「ハーモナイズ記号」の記述がある場合に4クロックとも記号で指定されたピッチ幅にSysExで変更してからボーカル音を鳴らすyo その場合は「ハーモナイザ」メニューでピッチやキーを指定している必要はなく、純粋に記号で指定した量だけシフトするyo その前後の拍で通常のインテリジェントハーモナイズさせたいならば、「ハーモナイザ」メニューで指定しておけばその通りに動作するyo いやあ、これは合理的だne ここまでやって「完成」と言えるんじゃないかなw 早速今夜つくろうじゃないかw(なかなか休めない笑)
ボクの敬愛する作曲家にして演奏家でありシンガーでもあるリッチー・サンボラの歌をよく聴いていると、単純にキーに合わせたインテリジェントハーモナイズでばかり合わせているわけではない。ときにはメロディーとは逆行して、あるいは一定の音程でハモっているときもあるyo そういうフレーズも指定できてこそ、完璧な仕事と言えると思うんだよne
そこでもう一仕事つけ足そうと思ったyo 今度は「ハーモナイズ記号」なるものを作るとおもうyo またまた制御記号かよと思うかもしれないけど、実際これが一番便利で、ありとあらゆる指定が可能なので汎用性が極めて高いからne 既存の制御記号のように、これもコード表示欄に書き込むといいだろう。記号はまだ使っていない「&」を使おうか。これに続けて4文字を記述するのも同じ。4文字がそれぞれピッチチェンジ幅を表し、この記号が記述されている拍では、通常のインテリジェントハーモナイズはオフになり、記号で指定したピッチ幅で1音ずつハーモナイズするという挙動にするyo 文字で書くと動作が重たそうだけど、それらのロジックはSMF作成時に処理されるだけなので、再生時の負荷は現行のインテリハモとかわらないyo
記号は英大文字が無難なので、これまた独自の下12段階、上12段階、無変化の計25文字を定義して記述することにするyo 発動条件は、その小節のバリエーションエフェクトがピッチチェンジ1-3のどれかで、かつVocalパートがエフェクト対象になっている場合で、その拍に「ハーモナイズ記号」の記述がある場合に4クロックとも記号で指定されたピッチ幅にSysExで変更してからボーカル音を鳴らすyo その場合は「ハーモナイザ」メニューでピッチやキーを指定している必要はなく、純粋に記号で指定した量だけシフトするyo その前後の拍で通常のインテリジェントハーモナイズさせたいならば、「ハーモナイザ」メニューで指定しておけばその通りに動作するyo いやあ、これは合理的だne ここまでやって「完成」と言えるんじゃないかなw 早速今夜つくろうじゃないかw(なかなか休めない笑)
みごとに成功したyo 思ったほどレイテンシはなく、鍵盤演奏してもまずまず追従してくれるよ。さっそくハーモナイザの動作を変更したyo
・外部MIDI楽器からチャンネル1で演奏してボーカルパートを鳴らす場合にハーモナイザをかけるときは、バリエーションエフェクトで「ピッチチェンジ1-3」のいずれかを選び、VocalパートをONにしてセンド量も上げておく。その状態で「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでやると、リアルタイム演奏でインテリジェントハーモナイザがかかって2声で鳴らすことができる。
・内蔵PCキーボードでVocalパートを演奏する場合も同様。バリエーションエフェクトで「ピッチチェンジ1-3」のいずれかを選び、VocalパートをONにしてセンド量も上げておく。その状態で「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでやると、リアルタイム演奏でインテリジェントハーモナイザがかかって2声で鳴らすことができる。
・曲データ内でもかけることができるようにしたよ。Vocalパートのフレーズデータがある小節の「vari」セレクタでバリエーションエフェクト番号を指定する。その番号のバリエーションエフェクトのタイプを「ピッチチェンジ1-3」のいずれかを選んでおく。VocalパートをONにしてセンド量も上げておく。「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでおく。この状態で「PLAY」を実行すると、その小節ではインテリジェントハーモナイザがかかった状態で演奏される。
これらの動作は「+5, +4, +3, -3, -4, -5」のいずれを選んでも機能するよ。曲のキーにそった条件で各音に対してピッチ幅が設定されるので、ピッチチェンジ幅が固定の場合のギクシャクとした感じとはちがい、非常に違和感のないハーモニーをつけることができるよ。この機能をテストするために「スカーレット」の前半のボーカルをインテリハーモをかけたバージョンもうpしてみたよ。音程的にはちゃんと演奏されるだろ? NSX-39独特のもろさがあって、SysExをガンガン送受信しているとなんか挙動が不安定で不意にパンの定位が変わったり、プチッとノイズが入ったりとかが時々あるけど、これはピッチチェンジ特有なのかもしれないね。「春色」のデモでオッサンの声を作ったときも、オッサンの声があっちへ行ったりこっちへ行ったりしていたのでw(失笑) ピッチチェンジ以外のエフェクトではそういう現象がほとんどないような気もするし。まあとりあえず、ボーカルパート用のインテリジェントハーモナイザも完成したし、マニュアルも完成したし、いよいよもって開発は休業だねw しばらくラクさせてもらうyo(余裕の笑)
・外部MIDI楽器からチャンネル1で演奏してボーカルパートを鳴らす場合にハーモナイザをかけるときは、バリエーションエフェクトで「ピッチチェンジ1-3」のいずれかを選び、VocalパートをONにしてセンド量も上げておく。その状態で「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでやると、リアルタイム演奏でインテリジェントハーモナイザがかかって2声で鳴らすことができる。
・内蔵PCキーボードでVocalパートを演奏する場合も同様。バリエーションエフェクトで「ピッチチェンジ1-3」のいずれかを選び、VocalパートをONにしてセンド量も上げておく。その状態で「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでやると、リアルタイム演奏でインテリジェントハーモナイザがかかって2声で鳴らすことができる。
・曲データ内でもかけることができるようにしたよ。Vocalパートのフレーズデータがある小節の「vari」セレクタでバリエーションエフェクト番号を指定する。その番号のバリエーションエフェクトのタイプを「ピッチチェンジ1-3」のいずれかを選んでおく。VocalパートをONにしてセンド量も上げておく。「ハーモナイザ」を開いてハーモナイズする音程をセレクタで選んでおく。この状態で「PLAY」を実行すると、その小節ではインテリジェントハーモナイザがかかった状態で演奏される。
これらの動作は「+5, +4, +3, -3, -4, -5」のいずれを選んでも機能するよ。曲のキーにそった条件で各音に対してピッチ幅が設定されるので、ピッチチェンジ幅が固定の場合のギクシャクとした感じとはちがい、非常に違和感のないハーモニーをつけることができるよ。この機能をテストするために「スカーレット」の前半のボーカルをインテリハーモをかけたバージョンもうpしてみたよ。音程的にはちゃんと演奏されるだろ? NSX-39独特のもろさがあって、SysExをガンガン送受信しているとなんか挙動が不安定で不意にパンの定位が変わったり、プチッとノイズが入ったりとかが時々あるけど、これはピッチチェンジ特有なのかもしれないね。「春色」のデモでオッサンの声を作ったときも、オッサンの声があっちへ行ったりこっちへ行ったりしていたのでw(失笑) ピッチチェンジ以外のエフェクトではそういう現象がほとんどないような気もするし。まあとりあえず、ボーカルパート用のインテリジェントハーモナイザも完成したし、マニュアルも完成したし、いよいよもって開発は休業だねw しばらくラクさせてもらうyo(余裕の笑)
完成したyo 今回は画面下の表示をやめて、個別のメニューに「HELP!」リンクを表示する方式にしたよ。このほうがスッキリしてわかりやすくていいよねw(自画自賛笑) これ以上詳しくヘルプを書いたとしても応用力のある人にとっては特に意味もないだろうし、応用力のない人はいくら書いても理解できないだろうだろうから、マニュアルはこのくらいで十分かなと思うyo(ほどよい笑) まあ、このブログもあるんだから分からない点があったら質問してくれればいいんだけどねw
さて、JAMの開発もこれにていったん休業するyo 本業のほうがちょっとこれから忙しくなりそうだしねw(含み笑) NSX-39はXGエフェクトも使えて強力な音源だと思うよ。ただ、ボーカル部分はもうちょっと細かく表現力をいじれるようだといいんだけどね。まだマスクをして利用させていない機能もあるみたいだけど、音声データベースの詳細データも把握していないと使いようがない領域なのかもしれないね。手軽にリアルタイムで発声させるという点ではなかなか優れたハードだけど、楽曲を緻密に完成させるという目的ではやはりVocaloidソフトのほうが明確に有利だろうね。
リアルタイム発声といっても、スタイラスペンでオタクがふざけて鳴らしてますみたいなキモい光景はかんべんしてほしいんだよねw(失笑) 「やってみたw」とかマジ勘弁してよne(嘲笑) 外部MIDI鍵盤からの演奏でリアルタイムコントロールできる点はいいよね。でも、コントロールチェンジの多くがeVocaloidに対応してない点は残念だね。もうちょっと色々と声質に変化をつけることができれば楽器としての表現力が高まるんだけど、できるのはせいぜいビブラートやモジュレーションだし、英語の発音も対応してないので、誰がつくってもわりと平板なよくあるボカロ声でしか演奏できないというのが物足りない点だね。DAWの中で作り込めば、、となるともう完全にソフトのボカロを使えばいい話になるしね。単体でどこまで外部MIDI楽器からのリアルタイムコントロールに反応して表現力を広げられるかが、これが発展できるかどうかのカギだろうね。モノモードでしか発声できないのも厳しいところだね。せめて2声出せればだいぶ違うのに。XGエフェクトでピッチチェンジはあるけど、インテリジェントタイプではないから使いにくい。「ピッチチェンジ4」として新タイプを追加し、パラメータ6で何度のインテリジェントハーモナイズにするかを選択、パラメータ7でキーを選択、パラメータ8で長調か短調かを選択、という風にすれば、パラメータ1で単純に固定ピッチを選ぶ方式とは違って、曲中で使いやすくなるのにね。現行でもJazz-Pluginの機能を使って、外部MIDI鍵盤から入力された音程を取得してその音程の場合はpitchチェンジ幅をいくつにすべきかを演算して、XGエフェクトのパラメータ変更のSysExを送信して短3度から長3度に変更して、その後あらためてノートON情報を生成して送信してやれば、むりやりインテリジェントにできるかもしれないけど、かなりめんどくさい処理だし、ハード側のレイテンシも気になるんだよね。
まあ、実際プログラムしてみたらどうなるのか最後にこれだけテストしてみようかw モタモタになるようならやはり無理があるということだし、もしかして全然問題なく再生できるようなら画期的なエフェクトルーチンの出来上がりということになるしねw 最後の課題として取り組んでみようじゃなイカ!
さて、JAMの開発もこれにていったん休業するyo 本業のほうがちょっとこれから忙しくなりそうだしねw(含み笑) NSX-39はXGエフェクトも使えて強力な音源だと思うよ。ただ、ボーカル部分はもうちょっと細かく表現力をいじれるようだといいんだけどね。まだマスクをして利用させていない機能もあるみたいだけど、音声データベースの詳細データも把握していないと使いようがない領域なのかもしれないね。手軽にリアルタイムで発声させるという点ではなかなか優れたハードだけど、楽曲を緻密に完成させるという目的ではやはりVocaloidソフトのほうが明確に有利だろうね。
リアルタイム発声といっても、スタイラスペンでオタクがふざけて鳴らしてますみたいなキモい光景はかんべんしてほしいんだよねw(失笑) 「やってみたw」とかマジ勘弁してよne(嘲笑) 外部MIDI鍵盤からの演奏でリアルタイムコントロールできる点はいいよね。でも、コントロールチェンジの多くがeVocaloidに対応してない点は残念だね。もうちょっと色々と声質に変化をつけることができれば楽器としての表現力が高まるんだけど、できるのはせいぜいビブラートやモジュレーションだし、英語の発音も対応してないので、誰がつくってもわりと平板なよくあるボカロ声でしか演奏できないというのが物足りない点だね。DAWの中で作り込めば、、となるともう完全にソフトのボカロを使えばいい話になるしね。単体でどこまで外部MIDI楽器からのリアルタイムコントロールに反応して表現力を広げられるかが、これが発展できるかどうかのカギだろうね。モノモードでしか発声できないのも厳しいところだね。せめて2声出せればだいぶ違うのに。XGエフェクトでピッチチェンジはあるけど、インテリジェントタイプではないから使いにくい。「ピッチチェンジ4」として新タイプを追加し、パラメータ6で何度のインテリジェントハーモナイズにするかを選択、パラメータ7でキーを選択、パラメータ8で長調か短調かを選択、という風にすれば、パラメータ1で単純に固定ピッチを選ぶ方式とは違って、曲中で使いやすくなるのにね。現行でもJazz-Pluginの機能を使って、外部MIDI鍵盤から入力された音程を取得してその音程の場合はpitchチェンジ幅をいくつにすべきかを演算して、XGエフェクトのパラメータ変更のSysExを送信して短3度から長3度に変更して、その後あらためてノートON情報を生成して送信してやれば、むりやりインテリジェントにできるかもしれないけど、かなりめんどくさい処理だし、ハード側のレイテンシも気になるんだよね。
まあ、実際プログラムしてみたらどうなるのか最後にこれだけテストしてみようかw モタモタになるようならやはり無理があるということだし、もしかして全然問題なく再生できるようなら画期的なエフェクトルーチンの出来上がりということになるしねw 最後の課題として取り組んでみようじゃなイカ!
頑張って書いてるyo(疲れ笑) 今回はメニュー画面中のいろんなところに「HELP!」リンクを置きまくって、まさにこれの使い方はどこに書いてあるんじゃ?という疑問に速攻で答えられるような工夫をしているyo ある意味究極のマニュアルだと思うよne
というのも、従来のような章立て形式で箇条書きにしようとしても、なんせ書かなくちゃいけない項目が多岐にわたるし、手順ではなく概念を説明する必要があるものも増えてきてるので、従来のマニュアルの形式にこだわるのをやめたよ。箇条書きじゃないと長文は理解できない!という人は、まあv2の使用をあきらめてv1.0をお使いくださいと言うしかないねw 工夫できない人、自分で理解しようとしない人はv2を使うのは無理だと思うからne(納得笑)
それから、「READ Parts」というボタンもさっそく完成させたyo 思いのほか超簡単にできたのは設計思想が優れているからだろうねw(自賛笑) ファイルメニュー内でドラムパターン、フィルインパターン、Recパート、Polyパートを表示させることができるので、それらをテキストファイルで保存しておき、読み込ませて「READ Parts」をクリックすれば先頭の識別コードを認識してそれぞれのパーツとして読み込まれ曲データが更新されるという仕組になっているよ。さっそく「スカーレット」でテストしてみたけど、ちゃんと読み込むことに成功しているyo これで予定した機能としては全部完成したyo あとはさらなる曲データを打ち込みながらバグチェックを進めていくよ。使いこなせる人にとってはかなり強力なツールが完成したんじゃないかなw(含み笑)
というのも、従来のような章立て形式で箇条書きにしようとしても、なんせ書かなくちゃいけない項目が多岐にわたるし、手順ではなく概念を説明する必要があるものも増えてきてるので、従来のマニュアルの形式にこだわるのをやめたよ。箇条書きじゃないと長文は理解できない!という人は、まあv2の使用をあきらめてv1.0をお使いくださいと言うしかないねw 工夫できない人、自分で理解しようとしない人はv2を使うのは無理だと思うからne(納得笑)
それから、「READ Parts」というボタンもさっそく完成させたyo 思いのほか超簡単にできたのは設計思想が優れているからだろうねw(自賛笑) ファイルメニュー内でドラムパターン、フィルインパターン、Recパート、Polyパートを表示させることができるので、それらをテキストファイルで保存しておき、読み込ませて「READ Parts」をクリックすれば先頭の識別コードを認識してそれぞれのパーツとして読み込まれ曲データが更新されるという仕組になっているよ。さっそく「スカーレット」でテストしてみたけど、ちゃんと読み込むことに成功しているyo これで予定した機能としては全部完成したyo あとはさらなる曲データを打ち込みながらバグチェックを進めていくよ。使いこなせる人にとってはかなり強力なツールが完成したんじゃないかなw(含み笑)
減らしたyo というのも小節アタマで少しもたっていたからne(苦笑) Midi Note Listを開いて確認してみると、ピアノパートで毎回2倍〜3倍の量のノートオフ信号が記述されてることに気付いたyo(失笑) そのピアノパートをダビングしたPolyパートでも同じ数のノートオフを実行していたから、そりゃ処理も重くなるわなw(大苦笑)
そもそも旧再生方式の「trace-PLAY」があった時代にジャンプしたときなどにリアルタイムで音の鳴りっ放しを防ぐために念入りに消音命令を入れるようにしてた名残りのスクリプトが残ってるんだけど、色々と処理方式を進化させているので必要なくなっていた消音命令もあるんだよne まあ、もしかしたらまだ必要な場合もあるかもしれないので「仮消し」にしておいたけどne ピアノパートは最大5音まであるので、これが重複してるとデカいからne(含み笑)
まずはピアノパートの記述を修正し、PolyとRecに入ってるデータも重いので消去して複写し直したyo これで各小節のアタマのMIDIデータ量がだいぶ減ったので、再生時にもたるような感覚はほぼ解消できたyo まあ、音色変更やエフェクト変更などの書き込みもあるのでまだ最適化できる余地があるかもしれないけど、かなりなめらかになったと思うyo(微笑)
あと、冒頭のインターバルも長めにあけたyo 曲の頭ではかなり膨大なSysExやNRPNを送信してるので、それの受信処理がポケミク側で終わりきらないうちにノートデータが来ちゃうと再生が乱れるらしいからne まあ通常は第1小節を空にしろと言われてるらしいけど、JAMでは特に指定がない限りは1-4, 5-8,,,という4小節単位で扱いたいので、第1小節開始前のマージンを広げることで対応させているyo(妥当笑)
あっ、あとメニュー画面は必要に応じて自分で閉じたり開いたりして見やすくなるように調整しないとダメだyo 際限なく開いていったらそんなもん右に隠れてしまうに決まってるからne(失笑) 各小節ブロックに2つの「Edit」ボタンがあるけど、これらを押したときはちょっと特別な挙動をするyo というのも、該当するフレーズエディターとバリエーションエフェクトエディターが開くようになっているんだけど、これらが両方とも横に長いサイズなんだよne これらを表示するには、ミキサー以外の他のメニューを閉じる処理をしたほうがいいんだよne なので「Edit」ボタンをクリックしたときは自動的にミキサー以外のメニューをすべて閉じて、当該のメニュー画面を開くようになってるyo あと、わかってるとは思うけど、最上段に表示されているメニューボタンは現在開いているものが「ピンク色」になっているからne 閉じている状態の色も3種類あるけど、「クリーム色」の3つはNoteをいじるエディターで、「緑色」の5つは音色をいじるエディターというように、カテゴリー別に色分けしてるyo まあ、このくらいのことはいちいち書かなくても当然察してくれるとは思うんだけど、まったく察することができないタイプの人も増えてるようなので念のため書いておくyo(大苦笑) 多分そういう人はJAMは使いこなせないと思うけどne(含み笑)
そもそも旧再生方式の「trace-PLAY」があった時代にジャンプしたときなどにリアルタイムで音の鳴りっ放しを防ぐために念入りに消音命令を入れるようにしてた名残りのスクリプトが残ってるんだけど、色々と処理方式を進化させているので必要なくなっていた消音命令もあるんだよne まあ、もしかしたらまだ必要な場合もあるかもしれないので「仮消し」にしておいたけどne ピアノパートは最大5音まであるので、これが重複してるとデカいからne(含み笑)
まずはピアノパートの記述を修正し、PolyとRecに入ってるデータも重いので消去して複写し直したyo これで各小節のアタマのMIDIデータ量がだいぶ減ったので、再生時にもたるような感覚はほぼ解消できたyo まあ、音色変更やエフェクト変更などの書き込みもあるのでまだ最適化できる余地があるかもしれないけど、かなりなめらかになったと思うyo(微笑)
あと、冒頭のインターバルも長めにあけたyo 曲の頭ではかなり膨大なSysExやNRPNを送信してるので、それの受信処理がポケミク側で終わりきらないうちにノートデータが来ちゃうと再生が乱れるらしいからne まあ通常は第1小節を空にしろと言われてるらしいけど、JAMでは特に指定がない限りは1-4, 5-8,,,という4小節単位で扱いたいので、第1小節開始前のマージンを広げることで対応させているyo(妥当笑)
あっ、あとメニュー画面は必要に応じて自分で閉じたり開いたりして見やすくなるように調整しないとダメだyo 際限なく開いていったらそんなもん右に隠れてしまうに決まってるからne(失笑) 各小節ブロックに2つの「Edit」ボタンがあるけど、これらを押したときはちょっと特別な挙動をするyo というのも、該当するフレーズエディターとバリエーションエフェクトエディターが開くようになっているんだけど、これらが両方とも横に長いサイズなんだよne これらを表示するには、ミキサー以外の他のメニューを閉じる処理をしたほうがいいんだよne なので「Edit」ボタンをクリックしたときは自動的にミキサー以外のメニューをすべて閉じて、当該のメニュー画面を開くようになってるyo あと、わかってるとは思うけど、最上段に表示されているメニューボタンは現在開いているものが「ピンク色」になっているからne 閉じている状態の色も3種類あるけど、「クリーム色」の3つはNoteをいじるエディターで、「緑色」の5つは音色をいじるエディターというように、カテゴリー別に色分けしてるyo まあ、このくらいのことはいちいち書かなくても当然察してくれるとは思うんだけど、まったく察することができないタイプの人も増えてるようなので念のため書いておくyo(大苦笑) 多分そういう人はJAMは使いこなせないと思うけどne(含み笑)