Python メトロノーム Musician の検討5
2015-06-01(月)晴れ
相変わらず、しつこく、どうでも良いようなことをしています。でも、検討と試作、テストは、概ね完了したような気がします。
前回は制御方法を簡単にする事を検討しました。もう一つ残っているのは、テンポの正確さの確保です。専用の機械でなく、しかも携帯電話のプログラム制御となると、処理の輻輳などでテンポの正確さが落ちることがあります。音を出さないで画面の点滅だけだと、十分に速いので問題はありません。問題は音を出したときです。
仕様の40~220拍/分の範囲でみると、一つの音だけを使っているVer3.2では下図のようななります。
(A)の部分はテンポが遅いので処理速度も充分であり、正確に動く範囲
(C)は、前に出した音(サウンドオブジェクト)がビジーなので、Pythonがエラーを
検知する範囲です。動かないと、はっきり分かります。
(B)が問題で、エラーにはならないが、処理時間が無視できずにテンポが遅くなる範囲です。一見、問題なく動いているようで、実は不正確、、ということです。ただ、音を一つしか使わない場合は(C)のエラー検知範囲が広く、あまり困らないようです。
拍子機能を入れると、「ピ」「カチ」 という2つの音を使います。2拍子だと交互に使うことになります。これは、「Python メトロノーム Musician の検討3」で出てきた、2つのサウンドオブジェクトを交互に使う、裏技的な動きです。交互に使われるので、次の使用までに時間的余裕があり、Pythonがサウンドオブジェクトのビジーを検知できません。エラーにはなりませんが、処理の輻輳などでテンポが遅くなります。図2のように(B)の範囲が、かなり大きくなります。
そこで、3つの対策ルーチンを入れることにしました。
(1)ビジーエラーを自分で検出する。毎回、両方ののサウンドオブジェクトのビジー状態を自分で調べて、エラー検出を行う。
(2)ハードウエア・クロック(1マイクロ秒で単位で動いている)を使って、音の処理に戻ってくるまでの周期を調べる。何パーセントかずれるのが続いたらエラーにする。(下記(3)の修正が効かないくらいのケース)
(3)周期を決めるタイマのタイマ値を、少し小さめから開始する。ハードウエア・クロックを使って、毎回、正しい周期との差分をみて、徐々に増やして修正し合わせ込んでゆく(概ね4拍くらいで合わせ込みが終わるようにする)。
合わせて、上下に一定幅を超えてずれたら、少しずつ修正する。
基本的には(1)の対策で、Ver3.2と同程度にはなりました。また、(3)により、携帯電話によって異なる処理時間の影響を除くことが出来ました。(1)、(3)が効いているので、(2)が検出されることはないようですが、入れたままとします。
これで何とか、検討と試作、テストは、概ね完了したようです。
| 固定リンク
「音楽」カテゴリの記事
- ギターサークルの休日練習に行ってきた(2021-01-24)(2021.01.24)
- 覚えられない、、年のせいか?(2021.01.18)
- ギターサークルの休日練習に行ってきた(2020-12-20)(2020.12.20)
- ギターサークルの休日練習に行ってきた(2020-11-29)(2020.11.29)
- ギターサークルの休日練習に行ってきた(2020-10-18)(2020.10.18)
「携帯電話」カテゴリの記事
- 携帯電話へ詐欺SMSが来た(2021.01.22)
- Python: スクリプト「PyStnWeather」でアイコン表示できない天気予報が出てきた(2021.01.11)
- Nokia 携帯電話を探してみた(2020.12.24)
- 携帯電話3Gサービス雑感(2020.12.23)
- 携帯電話の下方向カーソルキーの使用を減らす(2020.12.16)
「Python」カテゴリの記事
- 荒れた天気になりそうかな(2021.01.23)
- Python: スクリプト「PyStnWeather」でアイコン表示できない天気予報が出てきた(2021.01.11)
- 携帯電話のPythonスクリプトも弄らなくなった(2019.08.06)
- Python: 天気予報を待ち受け画面に表示する PyStnWeather_0_04_0(天気予報コム版)が動かなくなった(2019.04.06)
- Python : 西暦・年号変換(対照)アプリ(PyNengou)の更新(令和の追加)(2019.04.05)
「アプリケーション」カテゴリの記事
- Python: スクリプト「PyStnWeather」でアイコン表示できない天気予報が出てきた(2021.01.11)
- Nokia 2720 Flip を使ってみた 続10 「Store アプリ編」(2020.10.06)
- 接触通知アプリ、その後は、、?(2020.10.04)
- Nokia 2720 Flip を使ってみた 続9 「Store アプリ編」(2020.09.30)
- 接触確認アプリ 雑感3(2020.06.24)
コメント