したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

936御茶目菜子:2012/03/31(土) 15:01:11
レスにょ
通りすがりでごめんねさんへ
>A->X=ド, X->Y=レ, Y->B=ミ, B->A=ファ
>A->B=ソ, B->Y=ラ, Y->X=シ, R=半音
>X->A=オクターブ上, R+X->A=オクターブ下, など
>ボタン入力待ちの遅延時間も最小の考慮で済むのではないでしょうか。

確かにその方法ならばわざわざ意図的に遅延をさせる必要はないけど今度は演奏するための
ハードルが高くなってしまうにょ。
私の方針としては最初に覚えることはなるべく少なくしより多くのことを覚えればより
上手く演奏が可能になるという感じにしたいにょ。
左右両方の手で複雑な作業をするのは難しいからね。(ある程度パターン化はされている
ものの文字入力に意識を集中させた状態でそれができるかどうかは微妙)
そして、ボタンが順番に押されているかということは慣れないと視覚で確認するしかない
けれど左手のフリック操作はブラインド操作が困難であるためそちらの方に視覚を集中
させる必要があるため初見殺しになりかねないにょ。
したがって、右手は簡単にブラインド操作ができるものが望ましいにょ。

それと同時押しがないためゆっくり押していけば誰でも演奏可能なのがその方法のメリット
だけど間違えたボタンを押した場合にリカバリする方法がないというのがネックにょ。
例えば、ラを出すつもりでBではなくYを押した場合にはボタン操作をリセットするような
ボタンが必要にょ。
技術不足による演奏ミスは仕方ないけど間違いに気づいて訂正できる余裕があるのに訂正が
できないというのは個人的には妥協ができないにょ。

あれから同時入力の遅延時間設定をいろいろ変えてためしてみたけど私がプレイする限り
では1フレームの遅延設定でも劇的に改善されたにょ。
遅延ゼロならば1〜2割は演奏ミスをしていたのに1フレームの遅延でほぼミスがなくなった
からね。
もっともこれは右手に意識を集中させた場合なので現実的にはもう少し遅延時間を確保して
おいた方がよさそうだけどね。
個人的には遅延が2フレームまでならばそれほど遅延は気にならなかったにょ。
むしろ、ボタン入力の遅延よりもTALK命令のタイムラグの方が遙かに大きいにょ。
遅延ゼロ設定でも一瞬の間ができてしまうからね。(OSPもそれでどれだけ頑張っても
ブツ切れ感を無くすことができなくて限界を感じた)
ということで、複数のボタンを順番に押していくよりもまだボタンの同時押しの方が
良さそうな感じにょ。

C3からではなくA2もしくはG2からの2オクターブを確保し、初見ですぐに分かるような
分かりやすいボタン操作で演奏可能なものにしたいので下記のようなものを考えてみたにょ。

ラ  A
シ  A+B
ド  B
レ  B+Y
ミ  Y
ファ Y+X
ソ  X
オクターブ上げ R
シャープ    L

>・・・なんとなく、音長の制御に不安を感じるような気がするので、
>ABXYなしでRを押したら発音を止めるとか。

現状では演奏ボタンを押している時はずっと鳴らし続けて離せば瞬時に止まるのでその
心配は要らないにょ。
鳴り続けるといってもTALK文でずっと発声させるのは無理なので最長でも連続で26秒程度
だけどね。
ただし、これは発話速度Tの値が1000の時の時間であって、Tの値が大きくなればなるほど
発声タイムラグが大きくなるためリアルタイム演奏をしようと思えばTの値は200くらいが
許容限界といった感じにょ。(許容範囲に設定した場合は最長で連続5秒程度になるけど
後述のように発話文字数によるタイムラグもあるためそれを減らしたければさらに短くなる)

とはいえ別の音を鳴らすためには一端離してさらにもう一度押し直す必要があるため
どんなにすばやく指を動かしても5フレームくらいは無音時間ができてしまうにょ。
そういう点では演奏を途切れさせない手段を用意することは十分に意味があるにょ。(演奏を
途切れにくくしたいだけならばボタンを放してすぐに停止するのではなく数フレーム後に
停止するようにすればいいだけなんだけど)
ただし、特定ボタンによって停止させるよりも特定ボタンを押し続けることで演奏が続行
される方が自然で分かりやすいと思うにょ。
これが、タッチパネル上の鍵盤で演奏するならばスワイプやフリック操作で演奏も自由に
コントロール可能なので(ほぼ)途切れ無し(下記のようにTALK命令自体のタイムラグが
あるため完全に途切れなくするのは無理)での演奏もできるし、こちらの方がさらに
直感的で分かりやすくなるにょ。(現在の仕様では、スワイプ時には最初に押した鍵盤の
音が鳴り続けるためそのまま新しい鍵盤に移動してその鍵盤上でフリックすればほぼ
途切れることなく次の鍵盤の音が鳴るようになっている)

>「途切れ途切れでない発声に近づけるかな」

TALK命令の音声の波形をおおざっぱに見ると下記のようになっているにょ。
(縦軸が音量、横軸が時間)
   ____
 _/    \___
 A B C?????? D E  F

A TALK命令実行開始(TALKCHKで1を返す)
B 発声開始
C-D発声中
E 発声終了
F TALKCHKで0を返す

ここで別の音を鳴らすとこうなるにょ。

   _____   ___
 _/     |_/

TALKSTOPで強引に停止したり、発声中に別の音を鳴らした場合にはDE間が無くなってしまい
どうしてもブツ切れ感が目立ってしまうにょ。
これはOSP1で明らかになったためOSP2では可能な限り正確な音長で発声することでDE間を
残すようにしてブツ切れ感を軽減しているにょ。
これはあらかじめ鳴る時間が分かっているOSPだからこそ可能なことでありリアルタイム
演奏でDE間を残すようなことは無理にょ。

DE間と同じくらい問題となるBC間はTALK命令においてはTの値で変わってくるにょ。
したがって、無音時間を少しでも軽減したいというのであればTの値を小さくするしかない
けれどそうすると連続で鳴らせる時間がTの値にほぼ比例して短くなってしまうにょ。
Tの値を小さくしてBC間を短くしてもAB間は変わらないのでTを1000から200に変えた場合には
効果は大きくなるけど100から20に変えても効果はかなり小さくなるにょ。(BC間、CD間、
DE間の時間はTの値にほぼ比例する)

実は最も問題なのはAB間にょ。
CD間やDE間は完全無声状態ではないけどAB間は完全無声状態になるからね。
AB間を少しでも短くするためには発話文字数を減らすしかないにょ。
現状では「−」を限界まで連ねて長時間連続で鳴らせるようにしているためAB間を短く
しようとすれば連続発声時間を短くするしかないにょ。(それでもAB間が短くなるだけで
あってゼロにはならないため発話文字数を1桁にしてもわずかにブツ切れが起きてしまう)
これがTALK命令1つで複数の音を鳴らすならばかなりスムーズな発声が可能になる(前の
音のDE間と次の音のBC間をつなげてくれる)のだけどこれをリアルタイム演奏で行うのは
不可能にょ。
リアルタイム演奏だといくら頑張ってもOSP以下になるにょ。




掲示板管理者へ連絡 無料レンタル掲示板