zkunがいろんなことを横書きするブログのようですw(含み笑)
何をつくる予定かというと、前にもちょっと書いたけど、ドラムパターンやフィルインパターンを、曲データテキストと同じようにそこに貼って単独で読み込みができるようにするボタンとして機能させる予定だyo
ドラムパターンはクッキー保存できるので個人で使う分にはいいんだけど、ドラムパターンだけを単独で外部ともやりとりできるようにしたほうが発展性があるからne(納得笑) フィルインパターンは曲データに埋め込まれて保存・読み込みする方式なので、今のところフィルインだけを単独で読み書きする手段がないyo それを作っちゃおうというわけだyo
フィルインパターンは今回から扱いが大きく変わったので少し説明しておくyo 1小節に対して16ヒットを定義するのは同じなんだけど、その配分が変更になってるyo 1拍目に対してはアサインなし。2拍目と3拍目には4ヒット。4拍目にはなんと8ヒットをアサインしてるyo つまり、2, 3拍目は16ビートで動作し、4拍目は32ビートで動作するというわけだyo 小節の最後でより手数の多いフィルインをさせることができるというわけだyo(呆れ笑)
各小節ブロック内のDrセレクタの右側に初期ではdisable状態の「Rd.」と書かれたセレクタがあるけど、これがフィルインセレクタだyo ドラムパターンを「Ax,Ay,Bx,By」のどれかに変更すると使用可能になるyo Rd.でランダムに選ばれる状態で、その下の1〜20を選ぶとその番号のフィルインxパターンまたはフィルインyパターンを指定することができるというわけだyo これによって、ここでは必ずあのフィルインを使いたいという指定もできるようになったyo(優れ笑)
さらに言うと、ランダムで選ぶ場合もどこまでの範囲から選ぶようにするかをマニアックに指定できるようになっているyo 「フィルインエディター」画面を開くとわかるけど、x,yそれぞれ20パターンまでのリストが左側に表示されているんだけど、デモソング状態ではそれぞれ1-3番に名前をつけたフィルインパターンが登録されていて、4番以降は名前がついてなくてフィルインの中身も空っぽになってるよ。この「名前」がついてるパターンを対象にしてその中からランダムで選ぶという仕様にしてるyo なので、4番以降にフィルインを追加定義した場合は「Rename」ボタンをクリックして何らかの名前をつけてやるようにしてよne そうするとその番号までがランダムの選択対象になるというわけだyo まだ3つしかないのに20個から選ぶと空データで無音になっちゃうことが多くなるからne あまり頻繁に使わないようなパターンを後半にたくさん登録した場合、曲によってはそれらの中から選ばれてほしくない場合もあるよne そんなときはたとえばx-6をrenameして名前無しにしてしまえば、1-5番のパターンからのみランダムセレクトされるようになるので、6-20番は切り離すことができるyo この場合7-20番は名前つきのままでも無視されるyo 先頭から名前があるパターンが続いてるところまでがランダム選択の対象になるというわけだyo まあ、このへんのこともマニュアルにはちゃんと明示しとくけど、いつマニュアルが完成するかわからないからne(結構たいへんな作業な笑)
まあ、作者自身もどこまで使いこなせるかわからない細かい機能もいっぱい盛り込んであるので、各自で使ってみながら結果オーライで活用していってくれyo(微笑)
話を最初に戻すと、ほかにも「Rec」パート内容のテキスト、「Poly」パート内容のテキストも個別に読み書きしようと思えば簡単にできるので、これらも「mikansei」ボタンで扱えるようにしようかと考えているyo それができると、作成の途中段階でうまくいっていた時点での「Rec」パートなどを仮保存しておくことができるので、その後の作業で「アチャー、これをオーバーダビングするんじゃなかった!」という事態になったときに、このボタンを使って元の状態に戻せるようになるよne まあ、面倒な作業ではあるけれど、どうしても慎重につくりたいデータというのもあると思うので、できないよりはできる方法があるほうがいいよne 構造的には簡単なスクリプトでできちゃうことなので、マニアック過ぎる機能だけど一応用意しておこうと思うyo(枝葉な笑) まあほとんどのユーザーは使うことがない、あるいは存在すら知らない隠れ機能になるだろうけどne(苦笑)
ドラムパターンはクッキー保存できるので個人で使う分にはいいんだけど、ドラムパターンだけを単独で外部ともやりとりできるようにしたほうが発展性があるからne(納得笑) フィルインパターンは曲データに埋め込まれて保存・読み込みする方式なので、今のところフィルインだけを単独で読み書きする手段がないyo それを作っちゃおうというわけだyo
フィルインパターンは今回から扱いが大きく変わったので少し説明しておくyo 1小節に対して16ヒットを定義するのは同じなんだけど、その配分が変更になってるyo 1拍目に対してはアサインなし。2拍目と3拍目には4ヒット。4拍目にはなんと8ヒットをアサインしてるyo つまり、2, 3拍目は16ビートで動作し、4拍目は32ビートで動作するというわけだyo 小節の最後でより手数の多いフィルインをさせることができるというわけだyo(呆れ笑)
各小節ブロック内のDrセレクタの右側に初期ではdisable状態の「Rd.」と書かれたセレクタがあるけど、これがフィルインセレクタだyo ドラムパターンを「Ax,Ay,Bx,By」のどれかに変更すると使用可能になるyo Rd.でランダムに選ばれる状態で、その下の1〜20を選ぶとその番号のフィルインxパターンまたはフィルインyパターンを指定することができるというわけだyo これによって、ここでは必ずあのフィルインを使いたいという指定もできるようになったyo(優れ笑)
さらに言うと、ランダムで選ぶ場合もどこまでの範囲から選ぶようにするかをマニアックに指定できるようになっているyo 「フィルインエディター」画面を開くとわかるけど、x,yそれぞれ20パターンまでのリストが左側に表示されているんだけど、デモソング状態ではそれぞれ1-3番に名前をつけたフィルインパターンが登録されていて、4番以降は名前がついてなくてフィルインの中身も空っぽになってるよ。この「名前」がついてるパターンを対象にしてその中からランダムで選ぶという仕様にしてるyo なので、4番以降にフィルインを追加定義した場合は「Rename」ボタンをクリックして何らかの名前をつけてやるようにしてよne そうするとその番号までがランダムの選択対象になるというわけだyo まだ3つしかないのに20個から選ぶと空データで無音になっちゃうことが多くなるからne あまり頻繁に使わないようなパターンを後半にたくさん登録した場合、曲によってはそれらの中から選ばれてほしくない場合もあるよne そんなときはたとえばx-6をrenameして名前無しにしてしまえば、1-5番のパターンからのみランダムセレクトされるようになるので、6-20番は切り離すことができるyo この場合7-20番は名前つきのままでも無視されるyo 先頭から名前があるパターンが続いてるところまでがランダム選択の対象になるというわけだyo まあ、このへんのこともマニュアルにはちゃんと明示しとくけど、いつマニュアルが完成するかわからないからne(結構たいへんな作業な笑)
まあ、作者自身もどこまで使いこなせるかわからない細かい機能もいっぱい盛り込んであるので、各自で使ってみながら結果オーライで活用していってくれyo(微笑)
話を最初に戻すと、ほかにも「Rec」パート内容のテキスト、「Poly」パート内容のテキストも個別に読み書きしようと思えば簡単にできるので、これらも「mikansei」ボタンで扱えるようにしようかと考えているyo それができると、作成の途中段階でうまくいっていた時点での「Rec」パートなどを仮保存しておくことができるので、その後の作業で「アチャー、これをオーバーダビングするんじゃなかった!」という事態になったときに、このボタンを使って元の状態に戻せるようになるよne まあ、面倒な作業ではあるけれど、どうしても慎重につくりたいデータというのもあると思うので、できないよりはできる方法があるほうがいいよne 構造的には簡単なスクリプトでできちゃうことなので、マニアック過ぎる機能だけど一応用意しておこうと思うyo(枝葉な笑) まあほとんどのユーザーは使うことがない、あるいは存在すら知らない隠れ機能になるだろうけどne(苦笑)
PR
自動的にドラムパターンを2分の1、3分の1のテンポで再生するように改良してるyo 従来は細かいフレーズを打ち込むために特定の小節のテンポを2倍や3倍にした場合は、バッキングパターンのベースやドラムも2倍、3倍のスピードで再生されてしまうので、ベースはオートベース記号を使って長音化してしのいだり、ドラムなら別に「C〜J」などのパターンに専用の間のびさせたパターンを登録してアサインする必要があったyo
v2ではその手間をはぶくために、テンポがx2、x3の場合には自動的にその小節に選ばれているドラムパターンを2分の1、3分の1のテンポになるように音を遅らせてMIDIファイル化しているので、専用ドラムパターンをわざわざ作る必要はなくなったyo(優れ笑) まあ、パターンの前半の2分の1、3分の1の登録音だけを引きのばしてアサインしているだけなので、「後半部分の音で鳴ってほしいんだけど」という希望にはそえないけどne(苦笑) その場合は従来どおり「C〜J」のパターンで新たに打ち込んでくれyo ただし、2倍、3倍にのびることを理解して前に詰めて打ち込むんだぜw(納得笑)
ベースに関してはZkun Jam同様に「Original」モードを選べるようにしたので、x2、x3の小節では「Original」モードを選んでふつうに打ち込みをすればいいyo あと、ベースパートには今回「Hybrid」という新しいプレイモードを導入しているyo これは何かというと、基本的に「Auto」で鳴るんだけどベースパートに「Original」用のフレーズデータがある「拍」については「Original」モードで鳴るというものだyo つまり、曲の中、小節の中で、「ここだけはこのフレーズを演奏してほしい」という部分だけフレーズを打ち込み、それ以外はAutoでおまかせで作ることができるモードだyo 特に小節の中で1-3拍はAutoでよくて4拍目だけこういう演奏をしたいんだけどなという場合、これまではZkun Jamでも小節全体のフレーズをOriginalで打ち込むしかなかったけど、v2では4拍目の部分だけフレーズエディタで入力し「Hybrid」を選んでおくだけでOK。もちろん、1拍目だけとか2&4拍目だけなど指定は自由で、とにかく打音データが存在する拍の間だけオートベース機能が止まり、指定したフレーズを演奏するというわけだyo(優れ笑)
フィルインについてはx2、x3に対応させようか迷ったけど、仕組み上16クロックの前半から音を採用する方式なので、後半に重点がかかるフィルインの場合は適切な変換にならないので採用は見送ったyo(納得笑) なので、フィルインも含めてテンポを変えたい場合は、素直にそこ専用のドラムパターンを「C〜J」で作ってne(妥当笑)
v2ではその手間をはぶくために、テンポがx2、x3の場合には自動的にその小節に選ばれているドラムパターンを2分の1、3分の1のテンポになるように音を遅らせてMIDIファイル化しているので、専用ドラムパターンをわざわざ作る必要はなくなったyo(優れ笑) まあ、パターンの前半の2分の1、3分の1の登録音だけを引きのばしてアサインしているだけなので、「後半部分の音で鳴ってほしいんだけど」という希望にはそえないけどne(苦笑) その場合は従来どおり「C〜J」のパターンで新たに打ち込んでくれyo ただし、2倍、3倍にのびることを理解して前に詰めて打ち込むんだぜw(納得笑)
ベースに関してはZkun Jam同様に「Original」モードを選べるようにしたので、x2、x3の小節では「Original」モードを選んでふつうに打ち込みをすればいいyo あと、ベースパートには今回「Hybrid」という新しいプレイモードを導入しているyo これは何かというと、基本的に「Auto」で鳴るんだけどベースパートに「Original」用のフレーズデータがある「拍」については「Original」モードで鳴るというものだyo つまり、曲の中、小節の中で、「ここだけはこのフレーズを演奏してほしい」という部分だけフレーズを打ち込み、それ以外はAutoでおまかせで作ることができるモードだyo 特に小節の中で1-3拍はAutoでよくて4拍目だけこういう演奏をしたいんだけどなという場合、これまではZkun Jamでも小節全体のフレーズをOriginalで打ち込むしかなかったけど、v2では4拍目の部分だけフレーズエディタで入力し「Hybrid」を選んでおくだけでOK。もちろん、1拍目だけとか2&4拍目だけなど指定は自由で、とにかく打音データが存在する拍の間だけオートベース機能が止まり、指定したフレーズを演奏するというわけだyo(優れ笑)
フィルインについてはx2、x3に対応させようか迷ったけど、仕組み上16クロックの前半から音を採用する方式なので、後半に重点がかかるフィルインの場合は適切な変換にならないので採用は見送ったyo(納得笑) なので、フィルインも含めてテンポを変えたい場合は、素直にそこ専用のドラムパターンを「C〜J」で作ってne(妥当笑)
JAM上では中身を確認できないし編集もできなくなるから、失敗したらパートを全クリアするしかないの?と思うかもしれないne JAM上で再生することだけで言うならばそうなるyo(苦笑) ただ、SMF書き出ししてDAWソフト上のMIDIトラックに読み込むことができるので、最終的にはそっちでいくらでも編集ができるといえばできるんだよne(丸投げ笑) SMF書き出し機能をつけているのはまさにそういう目的のためで、最終成果物として仕上げるのはDAWでやればいいと思うyo JAMは構想を練って手早く骨組みを作るのに便利なので、SMFでDAWにバトンタッチすればいいというわけだyo まあ、あまりに音が重なるようにガンガンにオーバーダビングしちゃってるとDAWでも修正は面倒になるけど、それぞれ異なる小節をダビングしてる感じなら楽勝だからne
デモソングでは前奏部分でちょっとしたテクを使ってるyo 色々できるようになったとはいえ、「拍の中」でコードチェンジをしてのコードカッティングは無理なんだけど、ここではそれを擬似的に表現させちゃってるyo まずPianoパートでコードAのカッティングフレーズだけをストローク記号を使って記述して完成させるyo できたら、Piano→PolyダビングをしてPolyパートに複写するyo 次にPianoパートでコードBのフレーズ部分だけを打ち込み直すyo どちらも音色、ボリューム、パンなどを同一にすれば、再生したときに1つの楽器で演奏してるように聴こえるので、同じ拍の中でAからBにコードチェンジしてカッティングしてるように聴こえるというわけだyo めんどくさいけど、やろうと思えばできるというわけだyo(感心笑) あっ、その後修正してパート構成を変更したわw(追記笑)
あと、v2ではRec, Mono, Polyパートも小節ごとに音色番号とエクスプレッションの一時的変更ができるようになっているので、ちがう小節ならば異なる音色のフレーズをダビングしていっても大丈夫だyo 音色変更は各小節ブロック下段のセレクタでパートを指定し、左のnumberが音色番号で右がエクスプレッションだyo 「-1」だと曲の設定に追従という意味だyo(v1と同じ笑)
デモソングでは前奏部分でちょっとしたテクを使ってるyo 色々できるようになったとはいえ、「拍の中」でコードチェンジをしてのコードカッティングは無理なんだけど、ここではそれを擬似的に表現させちゃってるyo まずPianoパートでコードAのカッティングフレーズだけをストローク記号を使って記述して完成させるyo できたら、Piano→PolyダビングをしてPolyパートに複写するyo 次にPianoパートでコードBのフレーズ部分だけを打ち込み直すyo どちらも音色、ボリューム、パンなどを同一にすれば、再生したときに1つの楽器で演奏してるように聴こえるので、同じ拍の中でAからBにコードチェンジしてカッティングしてるように聴こえるというわけだyo めんどくさいけど、やろうと思えばできるというわけだyo(感心笑) あっ、その後修正してパート構成を変更したわw(追記笑)
あと、v2ではRec, Mono, Polyパートも小節ごとに音色番号とエクスプレッションの一時的変更ができるようになっているので、ちがう小節ならば異なる音色のフレーズをダビングしていっても大丈夫だyo 音色変更は各小節ブロック下段のセレクタでパートを指定し、左のnumberが音色番号で右がエクスプレッションだyo 「-1」だと曲の設定に追従という意味だyo(v1と同じ笑)
まだバグはいっぱいありそうだけど、とりあえず必要な機能が全部動くようになったので初期バージョンとしてうpするyo(乾杯笑) 動作チェックがてら打ち込んで作っていたデモソング「スカーレット」も収録しているのでぜひとも聴いてみてよne
パートが全部で7つになったyo v1.0から増えたのは「Mono」と「Poly」で、それぞれ打ち込み入力専用パートと、オーバーダビング専用パートになってるyo 打ち込み入力のエディターは3モードで使用するようになり、「Vocal」「Mono」パートのほか、「Bass」パートで「Original Play」というモードのときに使用するフレーズも打ち込むことができるyo(てか元々はこれ専用のエディターだった笑)
音色やエフェクトをいじるメニューがたくさん増えたyo マルチイコライザの画面を独立させたyo コントロールチェンジを用いた各パートごとの音色設定メニューも作ったyo こいつはeVocaloid以外の音源パートで有効だyo ドラム音色エディターも作ったyo こいつはNRPNで各ドラムインストごとに細かく設定できるパラメータをいじれるので、スネアやシンバルの音をかなり変更することができて面白いyo 当然だけどzkunのつくるアプリではそれらが必ず曲の設定データとして保存・読み込みできるところがミソだyo デモソングでもドラムサウンドをちょっとチューニングしているyo(ピッチなどを少しいじってる笑)
バリエーションエフェクトの指定方法もますます充実したyo 小節ごとにvari1〜vari8を選べるセレクタをつけたyo これにより8種類のバリエーションエフェクトの設定を小節ごとに自由に割り付けできるようになったyo もちろん曲再生中に自動的に切り替わっていくyo パラメータの種類と上限下限値も表示するようになったので、いちいちヤマハのPDFを見なくても操作できるようになったyo まあ実用的に使うならこのくらいじゃないとねw(含み笑)
ストローク記号、アルペジオ記号は、これまで小節のプレイモードがそれぞれコード、アルペジオでないと使えなかったけれど、今回からは「拍」単位で自動的にモードが切り替わって使用できるようになったyo(凄過ぎる笑) つまりアルペジオでずーっと演奏してる途中で、ある拍だけ「ジャジャッ!」と細かくカッティングを入れてまたすぐアルペジオに戻るなんてこともできるようになったyo このへんの動作例がわかるような8小節の短いデモソングも収録しているので、コード表示欄に書いてある記号と実際に鳴る音とを比べて、どんな演奏パターンができちゃうかを確認するといいyo てきとうに記号を書きなぐっただけでもだいたいコード構成音に基づいて音が鳴るのでひどい出鱈目フレーズにはならないのがミソだyo(微笑)
動作的にはポケミクの受信速度の上限もあるので、あまり速いフレーズで音が多過ぎると重くなるかもしれないne まあ、従前からもたるときはもたることもあるので、厳密に再生したいならばSMF書き出ししてDAWから再生することをおすすめするyo ちゃんとMIDI 1〜10チャンネルに分離してトラックが読み込めるからne まあこの先内部動作の最適化なども行って、できるだけ余分なMIDI信号を吐き出さずにすむようにすれば処理も少しは軽くなるかもしれないけどね。
ほかにも説明すべき事柄は無限にあるけど、まあどうせマニュアルも全面改定するだろうしボチボチ書いていくyo(気ままな笑) いやあ、それにしてもやっと完成したよw かなり疲れたのでバグ取りはするけれど新規の開発は当分お休みするyo(疲れ笑)
パートが全部で7つになったyo v1.0から増えたのは「Mono」と「Poly」で、それぞれ打ち込み入力専用パートと、オーバーダビング専用パートになってるyo 打ち込み入力のエディターは3モードで使用するようになり、「Vocal」「Mono」パートのほか、「Bass」パートで「Original Play」というモードのときに使用するフレーズも打ち込むことができるyo(てか元々はこれ専用のエディターだった笑)
音色やエフェクトをいじるメニューがたくさん増えたyo マルチイコライザの画面を独立させたyo コントロールチェンジを用いた各パートごとの音色設定メニューも作ったyo こいつはeVocaloid以外の音源パートで有効だyo ドラム音色エディターも作ったyo こいつはNRPNで各ドラムインストごとに細かく設定できるパラメータをいじれるので、スネアやシンバルの音をかなり変更することができて面白いyo 当然だけどzkunのつくるアプリではそれらが必ず曲の設定データとして保存・読み込みできるところがミソだyo デモソングでもドラムサウンドをちょっとチューニングしているyo(ピッチなどを少しいじってる笑)
バリエーションエフェクトの指定方法もますます充実したyo 小節ごとにvari1〜vari8を選べるセレクタをつけたyo これにより8種類のバリエーションエフェクトの設定を小節ごとに自由に割り付けできるようになったyo もちろん曲再生中に自動的に切り替わっていくyo パラメータの種類と上限下限値も表示するようになったので、いちいちヤマハのPDFを見なくても操作できるようになったyo まあ実用的に使うならこのくらいじゃないとねw(含み笑)
ストローク記号、アルペジオ記号は、これまで小節のプレイモードがそれぞれコード、アルペジオでないと使えなかったけれど、今回からは「拍」単位で自動的にモードが切り替わって使用できるようになったyo(凄過ぎる笑) つまりアルペジオでずーっと演奏してる途中で、ある拍だけ「ジャジャッ!」と細かくカッティングを入れてまたすぐアルペジオに戻るなんてこともできるようになったyo このへんの動作例がわかるような8小節の短いデモソングも収録しているので、コード表示欄に書いてある記号と実際に鳴る音とを比べて、どんな演奏パターンができちゃうかを確認するといいyo てきとうに記号を書きなぐっただけでもだいたいコード構成音に基づいて音が鳴るのでひどい出鱈目フレーズにはならないのがミソだyo(微笑)
動作的にはポケミクの受信速度の上限もあるので、あまり速いフレーズで音が多過ぎると重くなるかもしれないne まあ、従前からもたるときはもたることもあるので、厳密に再生したいならばSMF書き出ししてDAWから再生することをおすすめするyo ちゃんとMIDI 1〜10チャンネルに分離してトラックが読み込めるからne まあこの先内部動作の最適化なども行って、できるだけ余分なMIDI信号を吐き出さずにすむようにすれば処理も少しは軽くなるかもしれないけどね。
ほかにも説明すべき事柄は無限にあるけど、まあどうせマニュアルも全面改定するだろうしボチボチ書いていくyo(気ままな笑) いやあ、それにしてもやっと完成したよw かなり疲れたのでバグ取りはするけれど新規の開発は当分お休みするyo(疲れ笑)
おもしろいことをひらめいたyo 「Poly」パートは「Mono」パートからオーバーダビングできるだけでなく、「Rec」パート、「Piano」パート、「Bass」パートからもオーバーダビングできるようにするyo つまり、いったんつくったコードストロークのピアノパートをすべて「Poly」パートにダビングしてしまい、あらためてアルペジオパターンばかりのピアノパートをつくって両方を同時に鳴らすこともできるようになるyo これは画期的な発想だne ほかにもオートベースで作ったフレーズをダビングして、同じように別のベースフレーズを作って同時に鳴らすということも可能になるyo まあ、「Poly」パート自体は1つのインストになるので、ベースとピアノを混ぜても鳴るのは指定した1つの音色になるけどne それにしたって、色んな使い方が考えられるよne 「Rec」パートでリアルタイムレコーディングしたフレーズに、「Mono」パートで打ち込み入力したフレーズを足して、1つのギターフレーズパートを完成させることもできるだろうし、「Recパート」ならピッチベンドも使えるので、共存させることができれば表現の幅が広がるよne なんでも有りのジョーカー的パートとして使えそうだne スクリプト的にはこれから作るんだけど、理屈の上ではどうとでも可能だyo 「Rec」パートを作るときにそうとう研究して、実にうまい処理方法を開発済みだからne いきなり作ろうと思ってもどうやったらいいか全くわからないだろ? まさにローマは一日にしてならずというわけだyo(地道な笑)
入力して全体を動かしながらバグとりと残りの部分の作成を進めているyo とりあえず40小節ほどのソングがちゃんと鳴るところまで来ているyo(熱海くらいまで来た笑)
ループタグの動作バグでドはまりしたyo(大苦笑) これまで問題なく動いてきた従来のループのほうのタグが動かないので原因がわからず、あれをやってもこれをやってもダメで、スクリプトのどこが悪さをしているのかがなかなか特定できなかったyo 結局、スクリプトの構造を大幅に整理したときに、初期値を読ませるルーチンが小節ループの中に入り込んでいたために、毎回初期値に戻ってしまって無限ループのような状態が発生していたyo なんだそんな単純なことwと思うだろうけど、見通しが良くなったとはいえ、膨大なリストを把握しながらの作業なので、これまでちゃんと動いてた部分に対していちいち疑いをかけだすと膨大な無駄な作業が発生するので、どこを疑うかの絞り込みは慎重を要するんだよね(納得笑) 一度ドはまりすると結構抜け出すのがたいへんな場合があるyo(疲れ笑)
そんなこんなで苦しみながらも、またふと思ったyo ストローク記号を移植できたけど、せっかくなので「O, X, =」に加えてもう1つ「M」を追加することにするyo 「O」だとベロシティー100くらいでジャーンと弾くんだけど、「M」だとベロシティーおそらく50くらいの小さな音で発音させるyo これによって、ミュートしてチャカチャカ弾いてるときの感じを出そうというわけだyo ないよりは有ったほうが確実に役に立つだろ? デモソングを打ち込んでて、せっかくだからここでもうひと頑張りするかとひらめいたyo やはり実際に長めのデータを打ち込んで初めてひらめくことって多いよne
そんなわけで完成はもう少し先延ばしになりそうですww(沼津へ引き返し笑)
ループタグの動作バグでドはまりしたyo(大苦笑) これまで問題なく動いてきた従来のループのほうのタグが動かないので原因がわからず、あれをやってもこれをやってもダメで、スクリプトのどこが悪さをしているのかがなかなか特定できなかったyo 結局、スクリプトの構造を大幅に整理したときに、初期値を読ませるルーチンが小節ループの中に入り込んでいたために、毎回初期値に戻ってしまって無限ループのような状態が発生していたyo なんだそんな単純なことwと思うだろうけど、見通しが良くなったとはいえ、膨大なリストを把握しながらの作業なので、これまでちゃんと動いてた部分に対していちいち疑いをかけだすと膨大な無駄な作業が発生するので、どこを疑うかの絞り込みは慎重を要するんだよね(納得笑) 一度ドはまりすると結構抜け出すのがたいへんな場合があるyo(疲れ笑)
そんなこんなで苦しみながらも、またふと思ったyo ストローク記号を移植できたけど、せっかくなので「O, X, =」に加えてもう1つ「M」を追加することにするyo 「O」だとベロシティー100くらいでジャーンと弾くんだけど、「M」だとベロシティーおそらく50くらいの小さな音で発音させるyo これによって、ミュートしてチャカチャカ弾いてるときの感じを出そうというわけだyo ないよりは有ったほうが確実に役に立つだろ? デモソングを打ち込んでて、せっかくだからここでもうひと頑張りするかとひらめいたyo やはり実際に長めのデータを打ち込んで初めてひらめくことって多いよne
そんなわけで完成はもう少し先延ばしになりそうですww(沼津へ引き返し笑)
なぜよくあるようにマトリクス画面を展開して各音について細かくエディットできるような仕組みをつくらないのかと言われるかもしれないne でも、それをやっちゃうと単なる劣化版DAWになっちゃうだろ? 同じ理由で5線譜表示とかもやらないyo そういうよくある表示方法を採用すると、必ずスペック競争になっちゃって、ふだん使いもしないような細部の数値で勝った負けたの争いに陥ってしまうのが常だからねw(失笑) 細かく作り出したらキリがないし、そこまで指定する必要性もあまり感じないんだよne しょせんはコンピュータミュージックだyo どこまで省力化できるかということも極めて重要な要素だと思っているyo そら、Cubaseとかはどこまでも細かくエディットできるよ。だけど、じゃあ16小節の8ビートで、コード進行はこれ、ベースとドラムはまあ適当なパターンでもいいよ、という時に、ササッとオケを作れるかな? 適当と言われたって何がてきとうかを考えて、全くのリピートにならないように変化をつけてつくらないといけない。16小節もあれば、まあそこそこの長さなのでてきとうと言われたってやはりそれなりに考えてからつくらないといけない。。。 そんなときでもNSX JAMだと何も考えずに16小節のシートをつくり、順にコードを入力し、とりあえずドラムパターンAだけを8ビートでつくって、ベースをオートで鳴らせば、もう完成するw 4,8,12,16小節だけドラムをAx,かAyに変更してやればフィルインも適度に入るw しかも再生するごとにベースラインで選ばれる音もフィルインのパターンも微妙に変化するので、いくつものテイクをつくることができるw 単純な白玉コードじゃつまらんと言われたら、必要な小節だけアルペジオに変更もできる。シャッフルビートに変えてみよかと言われたら一瞬で変更もできるw そんな手軽さがJAMのウリだからne
ボカロパートについても同じだよ。ボクもv2エディターで打ち込んで、wavで書き出してDAWに貼るという作業をやってたことがあるyo たしかに細部までいろんなパラメータを指定して表現力を高めていくことはできるよね。だけど、めちゃくちゃ面倒臭いんだよねw(大苦笑) 気軽に取り組めるシロモノではない。それなりのまとまった時間と、何日も続けて完成させようという強い意志がないと途中でめんどくさくなってしまうレベルだよne 細かくエディットでき過ぎることも良し悪しの部分があると思うんだよね。結果的に作品が完成しなくなってしまう一因になるようでは本末転倒だと思うんだよne NSX JAMでは16分音符グリッドに対して対応する「かな」を1つ入れるだけという超シンプルな指定しかできないので、ボカロパートの入力であれやこれや悩む余地が非常に少ないのがメリットと言えるyo まあ、実際にはベロシティの強弱を指定したり、「ん」か「ん2」か、「お」か「を」かなど、工夫をする余地のある部分もあるけれど、基本超シンプルに1文字打ち込むだけでいいので、楽曲の中でのボカロパートの入力手段としては世界最速の部類にはいると思うんだよね。それでいて、エディター上でもプレビュー再生で確認しながら修正できるという操作性は史上最強レベルだよne 小節にsendすればPLAYボタンでもう即オケと同時再生という早さも最新のボカキュー並の作業環境だよne ポケミク1個買ってきただけでそこまでの環境が無料で構築できちゃうというところがJAMの凄さだyo すでにボカロやCubaseを持っている人にとっては「なんだそんなこと」と思うかもしれないけど、これからすべてを始めようとする人にとっては「神ソフト」と言えると思うよne(宣伝笑)
ボカロパートについても同じだよ。ボクもv2エディターで打ち込んで、wavで書き出してDAWに貼るという作業をやってたことがあるyo たしかに細部までいろんなパラメータを指定して表現力を高めていくことはできるよね。だけど、めちゃくちゃ面倒臭いんだよねw(大苦笑) 気軽に取り組めるシロモノではない。それなりのまとまった時間と、何日も続けて完成させようという強い意志がないと途中でめんどくさくなってしまうレベルだよne 細かくエディットでき過ぎることも良し悪しの部分があると思うんだよね。結果的に作品が完成しなくなってしまう一因になるようでは本末転倒だと思うんだよne NSX JAMでは16分音符グリッドに対して対応する「かな」を1つ入れるだけという超シンプルな指定しかできないので、ボカロパートの入力であれやこれや悩む余地が非常に少ないのがメリットと言えるyo まあ、実際にはベロシティの強弱を指定したり、「ん」か「ん2」か、「お」か「を」かなど、工夫をする余地のある部分もあるけれど、基本超シンプルに1文字打ち込むだけでいいので、楽曲の中でのボカロパートの入力手段としては世界最速の部類にはいると思うんだよね。それでいて、エディター上でもプレビュー再生で確認しながら修正できるという操作性は史上最強レベルだよne 小節にsendすればPLAYボタンでもう即オケと同時再生という早さも最新のボカキュー並の作業環境だよne ポケミク1個買ってきただけでそこまでの環境が無料で構築できちゃうというところがJAMの凄さだyo すでにボカロやCubaseを持っている人にとっては「なんだそんなこと」と思うかもしれないけど、これからすべてを始めようとする人にとっては「神ソフト」と言えると思うよne(宣伝笑)
読み書きできるようになったyo と言ってもまだ初期状態での確認だけだけどw これでようやくバリバリに動作検証できる状態まで持ってこれたyo パーツが膨大になってきてるので、何をやるにもけっこう大掛かりでとても神経を使うんだよねw(苦笑) 主要配列関数の仕様書を何度も書き直して、ノート14ページにもわたるリファレンスを完成させたyo おそらくこれで仕様は完全に固まったと言えるので、あとは細部のつじつまをしっかり合わせる作業だne
まだ出来てないのが、MIDI4チャンネルの「Poly」パートへのダビングルーチンと、Polyパートの読み込み時の処理だけど、これらは「Rec」パートのルーチンをほんの一部改造するだけで出来上がるので特に難しい点はないyo 打ち込んだモノフレーズをオーバーダビングして「Poly」パートを形成するという概念はなんともまどろっこしくて、初めて触る人たちはなじめないだろうと思うけど、まあ、使わないパートは使わなければいいだけだからねw レコーディングしない人は「Rec」パートは使わなければいいし、打ち込みフレーズのオーバーダビングをしない人は「Poly」パートを使わなければいいし、eVocaloidを使わない人は「Vocal」パートを使わなければいいし、マック内蔵音源の使用でリバーブ以外のエフェクトを使えない人は、コーラスやバリエーションエフェクト、コントロールチェンジ、ドラム音色エディット、マルチイコライザのエディターは使わなければいい。使う人の環境や用途に合わせて、使うものだけを使えばちゃんと動くというアプリになってるyo Zkun Jam v4.9とNSX JAM v1.0の機能を両方吸い上げてきれいに統合できたので、これは歴史に残る名作アプリになりそうな予感がするyo(煽り笑)
まだ出来てないのが、MIDI4チャンネルの「Poly」パートへのダビングルーチンと、Polyパートの読み込み時の処理だけど、これらは「Rec」パートのルーチンをほんの一部改造するだけで出来上がるので特に難しい点はないyo 打ち込んだモノフレーズをオーバーダビングして「Poly」パートを形成するという概念はなんともまどろっこしくて、初めて触る人たちはなじめないだろうと思うけど、まあ、使わないパートは使わなければいいだけだからねw レコーディングしない人は「Rec」パートは使わなければいいし、打ち込みフレーズのオーバーダビングをしない人は「Poly」パートを使わなければいいし、eVocaloidを使わない人は「Vocal」パートを使わなければいいし、マック内蔵音源の使用でリバーブ以外のエフェクトを使えない人は、コーラスやバリエーションエフェクト、コントロールチェンジ、ドラム音色エディット、マルチイコライザのエディターは使わなければいい。使う人の環境や用途に合わせて、使うものだけを使えばちゃんと動くというアプリになってるyo Zkun Jam v4.9とNSX JAM v1.0の機能を両方吸い上げてきれいに統合できたので、これは歴史に残る名作アプリになりそうな予感がするyo(煽り笑)
読み込むルーチンをつくるところまできているyo 新しいフィルインを鳴らす方式も、新たに8種類のバリエーションを切り替える方式も順調に動いているyo ファイル読み書き部分が完成すれば、いよいよ本格的な楽曲ファイルを読み書きさせて、細部のバグチェックを効率よく行えるようになるので、開発も最終段階に突入するyo
なんでもかんでも孫配列、ひ孫配列の要素として単独で読み書きできるようにしたほうが扱いやすくなるかと思ったけど、エディターのモード切替時の書き込みの手軽さや、初期化時の記述の煩雑さ、既存のルーチンで特に支障無く動かせている、などの諸々の理由から、無理に独立要素にせず、これまで通り合体させた文字列としてまとめて処理したほうがシンプルでいいかと思うところは修正したyo 一カ所だけ孫配列までありになってても、テキストで書き出したときに未定義の場合や空欄の場合などのときにどの子配列の中の孫配列かを識別させるのが面倒になるので、できるだけ他の要素とのバランスをとるようにしたよ。なんのこっちゃかまるでわからないだろうけど、自分で将来読み返したときにはああそういうことかとわかるので一応書いておくよw(苦笑)
ドラムパターンはこれまで通りクッキーを使って別保存も可能だよ。フィルインについてもどうしようかと考えたけど、クッキーで保存するには全体のサイズが大きくなって容量を超えてしまうだろうし、1パターンごとにクッキー保存だと煩雑になり過ぎるのでどうしようかと迷ったyo まあ、曲ファイルには必ず添付することができるのだから、クッキーまではいらんかということで、テキスト保存・読み込みでの管理にしたyo ファイルメニュー画面で、曲データ以外にドラムデータだけを貼っても、フィルインデータだけを貼っても、自動的に認識してそれぞれのデータパターンとしてロードされるようなマルチ読み込み機構をつけようと思うyo もしかしたら初回バージョンではつかないかもしれないけど、ゆくゆくは必ずつけることにするyo できたほうが自分にとっても便利なことは必ず実現するようにしてるからねw
それにしても多機能だyo(呆れ笑) これのバグが全部とりきれた時の挙動がとても楽しみだyo(含み笑)
なんでもかんでも孫配列、ひ孫配列の要素として単独で読み書きできるようにしたほうが扱いやすくなるかと思ったけど、エディターのモード切替時の書き込みの手軽さや、初期化時の記述の煩雑さ、既存のルーチンで特に支障無く動かせている、などの諸々の理由から、無理に独立要素にせず、これまで通り合体させた文字列としてまとめて処理したほうがシンプルでいいかと思うところは修正したyo 一カ所だけ孫配列までありになってても、テキストで書き出したときに未定義の場合や空欄の場合などのときにどの子配列の中の孫配列かを識別させるのが面倒になるので、できるだけ他の要素とのバランスをとるようにしたよ。なんのこっちゃかまるでわからないだろうけど、自分で将来読み返したときにはああそういうことかとわかるので一応書いておくよw(苦笑)
ドラムパターンはこれまで通りクッキーを使って別保存も可能だよ。フィルインについてもどうしようかと考えたけど、クッキーで保存するには全体のサイズが大きくなって容量を超えてしまうだろうし、1パターンごとにクッキー保存だと煩雑になり過ぎるのでどうしようかと迷ったyo まあ、曲ファイルには必ず添付することができるのだから、クッキーまではいらんかということで、テキスト保存・読み込みでの管理にしたyo ファイルメニュー画面で、曲データ以外にドラムデータだけを貼っても、フィルインデータだけを貼っても、自動的に認識してそれぞれのデータパターンとしてロードされるようなマルチ読み込み機構をつけようと思うyo もしかしたら初回バージョンではつかないかもしれないけど、ゆくゆくは必ずつけることにするyo できたほうが自分にとっても便利なことは必ず実現するようにしてるからねw
それにしても多機能だyo(呆れ笑) これのバグが全部とりきれた時の挙動がとても楽しみだyo(含み笑)
v2では8種類を指定して、小節ごとにどれをONにするか選択できる方式にするyo v1.0では最大4種類4区間までだったけど、今度はたとえばvari1にピッチチェンジャー、vari2にオートワウ、vari3にディストーション、のように指定したものを、第1小節ではvari3を使用、第2小節ではvari1を使用、第3小節ではまたvari3を使用、第4小節ではvari2を使用といったように自由にいくらでも再使用ができるようになるので、区間数で言うならば最大256区間を定義できるようになるyo(呆れ笑) とりあえず8種類で作ってるけど、構造的にはいくらでも追加できるようにしているので、やろうと思えば16種類でも32種類でも簡単に増設可能だyo ただ、やはりファイルがその分どんどん大きくなっていくので、とりあえず8種類でスタートして様子をみることにするyo 設計的には増やす気満々で準備はできているというわけだyo(意欲的な笑)
ヤマハのようすをみていてもエフェクトパラメータのデフォルト値リストを追加公開するような気配は毛頭感じられないので、エフェクト切替時の挙動をちょっと変更しようと思うyo ボクのつくったマイ設定なんか使いたくないというクレーマーも多いだろうから、エフェクトタイプを切り替えたら、とりあえずデフォルト設定のままの音が鳴るようにし、パラメータ数値は全部「-1」表示にして詳細は不明という意味の表示にするyo 各自がなんらかの操作をして値を動かしたら、そのパラメータに関しては値が明示されるという方式にするyo パラメータ名と値の上限下限はすべて表示されるようになっているので、だいたいどのくらいの値に変更したらいいかは見当がつくようになっているyo このほうが、181種類もあるエフェクトタイプそれぞれにボクがてきとうなマイ設定値を放り込んだものを使うよりも汎用性が高いだろw それにいちいち181種類も考えてつくるのも面倒でやってられないからne(妥当笑) 変更した値は「-1」以外の場合、曲ファイルに保存されて次回ロードしたときもそのパラメータに関しては更新処理がされるので、同じサウンドに再現されるというわけだyo 良くも悪くもデフォルト値を尊重する挙動に変更するというわけなので、サウンドに不満があれば文句はヤマハに言ってよne(責任回避笑)
まだまだ細部のチェックがいっぱい残ってるのでリリースはもう少し先になるけど、まあ順調に出来上がってきてるので楽しみにしていてくれw 外観もなかなか本格的で、すでにちょっとした市販ソフトを超えてるような気がするyo(含み笑)
ヤマハのようすをみていてもエフェクトパラメータのデフォルト値リストを追加公開するような気配は毛頭感じられないので、エフェクト切替時の挙動をちょっと変更しようと思うyo ボクのつくったマイ設定なんか使いたくないというクレーマーも多いだろうから、エフェクトタイプを切り替えたら、とりあえずデフォルト設定のままの音が鳴るようにし、パラメータ数値は全部「-1」表示にして詳細は不明という意味の表示にするyo 各自がなんらかの操作をして値を動かしたら、そのパラメータに関しては値が明示されるという方式にするyo パラメータ名と値の上限下限はすべて表示されるようになっているので、だいたいどのくらいの値に変更したらいいかは見当がつくようになっているyo このほうが、181種類もあるエフェクトタイプそれぞれにボクがてきとうなマイ設定値を放り込んだものを使うよりも汎用性が高いだろw それにいちいち181種類も考えてつくるのも面倒でやってられないからne(妥当笑) 変更した値は「-1」以外の場合、曲ファイルに保存されて次回ロードしたときもそのパラメータに関しては更新処理がされるので、同じサウンドに再現されるというわけだyo 良くも悪くもデフォルト値を尊重する挙動に変更するというわけなので、サウンドに不満があれば文句はヤマハに言ってよne(責任回避笑)
まだまだ細部のチェックがいっぱい残ってるのでリリースはもう少し先になるけど、まあ順調に出来上がってきてるので楽しみにしていてくれw 外観もなかなか本格的で、すでにちょっとした市販ソフトを超えてるような気がするyo(含み笑)