sync notes(auto)

This commit is contained in:
Kaz Saita(raspi5) 2024-08-22 11:00:06 +09:00
parent 43c510e3b4
commit efc1080da5
6 changed files with 59 additions and 6 deletions

View file

@ -0,0 +1,25 @@
# 20240115000000 卒論2004
## こちら
[卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版)](</assets/斉田_2004_卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版).pdf>)
## なぜ公開するのか
自分が突然死ぬと、自分しか持っていないデジタルデータにアクセスできない、ということに気がついた。というか、最近そういうことがあった。内容の良し悪し以前に、そもそも内容にアクセスできなくなるのは、なんか惜しいなと思った。これがすばらしいから読んでほしい、とか、そういうことではない。というか、色々間違ってそうな気もするから、一般的には参考にしてはいけない可能性すらある。
博士論文くらいまで行くと、国会図書館にあったりするっぽいが、卒論ってあんまりそうなってないよね。すくなくとも自分のは公開されていない。こういう所に適当に置いとけば、webarchiveとかに引っかかり、割と長いこと見れるかもしれない。
謝辞は個人情報っぽかったので削除しておいた。
## 雑な概要
ディジタル信号処理(DSP)は、入ってくる離散時間サンプル(サンプリング周波数で細切れになっている)を何かしらの形で表現して、それを足したり引いたり掛けたり、いろいろ計算することで、ローパスとかハイパスとかを作れる方法。サンプルが浮動小数点(doubleとか)で表わされるようなシステム(PCとかスマホだと普通。VSTとかAUとかは、あえてやらない限り基本そうなっている)は、割と高い精度で計算ができる。
いっぽう、浮動小数点ではない「固定小数点」でサンプルを表わすようなシステムでは、ビットが足りないとかで十分な精度が出ない場合がある。 そうすると、計算に誤差があるので、カットオフ周波数がズレたり、色々とイマイチなことが起きる。
このイマイチを解決する簡単な方法は、桁を増やすことで、それで良ければそうすればよい。ただ、桁を増やすと、計算の量が増えて間にあわなくなったり、メモリが足りなくなったりする。桁が増やせない場合はどうしよう?詰んだか??
ワンチャンある。なんでもかんでも解決できるわけではないので、ちょっと範囲を絞ろう。色んなフィルターをつくれる定番の「バイクアッドフィルター」というのがある。max/mspとかpure dataにある biquad~ がそれだと思えばいいと思う。これのことだけ考える。 biquad~ といっても、計算の順番や、途中の計算をどうやって取っとくかとかで、実装方法が色々ある。 ここの、<https://en.wikipedia.org/wiki/Digital_biquad_filter> direct form 1 とか 2 とか、そういうやつ。
そのうちの、 normal form というのを使うと、EQとか作る時にはいい感じになった。めでたしめでたし。

View file

@ -0,0 +1,29 @@
# 20240116000000 修論2006
## こちら
[斉田_2006_修士論文%20自律分散協調システムを用いた%20音響生成装置の制作に関する研究(謝辞削除版)](</assets/斉田_2006_修士論文%20自律分散協調システムを用いた%20音響生成装置の制作に関する研究(謝辞削除版).pdf>)
## なぜ公開するのか
[卒論](/post/2024/2024-01-15-graduationthesis_saita_2004/) と同じ。というかこちらが発端。
## 雑な概要
音がマイクから入ると音が出る、簡単な回路をたくさん組みあわせた moids という作品を、我々 [三原](https://mhrs.pb.studio/)、むぎばやし、斉田の3人は作った。
こんなやつ↓
<https://www.youtube.com/watch?v=KeOmdUtYvU0>
「音がマイクから入る」は、マイクから、一定の音量以上が入ると、「入った」と検知するように作られている。各回路には、出力する音量のボリュームがついている。ボリュームを調節すると、別のマイクに音が入る確率が変えられる。たとえば、ボリュームをいっぱいに回すと、常に音が全力で隣りのマイクに音が入りつづける設定になり、その場合、全ての回路が鳴りっぱなしになる(プログラムでそういう設定にしてある)。反対に音量を最小に絞ると、隣の回路は何も起こらなくなる。その中間だとボリュームに応じて、鳴ったり鳴らなかったりする。ある程度ボリュームを調節すると、動画のように、いい感じの鳴り方をする作品になった。
「いい感じ」って何よ? というのを、定量化できるといいなと思った。相互情報量というのがあって、それを使うと「現象が複雑かどうか?」を調べることができる。この場合複雑とは、ランダムでもなく、ずっと一定でもない状態のこと。複雑系とかのジャンルの用語。それを使って調べてみた。 音が入ったら80%くらいの確率で鳴る時が一番複雑っぽかった。
この調査とは関係なく、実際の作品もそのくらいの設定になるようにしてたので、「いい感じ」はこの作品の場合は相互情報量で、それなりに定量化できるっぽい。めでたしめでたし。
## コメント、ツッコミなど
- 回路図とマイコンのソフトのソースは公開されてる <https://github.com/kinoshita-lab/moids1.0/> ライセンスが無いな。NYSLでいいんだけど、他の人も関係しているため、そうもいかない。何か考えます。
- 本文に「DSPでがんばって正弦波を作ってます」みたいなことが書いてあるが、[実際にはサンプルをプレイバックしている。](https://github.com/kinoshita-lab/moids1.0/blob/master/avr/timer.c#L32-L46)ただ、初期は本当にそのように生成していた[形跡もある](https://github.com/kinoshita-lab/moids1.0/blob/master/sinwave_generator/moids.php#L32-L40)。 また、timer.cという、他人が書いたライブラリソースにアプリケーションコードを追記してはだめだ。めちゃくちゃだ。
- DSP関係の参考文献がイキりちらかしているが、上述のように、ただのサンプルプレイバックなので、これを作るために、イチイチ読む必要は無い。
- 数年前、ここから図を抽出する必要があり、ステートマシンの絵が違うなど、間違いをいくつか発見。当時、一応辻褄を合わせた(はずの) 図が [音源 moids](https://basicfunction-releases.bandcamp.com/album/moids)には掲載されている。だからなんなんだ。

View file

@ -31,4 +31,4 @@ lib_deps =
``` ```
を追加する。 を追加する。
issueを作っておいた。 [RP2040 PlatformIO lacks PWMAudio dependency · Issue #269 · sensorium/Mozzi · GitHub](https://github.com/sensorium/Mozzi/issues/269) issueを作っておいた。が、これはPlatformIO側の問題だった。

View file

@ -7,16 +7,15 @@ kazboのpublic notesにようこそ。
## これは何? ## これは何?
kazboことkaz(uki) Saita/斉田一樹の書きちらかしたメモが堆積したものから、ある程度有用かもしれない内容を、publicに公開しようとしているものです。 kazboことkaz(uki) Saita/斉田一樹の書きちらかしたメモが堆積したものから、ある程度有用かもしれない内容を、publicに公開しようとしているものと、その他公式かもしれない情報などが、雑多に公開されています。
## rss
[notes.kinoshita-lab.org/index.xml](https://notes.kinoshita-lab.org/index.xml)
### 方針のようなもの
- [[000000000002 全体的な書き方の方針|全体的な書き方の方針]]
## 公開されている全記事(タグごと) ## 公開されている全記事(タグごと)
[Tag Index](https://notes.kinoshita-lab.org/tags/) [Tag Index](https://notes.kinoshita-lab.org/tags/)
## rss
[notes.kinoshita-lab.org/index.xml](https://notes.kinoshita-lab.org/index.xml)
## disclaimer ## disclaimer
ここに書かれている内容は、できるだけ有用で普遍性があるように努力はしていますが、時期や状況により、たまたまうまくいったことなども書かれています。やってみてうまくいかないことはありえます。 ここに書かれている内容は、できるだけ有用で普遍性があるように努力はしていますが、時期や状況により、たまたまうまくいったことなども書かれています。やってみてうまくいかないことはありえます。