酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

デジタル音楽・・・わからんっ

2020年07月29日 23時59分30秒 | コンピュータ

先日、圧電サウンダを使ったマイクロビットのプログラムを作ってみたが、
そもそも何であんな圧電素子で音階やメロディーがならせるのか判らない・・・
そりゃ、ブロックパーツを組み合わせれば「運命」が鳴るよ。
だけど、説明ができない。

とりあえず、「ド」の音(周波数440Hz)から30Hzずつ周波数を上げるプログラムを入れて、再生する。
だいたい「ドレミ」風には聞こえる。

久しぶりのお城出動で使い方を試行錯誤・・・
Y軸は 1マス 1V なので3.3V出ている感じ。
X軸は 1マス 1ms 

262Hz

パルスの幅は0.5ms パルス間隔は約3.8msかな
幅だけ考えると、1秒間に2000回ほどカリカリ振動してることになる。
ここだけ見れば2000Hzなんだが・・・
CD音は疑似サイン波を出してるはずだけど、こいつは全く違うし・・・

292Hz

322Hz

352Hz

382Hz

パルスの幅は0.3ms パルス間隔は約2.6msかな
微妙に違ってくる・・・

同じ回路をパソコンのマイクで、ソフトウエアお城で表示してみる。

チューニング用ソフトで発生させた440Hz(d)を測定
ううむ、サイン波じゃあないねえ・・・
何が悪いんだろうか?パソコンのお城?スマホの音発生?
ワカらんっ

Arduinoならこれでチャンと動きそうだが、シュミュレータでやっても実機でやっても
Aボタンを押した場合ははるかに長い実行時間となる。
確かに高めの音と、低めの音が鳴ってはいるのだが(ブーーーーーー音、ビー音)
本来はほとんど同じ時間で終わるはずだが・・・
マイクロビット内部の問題のようだ。インタプリタで動いとるんか?

調べるとマイクロビットは6msごとに割り込みを調べている様子
「制御」「バックグラウンドで処理する」を使えば、「ずっと」と同等の処理が書けるらしいが・・・
どうも、マイクロビットでは上記のプログラムは、ダメぽい

だめじゃこりゃ。
デジタル音声生成の基礎から勉強しなくては
イチから出直します・・・

 

ということで次のサイトでまずはお勉強
矩形波とサイン波、サイン波の合成やスペクトル分析・・・フムふむ
〆(._.)メモメモ