「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



VHDLの勉強をする以上、やっぱり小さいCPU
を自分で設計してみなきゃいけません。
世の中そういうことになってます。多分。

というわけで、以前から気になっているこちらの
サイト。

http://laputa.cs.shinshu-u.ac.jp/~yizawa/design_cpu/chap2.htm

オイラはいつになったらこのページの中身が
すらすら読めるようになるのかなぁ…

多分、VHDL云々じゃなくて、組み込むべき
一つ一つの機能に関する理解なんだろうな。
ALU、命令デコード、メモリアクセス…。

CPUをソフトウエア側から利用していると
その存在すら意識しないんだけど、いざ作るって
なるとまだまだ理解しないといけないことはいっぱい
あるな…

それにしても、こんなに短いVHDLでCPUが
1個出来てしまうとは!すばらしい。
ゴールは遠そうだけど、がんばろう。



コメント ( 0 )




以前、もあさんから教えていただいたサイトを
読んでいたら、MIDIのI/F回路について
凄く面白い実験をされてました。このページ。

http://www.geocities.jp/pcm1723/html/p4pcmidi.htm#top

一言で言うと、安ーーーーいフォトカプラ(高速版じゃない
フォトカプラ)を使ってMIDIのI/Fが出来る
のでは?って話。

そうそう。MIDIって、30kbps程度の通信速度
だから、安ーーーいフォトカプラ(80kbps程度
は出るみたい)だってなんとか使えるんじゃないかと
いうお話でした。

で、これだけのスペックがあるのに30kbps程度の
MIDI信号が伝送できないのか?という疑問について
素子の性格から紐解いて、その対応方法について実験
されてます。

うーん、オープンコレクタではなくカレントミラー
で受けると波形がなまらないのか。すばらしい。
このオシロの比較画像がわかりやすくてgood。

これなら、秋月で1個単価20円のフォトカプラと
1個単価5円のNPNトランジスタ2個、あとは
せいぜいLED1個で合計40円もあればMIDIの
i/f回路ができちゃうんだなぁ。ありがたい。

高速タイプのフォトカプラって200円くらいする
ので、桁違いの安さってことになります。

オイラみたいに、素子の中身やその動作原理に
ついてよく解ってない人間には到底行き着かない
境地だな。すばらしい。


で、さらにこのサイトの「音源仕様」のページ
http://www.geocities.jp/pcm1723/html/tg_spec.htm#fm_spec
を眺めていたら、YAMAHAの「YAMAHA SMAF GLOBAL」
のページからオーサリングツールをダウンロード云々
と書かれていたので、
http://smaf-yamaha.com/jp/
こちらからオーサリングツールをゲット。

うーん、こりゃいいじゃないか!FM音源の
オーサリングツールだ。これだ。これ。

というわけでvoice library画面の
スクリーンショットを元に感想などを。


左側はプリセットされた音源の一覧で、nomal preset
の0番の列は2オペレータの音源。nomal presetの
1番の列は同じ楽器を4オペレータ使った内容との
ことです。

で、その一覧から適当な楽器を選ぶと、右側にその
音色の各プリセットパラメータが表示されます。

例えばこのスクリーンショットなら、グランドピアノの
音色(2オペレータ)を選んでいるところですが、
右側にはオペレータ1(この場合モジュレータとして
働いてます)のパラメータが表示されている、といった
具合です。下のほうにはアルゴリズムも図示されてます。

ここでOp2のタブをクリックすればオペレータ2
(キャリア)のパラメータも見れます。

下の鍵盤部分をクリックすると音が出ます。
そうそう。そいうなんだ。こういうソフトを探して
いたんだよな!ありがたい。

で、色々な音色のパラメータを眺めてみるとなかなか
興味深い…。
あまり書いちゃうと、この日記読んで弄ってみよう
っていう方の楽しみがなくなっちゃうと思うので
ザックリと感想だけ。


まずスチールドラムの4オペレータ用パラメータを
眺めてみる…この周波数比ならオイラのMEGA48版
FM音源を発展させれば出せそうだな。
っていうか、このオーサリングツールに載っている
音源なら全部MEGA48でも実現できそうだな。

あとはLFOとかエンベロープとか組み込むだけだと
思う…。


和太鼓(TaikoDrm)…キャリア、オペレータとも
周波数比がゼロ? キャリアの周波数比がゼロって
なんだ?
あと、wave shapeがsin波の半波形
っぽいんだけど、こりゃなんだ?
この辺りは良く解らん…

マニュアル上は、パラメータの簡単な解説は
書いてあるんだけど、それがどんな意味なのか
までは書いてないんだよな…

そうそう。打楽器系のパラメータも見れるので、
この辺もあとで眺めてみよう。パッと見は
普通にキャリアとモジュレータのパラメータを
設定しているだけっぽいから、MEGA48版
にもそれなりに組み込めるんじゃないかな?


そうそう。パイプオルガン(ChrchOrg)があったので、
やはり白色彗星のテーマ曲を。(≧v≦)σ

うーん、4オペレータ音源ならかなり遊べるな。
元楽器の音色をなかなか再現できている感じ。

MEGA48での試算では処理能力上2オペレータ
×4~5和音程度がせいぜいって感じだったから、
4オペレータだと2和音程度が限界か…もうちょっと
CPUパワーが欲しいな。



コメント ( 9 )




arduinoの0014が公開されたっぽい。0013からあまり
時間経ってないなぁ。

なにが変わったんだろう…

MEGA328をボードメニューから云々とか、ethernet
libraryのバグフィックスとか…ですか。

マイナーチェンジっぽいですね。
おいらにはとりあえずあまり関係なさそうだな。

ethernet library買った時にでもバージョンアップ
しようかな。



コメント ( 0 )