zkunがいろんなことを横書きするブログのようですw(含み笑)
鍵盤でリアルタイム演奏していて困るのがミスタッチしたときだよね。速い曲ならもうどうしようもないけど、ゆっくりの曲の場合やフリーテンポで練習してるときは、鍵盤操作でちょこちょこっと文字の位置を戻せると重宝するよね。そんな機能を追加したyo
画面下部にセレクタを2つつけたよ。初期状態では低めの「ド」と「レ」にそれぞれ「もどす」「進める」の機能を割り当ててるよ。セレクタでオクターブ上下に動かせるので、自分の演奏に邪魔にならない低さのドとレに変更すればいいよ。その鍵盤を叩いたときは音が出ずに文字のシフトだけが行われるよ。
「自動で次の音へ」を選んだ状態で演奏を始めると文字のハイライトが進行していくよね。その途中で「もどす」方の鍵盤を叩くと、今の文字をもう一度演奏できるよ。2回叩くと1つ前の文字にハイライトが移り、そこから演奏できるよ。逆に「進める」方の鍵盤を叩くと2つ先の文字にハイライトが移動し、そこからの演奏になるよ。なぜ2つ先かと言うと、1つ先の音を飛ばしたいからわざわざ「進める」キーを操作するんだから当たり前だよne(苦笑)
ミスタッチのリカバリーや、繰り返し同じ言葉を弾きたいとき、特定の言葉に飛んで演奏したいとき、など色々な利用方法があると思うよ。シフト操作は今表示しているバンクの中をグルグル回るので、自動的にバンク移動はしない仕様にしているよ。
次はXGのエフェクトをコントロールするボタン類をつけようと思うよw(含み笑)
画面下部にセレクタを2つつけたよ。初期状態では低めの「ド」と「レ」にそれぞれ「もどす」「進める」の機能を割り当ててるよ。セレクタでオクターブ上下に動かせるので、自分の演奏に邪魔にならない低さのドとレに変更すればいいよ。その鍵盤を叩いたときは音が出ずに文字のシフトだけが行われるよ。
「自動で次の音へ」を選んだ状態で演奏を始めると文字のハイライトが進行していくよね。その途中で「もどす」方の鍵盤を叩くと、今の文字をもう一度演奏できるよ。2回叩くと1つ前の文字にハイライトが移り、そこから演奏できるよ。逆に「進める」方の鍵盤を叩くと2つ先の文字にハイライトが移動し、そこからの演奏になるよ。なぜ2つ先かと言うと、1つ先の音を飛ばしたいからわざわざ「進める」キーを操作するんだから当たり前だよne(苦笑)
ミスタッチのリカバリーや、繰り返し同じ言葉を弾きたいとき、特定の言葉に飛んで演奏したいとき、など色々な利用方法があると思うよ。シフト操作は今表示しているバンクの中をグルグル回るので、自動的にバンク移動はしない仕様にしているよ。
次はXGのエフェクトをコントロールするボタン類をつけようと思うよw(含み笑)
PR
昨夜のニコ生を見ていたら、50音図のような画面で音声を指定するアプリを予定しているみたいだったけどそれでは使い勝手がどうかな?と思ったので、自分が使うならこういうソフトがいいと思うものを作ってみたよ。
最大80文字×20バンク持たせられるよ。手動モードと自動モードがあり、手動はマウスオーバーした文字を歌うというシンプルなものだけど、まあ操作はたいへんだね。自動モードはバンク内をぐるぐる回らせるパターンと、自動的に次のバンクへ進んでいくパターンを選べるよ。外部MIDIキーボード(必ず1chに設定してね)からのNote ON信号を受信するたびに、次の文字へと自動的に進む仕組みなので、「やーまわあーおき」のように長音の途中で音程が変わる場合は「やあまわああおき」のように文字入力しておくといいよ。
入力した文字は割り付けボタンで自動的に周囲の文字ボタンにアサインされ、手動モードで使うこともできるよ。さらに、PCブラウザのクッキーにデータ保存されるので、一度入力したテキストは再起動後でもまた呼び出して使うことができるよ。そうでなくちゃ20バンクも作る意味は皆無だからねw(苦笑)
初期画面で「ふるさと」の歌詞を入れてあるけど、「自動で次の音へ」をクリックしてから弾いてみてくれよ。なんとも鮮明な音声で歌ってくれるじゃないかw リアルタイム操作でこういう演奏を多くのボカロユーザーたちは望んでいたんじゃないかなとしみじみ思うよ。これはなかなかいいソフトができたんじゃないかな。
(追加)
NSX JAMとNSX LIVEを両方開いてる場合に音源のレスポンスが遅くなる現象が見られたので、JAMとLIVEの両方に手を加えて音源がどちらか一方につながればもう一方は切られるように改正したよ。というか、もともとJazz-Pluginのお手本スクリプトではそうなっていたんだけど、レコーディング機能をiframe使って作る時にいちいち接続が切断されたりするのが面倒なのでオフにしてたんだよね。もちろんこれを戻してもレコーディング機能には影響が出ていないよ。隠れiframe内のスクリプトの方を切断されないままの仕様にしてるからね。隠れiframeといえば、当初NSX JAM内のデモソングデータ格納用のiframeに「demon」という名前をつけてたら、Chromeからセキュリティを理由にブロックされてしまい動かなくなってたよw こちらは「デモnumber」の省略でつけたつもりなのに、なんかのマルウェアとみなされたみたい。あまりてきとうなフレーム名をつけないほうがいいみたいだねw(大苦笑)
ということは、レコーディング機能を完全に除去すれば、反応速度はさらによくなる可能性がありそうだね。Jam4.9のデモソングでマックの内蔵音源が悲鳴を上げていたのはもしかしたらそこに原因があったのかもしれないね。この先、速度に不満が出てきたらレコーディング除去バージョンのJamを作ることも考えるかもね。まあ当面は便利なのでこのままにするけど。
最大80文字×20バンク持たせられるよ。手動モードと自動モードがあり、手動はマウスオーバーした文字を歌うというシンプルなものだけど、まあ操作はたいへんだね。自動モードはバンク内をぐるぐる回らせるパターンと、自動的に次のバンクへ進んでいくパターンを選べるよ。外部MIDIキーボード(必ず1chに設定してね)からのNote ON信号を受信するたびに、次の文字へと自動的に進む仕組みなので、「やーまわあーおき」のように長音の途中で音程が変わる場合は「やあまわああおき」のように文字入力しておくといいよ。
入力した文字は割り付けボタンで自動的に周囲の文字ボタンにアサインされ、手動モードで使うこともできるよ。さらに、PCブラウザのクッキーにデータ保存されるので、一度入力したテキストは再起動後でもまた呼び出して使うことができるよ。そうでなくちゃ20バンクも作る意味は皆無だからねw(苦笑)
初期画面で「ふるさと」の歌詞を入れてあるけど、「自動で次の音へ」をクリックしてから弾いてみてくれよ。なんとも鮮明な音声で歌ってくれるじゃないかw リアルタイム操作でこういう演奏を多くのボカロユーザーたちは望んでいたんじゃないかなとしみじみ思うよ。これはなかなかいいソフトができたんじゃないかな。
(追加)
NSX JAMとNSX LIVEを両方開いてる場合に音源のレスポンスが遅くなる現象が見られたので、JAMとLIVEの両方に手を加えて音源がどちらか一方につながればもう一方は切られるように改正したよ。というか、もともとJazz-Pluginのお手本スクリプトではそうなっていたんだけど、レコーディング機能をiframe使って作る時にいちいち接続が切断されたりするのが面倒なのでオフにしてたんだよね。もちろんこれを戻してもレコーディング機能には影響が出ていないよ。隠れiframe内のスクリプトの方を切断されないままの仕様にしてるからね。隠れiframeといえば、当初NSX JAM内のデモソングデータ格納用のiframeに「demon」という名前をつけてたら、Chromeからセキュリティを理由にブロックされてしまい動かなくなってたよw こちらは「デモnumber」の省略でつけたつもりなのに、なんかのマルウェアとみなされたみたい。あまりてきとうなフレーム名をつけないほうがいいみたいだねw(大苦笑)
ということは、レコーディング機能を完全に除去すれば、反応速度はさらによくなる可能性がありそうだね。Jam4.9のデモソングでマックの内蔵音源が悲鳴を上げていたのはもしかしたらそこに原因があったのかもしれないね。この先、速度に不満が出てきたらレコーディング除去バージョンのJamを作ることも考えるかもね。まあ当面は便利なのでこのままにするけど。
ついにボーカルパートまで搭載してしまったよ。と言っても、これは大人の科学で発売の「歌うキーボード ポケットミク」に接続して、ボーカルとオケ演奏もまとめて鳴らしてしまおうというソフトだよ。操作性はZkun Jamシリーズを継承してるけど、最大の違いはキーボードパートのかわりに「歌詞パート」を設けたことだよ。v1.0なので最初はとにかくシンプルに動かすことを優先して、打ち込みフレーズを使うのは「歌詞パート」のみにしたよ。つまり、Bassパートも「オートベース」のみに制限してるよ。まあ、そのうち拡張していくとは思うけどねw
これの凄いところは、フレーズエディターから進化した「歌詞エディター」が猛烈に便利なことだよ。従来のエディターの下にひらがな歌詞を入力するボックスを16個つけただけなんだけど、これによって通常はDAWソフトでSysExを1つずつ音の前のタイミングで挿入していかなくちゃいけない作業が全く必要なくなるよ。「歌詞エディター」内の「PLAY」ボタンでもプレビュー再生ができるので、作成中の小節のフレーズがどのように聴こえるかを確認しながら、作成、修正、転送、複写ができるよ。
デモ曲として「夏色」の冒頭を歌わせてみたよ。オケもいい感じで鳴ってくれるね。ボーカルはそこそこレイテンシーがある感じだね。音の立ち上がりが遅いので、SMFのタイムをボーカルだけ60-70くらい前にずらしてやって丁度オケと合う感じになったよ。まあ、そのへんはいろんな曲で実験しながら調整していくよ。
ボカロ2を使ったことがある身としては、さまざまなパラメータの調整抜きのポン出しの歌唱になるので色々注文をつけたいところは多いけど、ボカロ2のエディターでの入力作業の煩雑さを考えると、この手軽さはものすごいものがあるね。ましてや手間いらずの賢いオケと完全に同時進行でつくることができるので、これは超ラクラク作業と言えると思うねw
まあ、歌うキーボードオーナー限定アプリになってしまうのと、Zkun Jamよりは機能に制限がかかっている部分もあるので、これは後継ソフトではなく、派生ソフトとして独自の進化をさせていくと思うよ。純粋にオケ音源として見た場合でもXGの豊富なエフェクトが使えるなどの特徴をもっているので音源に特化した「NSX JAM」と、PCだけで使える「Zkun Jam」とに住み分けて機能を整備していくことになると思うよ。
これの凄いところは、フレーズエディターから進化した「歌詞エディター」が猛烈に便利なことだよ。従来のエディターの下にひらがな歌詞を入力するボックスを16個つけただけなんだけど、これによって通常はDAWソフトでSysExを1つずつ音の前のタイミングで挿入していかなくちゃいけない作業が全く必要なくなるよ。「歌詞エディター」内の「PLAY」ボタンでもプレビュー再生ができるので、作成中の小節のフレーズがどのように聴こえるかを確認しながら、作成、修正、転送、複写ができるよ。
デモ曲として「夏色」の冒頭を歌わせてみたよ。オケもいい感じで鳴ってくれるね。ボーカルはそこそこレイテンシーがある感じだね。音の立ち上がりが遅いので、SMFのタイムをボーカルだけ60-70くらい前にずらしてやって丁度オケと合う感じになったよ。まあ、そのへんはいろんな曲で実験しながら調整していくよ。
ボカロ2を使ったことがある身としては、さまざまなパラメータの調整抜きのポン出しの歌唱になるので色々注文をつけたいところは多いけど、ボカロ2のエディターでの入力作業の煩雑さを考えると、この手軽さはものすごいものがあるね。ましてや手間いらずの賢いオケと完全に同時進行でつくることができるので、これは超ラクラク作業と言えると思うねw
まあ、歌うキーボードオーナー限定アプリになってしまうのと、Zkun Jamよりは機能に制限がかかっている部分もあるので、これは後継ソフトではなく、派生ソフトとして独自の進化をさせていくと思うよ。純粋にオケ音源として見た場合でもXGの豊富なエフェクトが使えるなどの特徴をもっているので音源に特化した「NSX JAM」と、PCだけで使える「Zkun Jam」とに住み分けて機能を整備していくことになると思うよ。
散歩していてふとひらめいたよ。連打記号「?, !」の仕組みをちょっと改良してやれば、複雑なカッティングなんかもSMF-PLAYに進化した今の処理速度ならばなんとかなるんじゃないかと。また1つ制御記号の種類が増えることにはなるけれどw(苦笑)
実際につくってみると、出来た!と思ったところまでは早かったけど、そこからの細部調整とバグ取りが結構たいへんなんだよne どうしても自分で考えて自分で作って自分でチェックしてると思い込みや希望的観測でミスを見落としてしまうことが多いよne(大苦笑)
「$」に続けて4文字打てばストローク記号だよ。いつものパターンw 今回は非常にわかりやすくできていて、「O」ならそこでコードストロークするよ。「X」ならそこはミュートするよ。「=」なら鳴ってる音を伸ばす(というか何もしないw)よ。ただ、この「何もしない」というのが実際はクセ者で、コードプレイモードのときは拍の先頭に何か書いてあれば必ず消音、発音をしてコード構成音を取得という基本ルールがあったので、そのタイミングで「$==OX」とか書いた場合の処理のつじつまを合わせるのにかなり苦労したyo 「?, !」の連打記号は単に同一コードを連打するサイクルだけの問題だったけど、「ストローク記号」の制作となると、やはりそんな単純な話ではなかったyo(大苦笑) まあそれでも完成させてしまうんだけどねw(微笑)
ただ、16ビートでシャカシャカと複雑なカッティングができるようになったんだけど、旧再生の「trace-PLAY」では重くて重くて、テンポどころか音源の発音まで悲鳴を上げてる感じになったyo さすがにマック内蔵音源の限界点まで到達したみたいだne まあ、あんな速いデモ曲でカッティングさせるからなんだけどw
制御記号というのは結構面白いね。セレクタやらボタンやらをたくさん作っても、作れるバリエーションには限界があるけれど、制御記号の記述にゆだねれば、数百、数千、数万というオプションをユーザーの手に届けることができるからね。使いこなしはたいへんだろうけど、自由度の多さは重要だよね。有限の音符の組み合わせの軽音楽なのだから、自由度が少ないとすぐマンネリにおちいってしまうよね。ランダム要素を入れながら、いかに実用的なものにするかということを常に狙っているyo(語り笑)
実際につくってみると、出来た!と思ったところまでは早かったけど、そこからの細部調整とバグ取りが結構たいへんなんだよne どうしても自分で考えて自分で作って自分でチェックしてると思い込みや希望的観測でミスを見落としてしまうことが多いよne(大苦笑)
「$」に続けて4文字打てばストローク記号だよ。いつものパターンw 今回は非常にわかりやすくできていて、「O」ならそこでコードストロークするよ。「X」ならそこはミュートするよ。「=」なら鳴ってる音を伸ばす(というか何もしないw)よ。ただ、この「何もしない」というのが実際はクセ者で、コードプレイモードのときは拍の先頭に何か書いてあれば必ず消音、発音をしてコード構成音を取得という基本ルールがあったので、そのタイミングで「$==OX」とか書いた場合の処理のつじつまを合わせるのにかなり苦労したyo 「?, !」の連打記号は単に同一コードを連打するサイクルだけの問題だったけど、「ストローク記号」の制作となると、やはりそんな単純な話ではなかったyo(大苦笑) まあそれでも完成させてしまうんだけどねw(微笑)
ただ、16ビートでシャカシャカと複雑なカッティングができるようになったんだけど、旧再生の「trace-PLAY」では重くて重くて、テンポどころか音源の発音まで悲鳴を上げてる感じになったyo さすがにマック内蔵音源の限界点まで到達したみたいだne まあ、あんな速いデモ曲でカッティングさせるからなんだけどw
制御記号というのは結構面白いね。セレクタやらボタンやらをたくさん作っても、作れるバリエーションには限界があるけれど、制御記号の記述にゆだねれば、数百、数千、数万というオプションをユーザーの手に届けることができるからね。使いこなしはたいへんだろうけど、自由度の多さは重要だよね。有限の音符の組み合わせの軽音楽なのだから、自由度が少ないとすぐマンネリにおちいってしまうよね。ランダム要素を入れながら、いかに実用的なものにするかということを常に狙っているyo(語り笑)
これは以前Zkun Keyboardに搭載していた機能をそのまま移植したものだyo とは言ってもJazz-Pluginのサンプルページにのってたものをそのまま拝借してるだけだけどne(苦笑) これの搭載によって、Zkun Jazz-Pluginシリーズに登場したすべての機能はZkun Jam v4.8で一つに結集したことになるyo これが開発当初からめざしていたことなので、ようやく達成できたyo
機能としては、外部MIDI楽器から録音を行う際に「Harmonizer」メニューのセレクタでハーモナイズ音の高さとオクターブを選択すると、自動的にハーモナイズ音も鳴り、それごと録音できてしまうというわけだよ。これの秀逸なところは、曲のキーと長調/短調を指定することにより、インテリジェントハーモナイザーとして適切な音階を選んでハモらせてくれるところだよ。まあ、これはJazz-Pluginの中の人のアイデアが秀逸なんだけどねw
ところで、録音終了後に録音したフレーズを合体させた曲データを再生したときに、選択しているテンポによっては録音フレーズのテンポがずれて合体される問題を引き続き調査していたんだけど、結論としてはおそらくJazz-Plugin内になんらかのバグがあると思われるよ。理論値どおりに設定し、小数点処理をすべてオフにしても合わないケースがあるので、これはちょっと完全解決は困難だと思うyo ただ、現状でもおそらく内部演算できっちり割り切れる数値の場合はテンポずれが生じないようなので、録音時のみそれらの値に曲テンポを設定しておけば、オケデータと録音データをピタリと合体させることができるyo 「50, 60, 75, 82, 90, 100」のテンポでずれないことを確認しているので、たとえばテンポ72のオケならば、録音時のみテンポを75に一時的に変更しておいて録音すれば、録音データがピッタリと合体されるので、一度合体成功したら、そのあと曲テンポを72に戻せば録音データも追従するyo まあ、一番無難なのは録音を使う予定の曲は最初から上記のいずれかのテンポで作っちゃうことだne(含み笑)
いろいろ条件はつくけれど、録音テンポについてはこういう形で運用することにするyo まあ、実際にZkun Jamで録音までする人が何人いるかはわからないけどne 録音までするならCubase使えばいいだろという人がほとんどだろうからne(まあそうだよな笑)
機能としては、外部MIDI楽器から録音を行う際に「Harmonizer」メニューのセレクタでハーモナイズ音の高さとオクターブを選択すると、自動的にハーモナイズ音も鳴り、それごと録音できてしまうというわけだよ。これの秀逸なところは、曲のキーと長調/短調を指定することにより、インテリジェントハーモナイザーとして適切な音階を選んでハモらせてくれるところだよ。まあ、これはJazz-Pluginの中の人のアイデアが秀逸なんだけどねw
ところで、録音終了後に録音したフレーズを合体させた曲データを再生したときに、選択しているテンポによっては録音フレーズのテンポがずれて合体される問題を引き続き調査していたんだけど、結論としてはおそらくJazz-Plugin内になんらかのバグがあると思われるよ。理論値どおりに設定し、小数点処理をすべてオフにしても合わないケースがあるので、これはちょっと完全解決は困難だと思うyo ただ、現状でもおそらく内部演算できっちり割り切れる数値の場合はテンポずれが生じないようなので、録音時のみそれらの値に曲テンポを設定しておけば、オケデータと録音データをピタリと合体させることができるyo 「50, 60, 75, 82, 90, 100」のテンポでずれないことを確認しているので、たとえばテンポ72のオケならば、録音時のみテンポを75に一時的に変更しておいて録音すれば、録音データがピッタリと合体されるので、一度合体成功したら、そのあと曲テンポを72に戻せば録音データも追従するyo まあ、一番無難なのは録音を使う予定の曲は最初から上記のいずれかのテンポで作っちゃうことだne(含み笑)
いろいろ条件はつくけれど、録音テンポについてはこういう形で運用することにするyo まあ、実際にZkun Jamで録音までする人が何人いるかはわからないけどne 録音までするならCubase使えばいいだろという人がほとんどだろうからne(まあそうだよな笑)
1つ目はコード第5音の転回もやはり指定できないと不便なので定義したyo 上げるときは5番目になるので普通に「^^^^^」で指定するyo(妥当笑) 下げるほうは、通常は4和音までなので、「v」1個を書いたときは第4音から下げていくという動きは変えたくないんだよne そこで第5音を下げる場合は「o」という別の記号を使うことにしたよ。「ov」なら第4, 5音を下げる、「ovv」なら第3, 4, 5音を下げるということになるyo(納得笑)
2つ目は「n」でコード第1音と第2音だけの2和音を作れるけど、これにオクターブ上のルートを足した和音もあったほうが便利だと思ったyo というか、デモ曲(イタリア協奏曲)を打ち込んでいて、それができないとどうしても1音抜けてしまう場合がでてきたので新たに追加したというわけだyo 「k」で第1音+第2音+1オクターブ上のルート音が鳴るyo 第2音はマイナーやsus4の指定で動かすことができるyo
3つ目は「sus2」というコードも追加したyo ぶっちゃけそんなものがあると知らなかったんだけど、Jazz-Pluginを使った他の個人のサイトを見てて知識を得たyo Jazz-Pluginを使った色々なサイトがあるけど、実験的なものや実用性が低いものが多いne(上から笑) 機能の質、量、実用性ともにZkun Jamが世界の先頭を走っているんじゃないかなと思うyo(自負笑)
2つ目は「n」でコード第1音と第2音だけの2和音を作れるけど、これにオクターブ上のルートを足した和音もあったほうが便利だと思ったyo というか、デモ曲(イタリア協奏曲)を打ち込んでいて、それができないとどうしても1音抜けてしまう場合がでてきたので新たに追加したというわけだyo 「k」で第1音+第2音+1オクターブ上のルート音が鳴るyo 第2音はマイナーやsus4の指定で動かすことができるyo
3つ目は「sus2」というコードも追加したyo ぶっちゃけそんなものがあると知らなかったんだけど、Jazz-Pluginを使った他の個人のサイトを見てて知識を得たyo Jazz-Pluginを使った色々なサイトがあるけど、実験的なものや実用性が低いものが多いne(上から笑) 機能の質、量、実用性ともにZkun Jamが世界の先頭を走っているんじゃないかなと思うyo(自負笑)
何をしたかと言うと、「%aR-1」で、「ルートより半音下の4分音符」を指定できるようにしたyo 数値部分は「+4, +3, +2, +1, -1, -2, -3, -4」から選べるyo それ以上増減したいなら、そもそもの対象となる音を変更してne たとえば「%aL+1」にするなどしてw(妥当笑) というのも「+5, -5」は既にコード表記のほうでリザーブされているので使えないという事情もあるんだけどne(苦笑)
これを付加したことで、ピアノパートのコードは鳴らしっぱなしのまま、ベースのルート音だけを半音単位で動かすことが出来るので、次のコードにつなぐための経過音を鳴らすことができるようになるというわけだyo これまでもコード表記のほうで「Am/G」のように分数指定にしてルート音を変更する方法があったけど、これだとそこでピアノパート自体が分数コードでストロークし直すよ。今回のオートベース記号による指定だと、ピアノパートは何もせず、ベースだけを下行させることができるようになったというわけだyo なかなか選択の幅が広がってきただろ?(ドヤ顔笑)
まあ、コード指定特殊記号、アルペジオ記号、オートベース記号、と追加されて、何がなんだかわからなくなってきた人もいるだろうne(苦笑) とにかく、Zkun Jamの画面下部にすべての表記リファレンスをのせているから、常にそれを見ながら書くようにすればいいyo 実際、作者であるボク自身も見ながらでないとまだ書けないからw(失笑)
最大マックスでどんなコード欄の記載になるかやってみると、
「C#sus4 M7+5(#11 b13)/Ablvvvv*RLMH%aO-4」というのが現実的にありうる指定ということになるyo(呆れ笑)
「C#sus4 M7+5(#11 b13)/Ab」までは、まあ楽典どおりに理解してくれw 「lvvvv」は第1〜4音をオクターブ下に下げて、第1音はさらにオクターブ下という激低音指定だyo 「*RLMH」はアルペジオ指定で第1〜4音に順にかけ上がるパターンを指定してるよ。「%aO-4」はオートベース記号で4分音符長で第1音のオクターブ上の音から4半音下げた音でベース音を鳴らすという指定だyo この場合は分数コードになっているのでJamの第1音にはAbの音が入っているから、それからの-4になるからEの音が鳴るということになるyo
やろうと思えば1拍あたりにこれだけの指定をぶち込むことができるようになったけど、そこまでやる気がない人は単に「Am」や「G7」とかだけでも全く同じようにちゃんと動くというわけだyo 初心者から超絶マニアまでが使うことのできる懐の広い設計になってるというわけだyo(感心笑)
これを付加したことで、ピアノパートのコードは鳴らしっぱなしのまま、ベースのルート音だけを半音単位で動かすことが出来るので、次のコードにつなぐための経過音を鳴らすことができるようになるというわけだyo これまでもコード表記のほうで「Am/G」のように分数指定にしてルート音を変更する方法があったけど、これだとそこでピアノパート自体が分数コードでストロークし直すよ。今回のオートベース記号による指定だと、ピアノパートは何もせず、ベースだけを下行させることができるようになったというわけだyo なかなか選択の幅が広がってきただろ?(ドヤ顔笑)
まあ、コード指定特殊記号、アルペジオ記号、オートベース記号、と追加されて、何がなんだかわからなくなってきた人もいるだろうne(苦笑) とにかく、Zkun Jamの画面下部にすべての表記リファレンスをのせているから、常にそれを見ながら書くようにすればいいyo 実際、作者であるボク自身も見ながらでないとまだ書けないからw(失笑)
最大マックスでどんなコード欄の記載になるかやってみると、
「C#sus4 M7+5(#11 b13)/Ablvvvv*RLMH%aO-4」というのが現実的にありうる指定ということになるyo(呆れ笑)
「C#sus4 M7+5(#11 b13)/Ab」までは、まあ楽典どおりに理解してくれw 「lvvvv」は第1〜4音をオクターブ下に下げて、第1音はさらにオクターブ下という激低音指定だyo 「*RLMH」はアルペジオ指定で第1〜4音に順にかけ上がるパターンを指定してるよ。「%aO-4」はオートベース記号で4分音符長で第1音のオクターブ上の音から4半音下げた音でベース音を鳴らすという指定だyo この場合は分数コードになっているのでJamの第1音にはAbの音が入っているから、それからの-4になるからEの音が鳴るということになるyo
やろうと思えば1拍あたりにこれだけの指定をぶち込むことができるようになったけど、そこまでやる気がない人は単に「Am」や「G7」とかだけでも全く同じようにちゃんと動くというわけだyo 初心者から超絶マニアまでが使うことのできる懐の広い設計になってるというわけだyo(感心笑)
Zkun Jamを支えている大黒柱はなんと言ってもオートベースだよne そのへんのつまらないシークエンスソフトや伴奏機材なんかよりも、はるかに柔軟で多彩なフレーズを吐き出してくれてるよne これの開発を成功したときに「このソフトはイケるw」と確信を持ったyo 内部ロジックはそのへんのヘッポコベーシストの頭の中とほぼ同等の演算を高速で間違いなくやってくれるので、実際性格的に問題のあるベーシストよりかは、はるかに有能だと思うyo(妥当笑)
そんな偉大なオートベースはデビュー以来ほとんど手をつけてこなかったyo 手をつける必要がないというのもあったけど、かなり複雑に動いているので、ちょっとやそっとの覚悟では修正もおぼつかないくらいややこしいんだyo これをいじるならば、絶好調で内部も隅々までケアできている今しかないでしょwということで着手してみたyo
そもそもの動機は、これまではオートベースがふさわしくない場面では、そこだけオリジナルプレイにモード変更して、打ち込みフレーズを鳴らせばよかったんだけど、最近作ったキーボードパートがオリジナルフレーズを使用してる場合だとそうもいかなくなってきたんだよne 饒舌なオートベースに少し静かにしてほしいんだけど、かと言ってベースをオフにしちゃうと明らかに曲の体裁がおかしくなるよne そこで、コマンドを送って地味にルートの長音などを弾かせることをできるようにしようと考えたわけだyo まあ、アルペジオ記号の応用みたいなもんだけどne そのアルペジオ記号もコード指定特殊記号の応用みたいなものだけどne 開発を続けているといろんなヒントがころがっているというわけだyo
さらに、これまでメインのグルーブを指定する「Hits A」を手動で設定し、あとはB(固定)やC(変動)はランダムに選ばせるという方式だったけど、「HitsB」も手動またはランダムを選べるように改良したyo これで、特定のAとBのコンビネーションを指定しつつも、4拍目はさらに別のパターンをランダムで入れるということも可能になったので、1小節の中でも細かく指定しつつ変化もつけやすくなったyo
さらには、「AAAB」などの1小節のHits Changeのパターンもこの機会に一挙に増量したyo これはプログラム的には単純なことなんだけど、「HitsB」の個別指定が可能になったことで増やす意味が生まれたというところがあるんだよne
これらもすべて完全上位互換で読み書き対応させているので、新機能を特にいじらないなら全く従来どおりに使えるyo それがzkunの方針だからne
オートベース以外にも大きく変更したところがあるyo 「Recording」のメニューを廃止して、再生ボタンなどと統合させたyo 「REC」「PLAY」という感じでボタン1つに凝縮させたyo 動作自体は変わってないyo 録音終わって「STOP」を押したら、オーバーダブしていいかきいてきて、OKなら録音され、キャンセルなら元と変わらず、という動作だyo ボタンがあっちにもこっちにもあると誤動作のもとなので、1つに統合できるならば統合しようというわけだyo おかげでメニューが1つ減ってレイアウトがすっきりしたyo
あと、これまでのSMF-PLAYを「PLAY」に、旧PLAYを「trace-PLAY」に名称変更したyo 今後は速度的にも勝る「PLAY」をメインにすえて、「trace-PLAY」は進行チェックなど補助的に使うものという位置づけにするyo 高機能化とともに速度的にきつくなってきてるからne でも、ラジオボタンでプレイ位置を表示できる機能や、開始位置を指定して再生する機能はSMF-PLAYには無い機能なので、今後も作曲・編集時用ツールとしてその役目をはたしてもらうことにするyo(感謝笑)
そんな偉大なオートベースはデビュー以来ほとんど手をつけてこなかったyo 手をつける必要がないというのもあったけど、かなり複雑に動いているので、ちょっとやそっとの覚悟では修正もおぼつかないくらいややこしいんだyo これをいじるならば、絶好調で内部も隅々までケアできている今しかないでしょwということで着手してみたyo
そもそもの動機は、これまではオートベースがふさわしくない場面では、そこだけオリジナルプレイにモード変更して、打ち込みフレーズを鳴らせばよかったんだけど、最近作ったキーボードパートがオリジナルフレーズを使用してる場合だとそうもいかなくなってきたんだよne 饒舌なオートベースに少し静かにしてほしいんだけど、かと言ってベースをオフにしちゃうと明らかに曲の体裁がおかしくなるよne そこで、コマンドを送って地味にルートの長音などを弾かせることをできるようにしようと考えたわけだyo まあ、アルペジオ記号の応用みたいなもんだけどne そのアルペジオ記号もコード指定特殊記号の応用みたいなものだけどne 開発を続けているといろんなヒントがころがっているというわけだyo
さらに、これまでメインのグルーブを指定する「Hits A」を手動で設定し、あとはB(固定)やC(変動)はランダムに選ばせるという方式だったけど、「HitsB」も手動またはランダムを選べるように改良したyo これで、特定のAとBのコンビネーションを指定しつつも、4拍目はさらに別のパターンをランダムで入れるということも可能になったので、1小節の中でも細かく指定しつつ変化もつけやすくなったyo
さらには、「AAAB」などの1小節のHits Changeのパターンもこの機会に一挙に増量したyo これはプログラム的には単純なことなんだけど、「HitsB」の個別指定が可能になったことで増やす意味が生まれたというところがあるんだよne
これらもすべて完全上位互換で読み書き対応させているので、新機能を特にいじらないなら全く従来どおりに使えるyo それがzkunの方針だからne
オートベース以外にも大きく変更したところがあるyo 「Recording」のメニューを廃止して、再生ボタンなどと統合させたyo 「REC」「PLAY」という感じでボタン1つに凝縮させたyo 動作自体は変わってないyo 録音終わって「STOP」を押したら、オーバーダブしていいかきいてきて、OKなら録音され、キャンセルなら元と変わらず、という動作だyo ボタンがあっちにもこっちにもあると誤動作のもとなので、1つに統合できるならば統合しようというわけだyo おかげでメニューが1つ減ってレイアウトがすっきりしたyo
あと、これまでのSMF-PLAYを「PLAY」に、旧PLAYを「trace-PLAY」に名称変更したyo 今後は速度的にも勝る「PLAY」をメインにすえて、「trace-PLAY」は進行チェックなど補助的に使うものという位置づけにするyo 高機能化とともに速度的にきつくなってきてるからne でも、ラジオボタンでプレイ位置を表示できる機能や、開始位置を指定して再生する機能はSMF-PLAYには無い機能なので、今後も作曲・編集時用ツールとしてその役目をはたしてもらうことにするyo(感謝笑)
ランダムにコード進行を埋める際、条件に合うものがどうしても選べない場合にフリーズしてしまうケースがあったので、これを改めて、特定回数ランダムでやっても駄目なら先頭からシラミつぶしで照合していき、それでも駄目なら最悪一番末尾の進行を使うという方式に変更したyo やはりフリーズはよくないからne(妥当笑) あと各行末尾のコードが7thでない場合は7thにするように変更してみたyo
レコーディングの際、先にオケの再生が終了した場合、レコーディングメニュー内の「STOP」ボタンも連動してdisableになっていたけど、これだと録音終了ができなくなってしまうので挙動を変更したyo あくまでも録音中はレコーディングメニュー内の「STOP」を押すまでは録音が継続され、それを押した時点で書き込みをするかどうかのダイアログが出るという仕様だyo(作者以外わかってない笑)
曲データを読み込んだとき、曲全体が3ビートの場合は各小節のラジオボタンを12個だけ表示するようになっていたけど、小節単位でのビート変更が含まれていてもそれは表示には反映されてなかったんだけど、これも演奏データ通りに見た目も反映させるように変更したyo これで「Demo Bird」のような変則拍子の曲を読んだときも、見た目で小節の長さがわかりやすくなったyo(妥当笑)
こういう地道な改善が完成度を高めていくと信じているyo(含み笑)
レコーディングの際、先にオケの再生が終了した場合、レコーディングメニュー内の「STOP」ボタンも連動してdisableになっていたけど、これだと録音終了ができなくなってしまうので挙動を変更したyo あくまでも録音中はレコーディングメニュー内の「STOP」を押すまでは録音が継続され、それを押した時点で書き込みをするかどうかのダイアログが出るという仕様だyo(作者以外わかってない笑)
曲データを読み込んだとき、曲全体が3ビートの場合は各小節のラジオボタンを12個だけ表示するようになっていたけど、小節単位でのビート変更が含まれていてもそれは表示には反映されてなかったんだけど、これも演奏データ通りに見た目も反映させるように変更したyo これで「Demo Bird」のような変則拍子の曲を読んだときも、見た目で小節の長さがわかりやすくなったyo(妥当笑)
こういう地道な改善が完成度を高めていくと信じているyo(含み笑)
重要なことに気付いたyo 旧再生のほうでは、「レファラレ」というコードから「ファラレファ」という高いコードに移る場合、プログラムのループ処理の順番の都合で前のファを消したときに新しいファも消音されてしまうという現象が起こっていることに気付いたyo なるほど、単純にコード構成音第1から第5に向けて、各々消音→発音の順で処理していたから、たった今鳴らした新しい音が消そうとしている音と同じ高さだったら消音されてしまうよなw(納得笑)
というわけで、先に消音を全部処理し終えてから、発音を全部やるという処理順に変更したyo これでスッキリ問題解決したyo しかし去年の夏からやってるのに今までこの問題に気付いてなかったとはw(大苦笑) つくづくあまりキーボード和音を弾かないボクだということがバレてしまうようだne
このブログに掲載しているマニュアルへのリンクも画面下部につけたyo まだ書き上げてないマニュアルもあるので、早々に埋めていこうと思うyo 言葉で説明するのはけっこう難しいんだよne 特に英単語でもなるべく意味をとれるようにしてるんだけど、内容が込み入ってくると、日本語で説明することでやっとという場合も多くなってきてるんだよne
あと、新機能もつけたyo 「CHORD MENU」に「ランダム進行で埋める」というボタンをつくったyo これを押すと、今表示されているスコアシートをランダムに選んだ4コード進行で埋めていくyo 一応、4小節ごとに強進行でつながるようにトランスポーズだけはしてあるよw(失笑) 最後の小節は先頭に続くように、つながりやすいようなパターンが選べるまでループさせてるので、たまにフリーズするかもしれないyo 上のセレクタでスタートキーと短調か長調かだけは選べるようになってるyo まあ、お遊び的な機能なのでこれで自動作曲とは言わないけど、部分的にハッとするようなコード進行が埋もれているのを発見することができるので、アイデア探しに利用すればおもしろいかもしれないyo(含み笑) もうちょっと素材となっている4小節コード進行の量と質を上げたいところだne なんせ今入れてるやつは2ちゃんで拾った4コード進行だから、ネタやジョークのもまざってると思うからne どっかのサイトで良質のものをまとめてないかなw(物色笑)
というわけで、先に消音を全部処理し終えてから、発音を全部やるという処理順に変更したyo これでスッキリ問題解決したyo しかし去年の夏からやってるのに今までこの問題に気付いてなかったとはw(大苦笑) つくづくあまりキーボード和音を弾かないボクだということがバレてしまうようだne
このブログに掲載しているマニュアルへのリンクも画面下部につけたyo まだ書き上げてないマニュアルもあるので、早々に埋めていこうと思うyo 言葉で説明するのはけっこう難しいんだよne 特に英単語でもなるべく意味をとれるようにしてるんだけど、内容が込み入ってくると、日本語で説明することでやっとという場合も多くなってきてるんだよne
あと、新機能もつけたyo 「CHORD MENU」に「ランダム進行で埋める」というボタンをつくったyo これを押すと、今表示されているスコアシートをランダムに選んだ4コード進行で埋めていくyo 一応、4小節ごとに強進行でつながるようにトランスポーズだけはしてあるよw(失笑) 最後の小節は先頭に続くように、つながりやすいようなパターンが選べるまでループさせてるので、たまにフリーズするかもしれないyo 上のセレクタでスタートキーと短調か長調かだけは選べるようになってるyo まあ、お遊び的な機能なのでこれで自動作曲とは言わないけど、部分的にハッとするようなコード進行が埋もれているのを発見することができるので、アイデア探しに利用すればおもしろいかもしれないyo(含み笑) もうちょっと素材となっている4小節コード進行の量と質を上げたいところだne なんせ今入れてるやつは2ちゃんで拾った4コード進行だから、ネタやジョークのもまざってると思うからne どっかのサイトで良質のものをまとめてないかなw(物色笑)