上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
(Faebookでのご指摘によると、PWM機能が搭載されているのは1.0.2 beta11から1.1.0 beta1ということです。この記事ではichigojam-1.1b5_jpmnをFacebook ichigojamグループからダウンロードして使っています。)

PWMを用いた演奏原理とデータ形式について解説いたします。

まずPWM周期の設定方法、ichigojamのPWM周期は0.01ms単位で設定可能です。

そのため、発声したい音程の周波数fから周期tを求め、それを0.01msで割ることで対応したPWM周期を計算することができます。下の表にA1~C6の周波数とPWM周期の変換を示します。



前回のデモ演奏は、PWM周期をこの値とし、PWM幅はそれを2又は4で割ったものとしています。主旋律が1/2(DUTY50%)、副旋律が1/4(DUTY25%)です。これによって主旋律の方が大きめの音になっているはずです。


「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">



次に、楽譜データです。楽譜データは、1符号に着き、音階番号+長さの2バイト構成になっています。
音階番号はA1~C6に対して下のように割り振った番号です。



長さは適当なのですが、四分音符を8と定義しており、それを基準として、十六分音符は2、八分音符は4、二分音符は16、全音符なら32となります。付点が付く場合はそれぞれを1.5倍とします。

楽譜データの最後は255,255としておくとそのパートの演奏を終了します。

基本構成はできましたので、この次はちょっと演奏プログラムに細工してエンベロープ、ビブラート等を付けてみようかと思います。

それではまたです。

2015.10.08 Thu l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。