2023年01月29日

LaVoixski@ChromaticModeの音程を微調整した際に発生するバグの解消を行う

ChromaticMode のルート音を微調整した際に不連続面が発生するバグを発見した。

原因は、低音域の音階にファインチューンが行われていない不手際にあったので、これをフィックスしたのだが、、、

Screen Shot 2023-01-29 at 0.31.58.png

必要とされる計算が増えた結果 RAM1 が破綻したので、音階の判定を行う高音側のレンジを1オクターヴ減らして対応することになった。

Screen Shot 2023-01-29 at 0.30.04.png

追記1:

昨日からテルミンのテスト運用を繰り返しているが、ピッチシフトの初期化を行うための発動条件として設定していたトップスイッチの3クリックは、トリガの入力を取りこぼす傾向にあることが判明した。



トリガの判定を確実に行うために、トリガが発動する条件をスイッチの LongPush に変更する一方で、3クリックには新たにスケール選択をクロマティック・スケール=初期状態に戻す機能を持たせた。

Screen Shot 2023-01-29 at 11.32.20.png

追記2:

GUIの改良を行う作業の一環として、ChromaticMode のパラメータの状態を表示するフォントを1サイズ大きくした。

IMG_9302.JPG

デザインのバランスよりも視認性を優先した結果だが、これでもまだ小さく感じる。

「事前の仕込み」を前提に構築していたGUIのデザインに根本的な発想の転換が必要になってきた。

追記3:

ChromaticMode選択時の表示切替を簡素化した結果、

Screen Shot 2023-01-31 at 19.02.20.png

Chromaticの判定領域を従来の7オクターヴに戻すことが出来た。

追記4:

ライヴ直前に機材をいじるのはご法度なので、しばらくソフトウエアを含めた変更は行わないことにしているが、期日前の最後の調整として、スケールのシフトパターンを±5nnに増やすことにした。

Screen Shot 2023-02-04 at 8.46.09.png

結果、11nn分のヴァリエーションが確保されたのだが、この変更によって新たに分散和音っぽい効果が得られるようになった。
posted by Yasuski at 00:11| LaVoixski

2023年01月27日

LaVoixski@ScaleのrootKeyを選択するパラメータの追加を行う

実用上、Scale の Key を変更できないと話にならないことに気付き、rootKey を変更するパラメータを PitchTune の裏側に仕込むことにした。

Screen Shot 2023-01-27 at 1.36.14.png

これで、ダイアトニックやマイナー・スケールを選択した時の辻褄合わせが完了したのだが、

Screen Shot 2023-01-27 at 2.03.06.png

ライヴでキーを切り替えるのは至難の業で、実用性を考えた場合は別に UI を開発する必要があるだろう。

パラメータの追加に合わせて、VolumeTune に Scale セレクタを配分し、スレッショルド設定は 2Voice(赤)で行う。

IMG_9299.JPG

今回はロータリーエンコーダ分の変数の追加で RAM の使用量に限界が出てしまったので、立ち上げ冒頭に表示される白猫イラストの登録を抹消してgfxの消費を抑えた。

幸いにも、黒猫(ジョバやんは黒猫)は問題なく表示出来たので、これを残して今宵の作業は終了。

IMG_9298.JPG

追記:

夢の中でピッチシフトをトップスイッチにアサインする案を思いついたので、目が覚めてから早速実行に移す。

が、相変わらずRAM1が破綻したので、スタートアップで行っていたアイコンパレードを廃止することにした。尚、黒猫ロゴは温存している。

トップスイッチのシングルクリックで+1nn、ダブルで-1nn、

Screen Shot 2023-01-27 at 9.18.04.png

トリプルでゼロに復帰する。

Screen Shot 2023-01-27 at 9.54.21.png

実際に演奏してみた。



自由な演奏を行うためには、フットスイッチによるリモコン機構の導入が急務。

追記2:

ChromaticMode選択時に各パラメータを一度で視認出来るように、GUIを改良した。

IMG_9301.JPG
posted by Yasuski at 02:04| LaVoixski

2023年01月24日

LaVoixski@ChromaticModeの改装を行う

遣い勝手を悪く感じていた Chromatic Mode の初期設定を"HOLD"に変更した。

Screen Shot 2023-01-24 at 12.42.50.png

ノブを回すと最小値に設定される。

Screen Shot 2023-01-24 at 12.44.02.png

多項目にパラメータが分散していたので、設定の変更に予想外の手間が掛かってしまった。

Screen Shot 2023-01-24 at 12.39.01.png

Chromatic スケール変換時に変換誤差によって生じるノイズを軽減する手段として、pitchNoteにEMAを掛ける項目を追加しているが、、、

Screen Shot 2023-01-24 at 12.42.21.png

完全なノイズの抑制には至っていない。

追記:

その後、ChromaticModeにスケールの切替機構を導入した。

Screen Shot 2023-01-24 at 18.55.18.png

パラメータは、TRES mode で MUTE を選択したときにUpperEncoderにアサインされる。

Screen Shot 2023-01-24 at 19.09.58.png

単純にSwitchで設定したスケールを切り替える方式がメモリの破綻で頓挫したので、変則技としてクロマチックスケールの特定の音列配分にオフセットを付加する形で音程の関係にヴァリエーションを持たせることにした。
ただし、配列にはチューニングの必要があり、今後は効率的な切替機構の検討を行っていくことになる。

1nn を±シフトした場合は Cmaj スケールに、2nn の場合は音階が上下する妙な効果が得られる。 

RAMの使用量を抑えつつ、それなりの処理速度が担保される手法として、16bitのバイナリに音階操作のデータを仕込んで、bitReadで音階をシフトするパターンを切り替える仕掛けを思い付いたのだが、実用になるかは判らない。 

実際にコンパイルが通るコードを組めてはいるが、残念ながらRAM1のマネージメントが破綻して、実行は不可能だった。

Screen Shot 2023-01-25 at 0.06.56.png

RAM1の破綻はGUIの項目量との関連が強く、経験上GUI側にダイエットを行えばなんとかRAM1の使用量を抑えることが出来るのだが、オマケ的な立ち位置の ChromaticMode にそこまでの優先順位は無いのが微妙なところではある。

追記2:

クロマチック音階を付与する際に発生していた変換ノイズの問題を解決することができた。

Screen Shot 2023-01-25 at 7.03.02.png

ノイズが発生していた原因は、通常モードに於いて「データの不連続面」を補完する機構とクロマチックモードとのミスマッチにあったので、スケール化された出力を補完機構には入力せず、出力側とリプレイスすることで問題は回避された。



追記3:

オフセットを追加する関数を減算から加算に変更することで、スケールにヴァリエーションを持たせることが出来た。

Screen Shot 2023-01-25 at 16.53.20.png

なんとなく、ホールズワースっぽいフレーズ生成器になってしまった。



今回行った改変では、速いパッセージの演奏に対応するためにフィルタの設定を軽めにチューンしている。

Screen Shot 2023-01-25 at 22.53.35.png

撮影の過程で感じた遣い辛さから、結局 4Voiceと THRES 選択時に HoldTime にアクセスするようにパラメータの配分を変更し、他のケースには従来通り ScaleSelector の機能を持たせることにした。

Screen Shot 2023-01-25 at 22.55.01.png

画面中右位置の ChromaticMode 系の表示は、機能に準じてパラメータが切り替わるようにコードを書き換えている。

Screen Shot 2023-01-25 at 22.53.58.png

IMG_9288.JPG

IMG_9294.JPG

現状では新たに表示系を追加した途端に即RAMが破綻するのだが、今回は起動時に行っていたモデルのヴァージョンと製作者の表示を削除することでなんとか辻褄を合わせることが出来た

追記4:

ChromaticModeの起動時間をHoldにすると、THRESで設定した作動条件が無効になるバグをフィックスした。

Screen Shot 2023-01-26 at 9.27.41.png

追記5:

VolumeTune の頁に、パラメータ "ChromOn" を配分した。

Screen Shot 2023-01-26 at 11.26.35.png

IMG_9296.JPG

これで、"ChromOn" の操作が可能な頁を、4 Voice を含めて2つに増やすことが出来た。

Screen Shot 2023-01-26 at 11.27.18.png

VolumeTune は実質 2 Voice mode の領域なので、

IMG_9295.JPG

操作に混乱は生じなさそうだが、念の為にLEDの発色を機能の変更と連動させておいた。

Screen Shot 2023-01-26 at 12.23.23.png
posted by Yasuski at 12:51| LaVoixski

2023年01月22日

LaVoixski@OverDrivenWaveformによる歪み系GuitarSoundのシミュレート

ギターアンプによるフィードバック奏法っぽい音色をシミュレートした。



基音に5度や12度を足すことで、フィードバックのニュアンスを変えている。

ソフトウエア上では、予めレベル超過が発生するようにMixLevelを調整しつつ、、、

Screen Shot 2023-01-22 at 22.54.24.png

非線形処理を行うリミッターによって、マイルドなクリップが発生するように工夫を行っている。

Screen Shot 2023-01-23 at 7.40.13.png

一方、アナログ的な手当として、通常1/2VCCに設定されているOpAmpのBIAS電圧をGND電位に落とすことで

Screen Shot 2023-01-22 at 23.00.05.png

出力波形に半波整流のような効果を与えている。 

Screen Shot 2023-01-22 at 23.20.18.png

実際の回路では回路図に示したダイオードを抵抗に置き換えているが、最新の回路では急激な電位の変化によってポップノイズが発生する欠点をカヴァーするために、スイッチ動作に時定数を持たせたFETで構成したアナログスイッチを導入することになった。

Screen Shot 2023-01-23 at 7.52.51.png
posted by Yasuski at 22:03| LaVoixski

2023年01月21日

LaVoixski@Op3Selector/EXCITERの操作法

Exciterのページは、異なる機能の寄せ集め的なところがあり、構造を理解することが難しい。

まず、最も使用頻度が高そうなのが、Op3 (OutputThree) の切替スイッチで、その機能は LowerEncoder に集約されている。



セレクタは、5オシレータの単独出力を、Transition、Normal、Exciter の3モードに切り替える。

単独出力のうち、ExciterMode では、Chebyshv Transfer を使った倍音構成を変更する形式の波形変換を行う。

倍音の構成は Fundamental から 5th までの5つで、UpperEncoder によって配分をプリセットする。



変換に使用する関数は、任意(3アドレス)の Wavetable に保存される。 ExciterMode を選択したときの UpperEncoder はデフォルトの状態でこの Wavetable のセレクタにアサインされている。

Wavetable Selector の次の項目からは、LPF 関連のパラメータが配分されている。



LPF には Cut Off Frequency が固定状態の FIx Mode とモジュレータが稼働する Mdulated Mode が設定されている。 この Modulator の LFO は Wavetable 方式で、変調を行う波形を準備された8種類の中から選択することが出来る。

追記:

使い勝手を改善するために並列化された LPF1/2 の UI。



追記2:

モードの切替に伴って GUI を LED の表示を連携させる改良を行った。



Screen Shot 2023-01-22 at 17.23.31.png
posted by Yasuski at 15:56| LaVoixski

2023年01月20日

LaVoixski@waveMixModeの操作法



波形表示の詳細を解説していないので、イマイチ解り難いかもしれない。Waveformについては別撮りで整理すべきか。

白く見えているのは左右の合成出力の波形で、モノラルの場合は白に、左右で差分が出る場合はCYANとMAGENTAに分かれる。

Screen Shot 2023-01-20 at 20.49.28.png

赤と青は、Transitionを掛けない状態の合成波形を左右別に表示している。オシレータの分配を左右に振っている場合には異なる波形が表示される。

Screen Shot 2023-01-20 at 20.52.16.png

緑はOP3(3番目の出力)で、選択されたオシレータ出力が表示される。出力モードはNormalとTransitionに加えて、ChebyshevTransferを選択できる。

目玉スイッチをダブルクリックで、右チャンネルを逆位相に設定=表示が反転したりと結構ややこしい。
posted by Yasuski at 18:07| LaVoixski

2023年01月19日

LaVoixski@ChromaticModeの操作法



動作ポイントを設定するスレッショルドにヒステリシスを持たせることで、低レベル領域に不感帯を設けた方が遣い勝手が良いかもしれない。

IMG_9216.JPG

何れにしてもオマケ要素の高い機能だが、いまのところ気になる「音荒れ」の原因は究明出来ていない。

追記:

稼働時間(この場合は4.75秒、6秒以上はHOLDとなる)を決定するタイマーの制限時間を超えてChromaticModeがINACTIVEになった状態を表示できるようにした。

IMG_9287.JPG
posted by Yasuski at 10:47| LaVoixski

2023年01月18日

LaVoixski@PitchBend/LPFの操作法

VolumeLevelをトリガーとして作動するエフェクト群のうち、PitchBendとLFOの操作法を解説した映像をアップロードした。



各エフェクトのトリガーは、UpperEncoderで mode2/case 9: を選択して、LowerEncoder の mode4/case x: に該当するエフェクトのトリガーが作動するスレッショルド・ポイントを UpperEncoder で設定する。

Screen Shot 2023-01-19 at 8.12.48.png

NORMAL MODEでは、Pitch/Volumeに掛けるEMA(フィルター)パターンの選択を行う。 
現時点では、MUTE MODE にパラメータはアサインされていない。

PITCHBEND MODE 選択時のUIはこのような表示になり、UpperEncoder で波形表示部左下の AtkEnv: の数値を設定する。 画像はゼロ・ポイントよりも左側に回した状態で、BencUp が選択されている。

Screen Shot 2023-01-19 at 2.01.13.png

BendUp/Downの切替は、AtkEnv: のゼロ・ポイントを境目に行うが、値が”ゼロ”の時には PHASER MODE が発動する。

Screen Shot 2023-01-19 at 2.01.47.png

LFOのSpeedRateの切替も、同様に LfoDep のゼロポイントで行うが、

Screen Shot 2023-01-19 at 2.02.51.png

Speed は PHASER MODE と同じく、Arpeggiator の設定に依存する。

IMG_9242 2.JPG
posted by Yasuski at 19:53| LaVoixski

LaVoixski@モジュレータの構造を変更したPhaserのインターフェイスを整理する

PhaserModeのインターフェイスは、LPF3/4のモジュレータとArpeggiatorのSpeedとパラメータを共有していて、、、

Screen Shot 2023-01-18 at 11.23.46.png

リアルタイムな運用は想定されていない。 

PhaserのモジュレータのRATE設定は、ArpeggiatorのSpeedにより行われるが、Phaserを構成する構造からSpeedの設定値が極端に短い場合にPitchShiftが発生する。

一方、LPF3/4のモジュレータを設定するパラメータは2つあって、、、 

Screen Shot 2023-01-18 at 8.44.44.png

pot00k は波形読み出しポイントのリセットを行う頻度を決定する。 

Phaserを選択した場合には、この項目を最小の値に設定して使用することが推奨される。

pot00m はモジュレータのRATEに設定する倍率を決定する。



基本的に、モジュレータを共用するLPF3/4とPhaserの同時使用は想定されておらず、使用者はどちらか一方の効果を選択することになる。 (設定次第で共用は可能ではある)

このシステムに於けるPhaserはフィルターで構成された一般的なものではなく、リードポイントをシフトすることでオシレータの位相そのものを操作する構造なので、「効き」のニュアンスが微妙に異なるかもしれない。
posted by Yasuski at 13:21| LaVoixski

2023年01月17日

LaVoixski@Effect (Output) Modeの実演

システムの立ち上げ後、LowerKnob にデフォルト状態で表示されるEffect(Output)Modeのアウトラインを映像化した。



インターフェイスの配分は、mode4 の case: 4 に該当する。 初期設定は、YELLOW = NORMALで、PHSER/PITCHBEND → MUTE→LFO→CHROMATIC→NORMAL と円環する。

EncoderDescription.drawio.png

元々ここは MUTE = BLACK を割振っていたパートで、其処にエフェクトを選択する機能を組み込んでいった経過がある。

Screen Shot 2023-01-17 at 19.49.47.png

NORMAL と MUTE 以外を選択した場合、UpperKnob は各エフェクトのパラメータ設定に割振られる。

Screen Shot 2023-01-17 at 19.53.17.png
posted by Yasuski at 19:39| LaVoixski

2023年01月14日

LaVoixski@オシレータ周りの改良を行う

オシレータのバッファー出力とグランドを繋ぐ抵抗 R3 を4.7kから

Screen Shot 2023-01-14 at 21.37.29.png

10kに変更することで、出力レベルを若干上げることを試みた。

Screen Shot 2023-01-14 at 19.26.06.png

結果、シャックリの発生頻度を減らすことが出来ているが、完全にゼロにはならないところが残念。

追記:

オシレータの動作確認を行う過程でMUTE機能の不具合が発生する原因を特定し、問題の箇所を修正した。

Screen Shot 2023-01-15 at 16.26.37.png

要は、ミュートを行っていたつもりが別のサブルーチンで立てられたフラグによってミュートが無効化していたのだが、プログラムの構造を単純化することで問題を解決出来た。

追記2:

オシレータに纏るシャックリ問題は、トランジスタ・アレイの交換で解決した。

IMG_9285.JPG

やはり、hfeが異常に低いハズレの個体を掴んでしまったことが原因だったようだ。

トラブルが発生した根本的な原因は、S/Nを重視してTHATS340という低hfeなデバイスを実験的に選択したことにあるのだが、出来ればPitch側だけでもよいから基板の配線をいじってhfeの高い(2倍程)MPQ6100にリプレイスすべきだろう。

IMG_8937.JPG

追記3:

極低音域(殆どDC)の再生能力を実証した。



リップル成分を除去するためにフィルターを”4”に設定した影響で、Pitchの揺れは殆ど感じられない。

反面、レスポンスが犠牲になっているので、このケースは特殊な用法といえる。
posted by Yasuski at 19:33| LaVoixski

LaVoixski@Arpeggiatorの和声モードを拡張する

単音構成だった、アドレス#9から13のアルペジエータを和声モードに変更した。

Screen Shot 2023-01-14 at 13.15.29.png

VoiceModeの選択に合わせて、1 〜 4 voiceの出力を自動的に設定する。

なお、SequenceMode発動時の和声は、、、

Screen Shot 2023-01-14 at 13.20.43.png

2声に限定される。

追記:

3声だった 3VoiceMode の Arpeggiator を2声に減数した。 

Screen Shot 2023-01-15 at 14.19.26.png

3声に設定した当初はゴージャスな和声の効果が欲しかったのだろうが、VoiceMode間の差異が無くなってしまうのでは意味が無いと考えて、敢えて減数処理を行うことになった。

Transitionの分配パターンを考慮した結果、Arpeggiatorが1周する間ピッチがロックされる機能を使って、アタック感のあるエンベロープで主旋律を演奏することが可能となった。

同時に、dacOutFourをOSC_dに変更して、ドローン出力をモノラル・アウト出来るようにした。
posted by Yasuski at 13:23| LaVoixski

2023年01月13日

LaVoixski@PORTSET/CLEARを復活させる

Teensy3.6で動作していたpin直打ち命令が、Teensy4.1から動作不良を起こしていた件の続報。

digitalWriteFastのライブラリを検討した結果、CORE_PINx_PORTSET(CLEAR) = CORE_PINx_BITMASK; と記述することで、pinを判定する条件分岐

Screen Shot 2023-01-13 at 12.46.46.png

をスキップして直打ちが可能なことが判明した。

Screen Shot 2023-01-13 at 10.07.44.png

同様に、digitalReadFastの場合は (CORE_PIN19_PINREG & CORE_PIN19_BITMASK) ? 1 : 0; と記述することで、こちらもpinを判定する条件分岐をスキップすることができた。

Screen Shot 2023-01-13 at 10.06.52.png

結果としてdacHandlerへのデータ転送ルーティンが高速化されるために、データがピックアップ出来るか心配だったが、いまのところ問題は発生していない。

追記:

InputCaptureに割振った端子の設定を、22K Ohm Pull Up & Hyst に変えたが、シャックリ現象の発生頻度に関しては若干の改善が見られる程度だった。

Screen Shot 2023-01-13 at 19.28.24.png

Screen Shot 2023-01-13 at 19.46.05.png

Screen Shot 2023-01-13 at 19.49.48.png

追記2:

動作がもどかしかったロータリーエンコーダのシングル/ダブルクリックの設定を400msに変更した。

Screen Shot 2023-01-14 at 0.01.54.png
posted by Yasuski at 10:49| LaVoixski

2023年01月12日

LaVoixski@コルピッツ・オシレータの設定を再考する

今回行ったシミュレーションは、低めの周波数に設定することを前提にC2/C3の値を470pFから1nFのほぼ倍に設定している。

Screen Shot 2023-01-12 at 22.02.35.png

実際の回路ではVariCapに印加する電圧の最大値を3.3Vから5Vに引上げているので、高い周波数方向のカヴァー領域が増えている筈だ。

Screen Shot 2023-01-13 at 3.38.50.png

オシレータにアンテナを繋ぐと「シミュレーションの結果」よりも発振周波数が激落ちするので、これはあくまでも参考値に過ぎないのだが、、、

Screen Shot 2023-01-12 at 22.34.28.png

周波数が低下するアンテナ接続側オシレータの補正幅を、高い周波数側に引き上げることで対処している。

Screen Shot 2023-01-12 at 22.39.05.png

アンテナ接続分のドリフトを想定して予めこのような数値のペアを組むことになるのだが、VariCapの可変レンジを超えた場合はさらに微調整を行うことになる。
posted by Yasuski at 22:06| LaVoixski

LaVoixski@新しく設計した基板にFPGAの実装を行った

新しく設計した基板3種に

IMG_9262.JPG

FPGAを実装し、ファームウエアを書き込んだ。

IMG_9272.JPG

dacHandler基板は、JTAGポートを取付ける前に基板配線用のpinを取付けたほうが良いか。XtalとPLL分周ICの全部載せを行うかは微妙なところ。

マットブラックなフロントパネルを新調したのだが、

IMG_9265.JPG

左に実装したUSB-MicroB端子の位置を左にオフセットした分だけボディー側のザグリを削り増す必要があった。

IMG_9275.JPG

削りを最小限にした結果、オフセットを解消しきれず塗装を行って誤魔化すことにした。

追記:

結局、dacHandler基板にオプション・パーツを全部載せすることになった。 

IMG_9276.JPG

XtalとPLL分周ICを実装しているので、このユニット単体でオーディオクロックを生成することができる。

IMG_9277.JPG

あとは、欠品している脚の手配をしなければならない。
posted by Yasuski at 00:10| LaVoixski

2023年01月09日

2023年01月08日

LaVoixski@InputCaptureのリザルトに掛けるweightの設定項目を追加する

Demodulatorから取り込んだValueに掛けるWeightを切り替えられるように設定パラメータ・3パターンを切り替える項目 DMOD を mode2/case 9: に追加した。

IMG_9252.JPG

NormalMode 選択時に3種類の設定、1: Normal  2: Fast  3: Slow をトップ・ノブで選択する。

Screen Shot 2023-01-08 at 11.28.34.png

Weight の状態は、LCDの上部エリア右に表示される。

Screen Shot 2023-01-08 at 11.28.49.png

準備しているケースは3つだが、必要に応じて追加することが可能。

Screen Shot 2023-01-08 at 11.36.36.png

ドローンをバックに演奏を行うケース等、ピッチの揺れを極力少なくしたいときは Slow を選択する。

いまのところWeightの設定にはメモリ機能を持たせていないが、シーン・メモリに追加するのはRAMの容量と用法を考えると微妙なところか。
posted by Yasuski at 12:13| LaVoixski

2023年01月07日

LaVoixski@FreezModeの起動を3clickから2clickに変更する

微妙なピッチの変化をキャプチャするのに 3 click は煩雑過ぎたので、取り敢えずアクションを 2 click に変更した。



シングルクリックでも良い感じがするので、一度仮に実装してみよう。

Screen Shot 2023-01-07 at 12.10.31.png

追記:

やはり、シングルクリックが正解で、正確なタイミングでキャプチャが行える。 

Screen Shot 2023-01-07 at 19.25.38.png

アルペジエータ・シーケンサの起動はダブルクリックに割り振っている。

posted by Yasuski at 19:22| LaVoixski

2023年01月06日

LaVoixski@FreezModeについて

Pitchをキャプチャする時にクオンタイズをクロマチックスケールで行う理由は、Pitchの分解能に由来する値のミスマッチの解消が目的で、音程の関係を可能な限り整数倍に落とし込むことを目指している。

Screen Shot 2023-01-06 at 18.54.24.png

チューニングに誤差が発生するケースは、特に低音の領域で顕著になってくるのだが、、、

Screen Shot 2023-01-06 at 19.20.16.png

Pitchの値を予めクロマチックスケールに丸めることで、誤差の発生を最小限に抑えることが出来る。

この問題に対処する別の手段として、WaveTableのサンプル長を増やす選択肢があるのだが、、、

Screen Shot 2023-01-06 at 19.11.04.png

メモリの消費=波形のライブラリ数とのトレードオフが発生してしまう。
posted by Yasuski at 20:12| LaVoixski