diff --git a/content/20240115000000 卒論2004.md b/content/20240115000000 卒論2004.md new file mode 100644 index 0000000..a268a99 --- /dev/null +++ b/content/20240115000000 卒論2004.md @@ -0,0 +1,25 @@ +# 20240115000000 卒論2004 + +## こちら + +[卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版)]() + +## なぜ公開するのか + +自分が突然死ぬと、自分しか持っていないデジタルデータにアクセスできない、ということに気がついた。というか、最近そういうことがあった。内容の良し悪し以前に、そもそも内容にアクセスできなくなるのは、なんか惜しいなと思った。これがすばらしいから読んでほしい、とか、そういうことではない。というか、色々間違ってそうな気もするから、一般的には参考にしてはいけない可能性すらある。 + +博士論文くらいまで行くと、国会図書館にあったりするっぽいが、卒論ってあんまりそうなってないよね。すくなくとも自分のは公開されていない。こういう所に適当に置いとけば、webarchiveとかに引っかかり、割と長いこと見れるかもしれない。 + +謝辞は個人情報っぽかったので削除しておいた。 + +## 雑な概要 + +ディジタル信号処理(DSP)は、入ってくる離散時間サンプル(サンプリング周波数で細切れになっている)を何かしらの形で表現して、それを足したり引いたり掛けたり、いろいろ計算することで、ローパスとかハイパスとかを作れる方法。サンプルが浮動小数点(doubleとか)で表わされるようなシステム(PCとかスマホだと普通。VSTとかAUとかは、あえてやらない限り基本そうなっている)は、割と高い精度で計算ができる。 + +いっぽう、浮動小数点ではない「固定小数点」でサンプルを表わすようなシステムでは、ビットが足りないとかで十分な精度が出ない場合がある。 そうすると、計算に誤差があるので、カットオフ周波数がズレたり、色々とイマイチなことが起きる。 + +このイマイチを解決する簡単な方法は、桁を増やすことで、それで良ければそうすればよい。ただ、桁を増やすと、計算の量が増えて間にあわなくなったり、メモリが足りなくなったりする。桁が増やせない場合はどうしよう?詰んだか?? + +ワンチャンある。なんでもかんでも解決できるわけではないので、ちょっと範囲を絞ろう。色んなフィルターをつくれる定番の「バイクアッドフィルター」というのがある。max/mspとかpure dataにある biquad~ がそれだと思えばいいと思う。これのことだけ考える。 biquad~ といっても、計算の順番や、途中の計算をどうやって取っとくかとかで、実装方法が色々ある。 ここの、 direct form 1 とか 2 とか、そういうやつ。 + +そのうちの、 normal form というのを使うと、EQとか作る時にはいい感じになった。めでたしめでたし。 diff --git a/content/20240116000000 修論2006.md b/content/20240116000000 修論2006.md new file mode 100644 index 0000000..b2524a9 --- /dev/null +++ b/content/20240116000000 修論2006.md @@ -0,0 +1,29 @@ +# 20240116000000 修論2006 +## こちら + +[斉田_2006_修士論文%20自律分散協調システムを用いた%20音響生成装置の制作に関する研究(謝辞削除版)]() + +## なぜ公開するのか + +[卒論](/post/2024/2024-01-15-graduationthesis_saita_2004/) と同じ。というかこちらが発端。 + +## 雑な概要 + +音がマイクから入ると音が出る、簡単な回路をたくさん組みあわせた moids という作品を、我々 [三原](https://mhrs.pb.studio/)、むぎばやし、斉田の3人は作った。 + +こんなやつ↓ + + + +「音がマイクから入る」は、マイクから、一定の音量以上が入ると、「入った」と検知するように作られている。各回路には、出力する音量のボリュームがついている。ボリュームを調節すると、別のマイクに音が入る確率が変えられる。たとえば、ボリュームをいっぱいに回すと、常に音が全力で隣りのマイクに音が入りつづける設定になり、その場合、全ての回路が鳴りっぱなしになる(プログラムでそういう設定にしてある)。反対に音量を最小に絞ると、隣の回路は何も起こらなくなる。その中間だとボリュームに応じて、鳴ったり鳴らなかったりする。ある程度ボリュームを調節すると、動画のように、いい感じの鳴り方をする作品になった。 + +「いい感じ」って何よ? というのを、定量化できるといいなと思った。相互情報量というのがあって、それを使うと「現象が複雑かどうか?」を調べることができる。この場合複雑とは、ランダムでもなく、ずっと一定でもない状態のこと。複雑系とかのジャンルの用語。それを使って調べてみた。 音が入ったら80%くらいの確率で鳴る時が一番複雑っぽかった。 + +この調査とは関係なく、実際の作品もそのくらいの設定になるようにしてたので、「いい感じ」はこの作品の場合は相互情報量で、それなりに定量化できるっぽい。めでたしめでたし。 + +## コメント、ツッコミなど + +- 回路図とマイコンのソフトのソースは公開されてる ライセンスが無いな。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)には掲載されている。だからなんなんだ。 diff --git a/content/20240808131753 PlatformIO でrp2040でMozziを使おうとするとコンパイルできない.md b/content/20240808131753 PlatformIO でrp2040でMozziを使おうとするとコンパイルできない.md index 10f3021..eb0d936 100644 --- a/content/20240808131753 PlatformIO でrp2040でMozziを使おうとするとコンパイルできない.md +++ b/content/20240808131753 PlatformIO でrp2040でMozziを使おうとするとコンパイルできない.md @@ -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側の問題だった。 diff --git a/content/assets/斉田_2004_卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版).pdf b/content/assets/斉田_2004_卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版).pdf new file mode 100644 index 0000000..d7b472b Binary files /dev/null and b/content/assets/斉田_2004_卒業論文 周波数サンプリングFIR フィルタの固定小数点DSP への実装に関する研究(謝辞削除版).pdf differ diff --git a/content/assets/斉田_2006_修士論文 自律分散協調システムを用いた 音響生成装置の制作に関する研究(謝辞削除版).pdf b/content/assets/斉田_2006_修士論文 自律分散協調システムを用いた 音響生成装置の制作に関する研究(謝辞削除版).pdf new file mode 100644 index 0000000..8d3b079 Binary files /dev/null and b/content/assets/斉田_2006_修士論文 自律分散協調システムを用いた 音響生成装置の制作に関する研究(謝辞削除版).pdf differ diff --git a/content/index.md b/content/index.md index 865d8b0..759556f 100644 --- a/content/index.md +++ b/content/index.md @@ -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/) -## rss -[notes.kinoshita-lab.org/index.xml](https://notes.kinoshita-lab.org/index.xml) ## disclaimer ここに書かれている内容は、できるだけ有用で普遍性があるように努力はしていますが、時期や状況により、たまたまうまくいったことなども書かれています。やってみてうまくいかないことはありえます。