上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
エンベロープ演算を追加しました。
”エンベロープ”で検索して見つけたkorinchanの音楽室様のページが非常に分かりやすく解説してくださっていましたので参考にさせていただいています。サンプル音が大変充実しているので作りながら聴き比べもできて大変ありがたいです。
  
「スポンサードリンク」

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




現状のソースは以下の通りです。
エンベロープ付きソース
初めはセオリー通りにADSRを定義して計算して出そうとしていたのですが、メインループ内のコード量がかなり大きくなることがわかりまして、テーブル型に置き換えました。和音を出したいと考えているのでメインループ内はできるだけ軽く作っておかないと。
それでも結構なステップ数になってきましたので、ほんとに和音まで出せるかちょっと心配になってきています。
 
現状での動作波形をANALOGDISCOVERLYで観測して画面キャプチャしてみました。

これが確認のために出力したエンベロープ波形です。DAC5ビットなのでやっぱり階段ですね。。。。


そしてこれがエンベロープに昨日までの合成波形を掛け算した出力波形です。まあそれっぽいかな。

波形定義とエンベロープ定義を各4ビット数値として4ビット掛け算をし、上位5ビットをDACに渡すようにしています。
 
こういうのが簡単に撮れる。やっぱりANALOGDISCOVERLYは良いです。
音は、まあまあかな、という感じでは出ています。



ここまでで気付いたのですが、DAC出力がスピーカ回路負荷を繋いだ状態だとレベルがかなり低下しています。
おかしいな、と思って秋月からのデータシートリンクを見ていたところ、P127に「Due to the limited current drive capability, a buffer mustbe used(電流制限のため外部バッファが必須)」という記載を見つけました。P128に参考例としてボルテージフォロワ回路もあります。内部インピーダンスが結構あるみたいです。
 
は?ですよ。外部オペアンプが必要とは。2チップ構成になってしまうではないですか。
なんのために苦労して小型の12Fを使っているのかわかりません。データシートのこのあたりではDAC出力と言わずにりファレンスアウトプットとか書いているので、やっぱり汎用DACではなくてリファレンスに使うのが本来用途なのかもしれません。

が、とりあえず音は出ているので、少々の波形ひずみは無視してバッファ無しで進めることにします。
 
あとは、やっぱりDAC5ビットだと波形を見ていても辛いですね。これがひと段落したら、8か10ビットDACを使った物に移植して聞き比べてみようかと思っています。
 
明日は遊べないので次は来週末位になりそうです。
 
それではまたです。
2015.01.03 Sat l PICマイコン l コメント (0) l top

コメント

コメントの投稿












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