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



今日はまた作戦。
空き時間にFFTの処理内容とメモリの割り当て
辺りを細かく詰めていくことに。大体詳細まで
イメージ完了。

とりあえずフルアセンブラで作って行く訳だけど、
その前に表計算ソフトで計算方法があっているか
どうかの検証をしてみたいところ。

表計算でFFTといえば、4点や8点なら例の
やり直しのための信号数学にも載っているので、
まずは自分でゼロから作ってみて、この本に載っている
計算式と突合してみると良さそう。

そんでもって、考え方が間違えてなければアセンブラ
に組んでみると。

とりあえず32点とか64点あたりで固定サンプル数にして、
精度的には計算途中は16ビット幅の固定小数、計算結果
は8ビット幅の固定小数にしたいところ。SRAMが
数KBのマイコンではその程度が限界でしょう。


プログラムや処理内容がある程度見えてきたので、
次は盛り込む機能やユーザインターフェース。
ここをキチンとやらないと、作っても遊べない
代物になるのだ。電車は走ってるけど乗客が
居ないという状態になっちゃうのだ。

どこまで盛り込めるかはわかんないけど、そのうち
目下一番気にしているのは、チョーキングが出来る
かどうかと言う点。それとあわせてトレモロアーム
の操作ができるかも忘れちゃいけない。
ホントはもっと色々あるんだけど、とりあえずは
チョーキングとトレモロアーム。

そう。普通ならウクレレでは使わないような機能も、
ウケシンセなら簡単に付け加えることができるのだ。
で、使うかどうかは別として、使える機能があるなら
あらかじめ付けてしまうという作戦だ。

ただ、エレキギターのように実際に弦のテンション
を張ったり緩めたりっていうことはウケシンセの
場合あまり現実的じゃないんだよな…

というのも、そもそもFFTの周波数分解能と
処理時間やディレイとの兼ね合いがあるので、微妙な
周波数の変化をセンシングできそうに無いから。

ってことで他の方法を先日からアレコレとユーザ
インターフェースを考えているわけ。グイングイン
とかギューンとか音程を上げ下げ出来る仕組みを。

今日は帰り道に千石とマルツに寄れたので、店頭で
部品を眺めまくる。何かいいパーツないかな…と。

理想としては、スライダー式の可変抵抗かつ操作
したら戻るようなモノ。なかなか見つからない…
スライダー式抵抗+輪ゴムあたりでお茶を濁すか?

ただ、4つの弦をそれぞれ上下のレンジにわけて
FFT掛けるとすると、ADCは8ch必要に
なっちゃうので、それだけでAVRのADCを
使い切っちゃう予感。

しょうがないので、アナログ的な入力は諦めて、
入力自体はデジタル、ソフトウェア的にアナログ
って言うのでどうだ!?

アレだ。微妙なアクセル/ブレーキやハンドル操作
を昔ながらのレバーとボタンで再現しちゃったあの
ビデオシステムの「super fomula」が起想される
わけだけど、ああいうイメージ。

具体的には、ボタンを押している間はトーンが上がり
続け離すと戻る、とか、もしくはその逆とか。

そのためには、手を離すと元に戻る「モーメンタリ」な
スイッチが必要。短絡的に考えると、モーメンタリの
トグルスイッチなんだけど、よく考えたらサンワの
ゲームボタン
とかでも十分か…操作性次第だな。
2個つけて、1つはチョーキング用に、もう一つは
トレモロアーム用に。

ということで、マルツでトグルスイッチだけは買って
おいた。(on)-off-(on)動作のタイプ。括弧書きのところが
モーメンタリ動作。上か下にレバーを入れればその間
だけスイッチが入る、と。これでどうだ!


その前にやっぱ、ちゃんと弦の振動を奇麗に周波数に
分解できるのか、そっちの実験をやってみたほうが
建設的だな。タヌキの皮算用では音は鳴らないからな。

まぁちょっとずつ頑張ろう。



コメント ( 0 )