月別アーカイブ: 2015年6月

今何を作っているのか

analog3もうここ数年ろくに新しい製作の記事を書いてないのですが、作るのをやめてしまったわけではなく、単に手こずっているのであります。あと、自分でも何を作っているのかよくわかっていなかったためなんとなく記事にしづらかったのであります。

作っては失敗し、やり方を変えてまた作り、を繰り返しはや数年、ここ一ヶ月ぐらいでやっと動く様が見られるようになってきました。動くものを見たら自分が何を作っているのかやっと少しずつわかるようになってきました。

今やっているのは、Analog3 というアナログシンセサイザー作りの新しいプロジェクトです。でも今の所アナログ回路はほとんど組んでいません。大半がソフトウェアです。まだもうしばらくソフトウェアばかり組むことになりそうです。

ソフトウェアの進捗はブログにまとめづらいのですがソースコードは GitHub で管理していてそちらから見られます。

https://github.com/naokiiwakami/analog3

何でアナログシンセなのにソフトウェアばっかりになっているかというと、以前していた Analog2.0 プロジェクトは一旦開発終了として(サポートは現在も続けてます!)、次のシンセを作ろうと思った時にこんな葛藤があったからです。

  • アナログシンセ、細かい所に不満が多すぎる。もっと細かいところをしっかりたくさん作り込みたい。
  • でも、こまこまと作り込むと、設定パラメータが増えてしまう。
  • アナログシンセには操作パネルが付いていて、パラメータ一個につきツマミが一個必要。
  • パラメータが増えたら、ツマミの数が大変なことになるよ。ツマミ100個とかになったら作るのは大変な手間だし、作ったとしてもごちゃごちゃしてて操作できないよ。
  • しかも、回路をちょっと変えただけでパネルの作り直しが必要になったらいつまでたっても完成しないよ。
  • こまった…

しばらく色々考えて、こんな風に考えるようになってきました。

  • パネルがなければ回路を変えてもあんまり困らないんじゃね?
  • パネルはソフトウェアで作っちゃう?
  • パネルがソフトなら、律儀にパラメータ一個にツマミ一個つけなくてもいいんじゃね?減らしたりまとめたりできるよね?操作楽だよね?
  • いいかも
  • でもツマミをくりくり回せないアナログシンセなんてアナログシンセじゃないよ。作る意味ないじゃん?

そんなわけで、色々試行錯誤してゆくうちに、Analog3 はこんな風なシンセになってきました。

  • あくまでもアナログシンセサイザー
  • でもパネルを作らなくてもいい
  • でもパネルを作りたくなったら作ってもいい

冒頭の写真の試作では、LFO モジュールを PSoC で実装して、アナログシンセを揺らしています。LFO のパネルはなくて、そのかわりにパネル情報が PSoC のモジュールに入っています。これを Raspberry Pi を経由して Mac から読んで、Mac の画面に描いています。ただ描くだけじゃなくてちゃんと操作もできます。まだ実装中ですけれども。ツマミを回すぐらいのことはできるようになってきました。

組み込み向け exp() 関数の実装方法

楽器系の作り物をマイクロプロセッサでするときには、指数関数が必要になる場合が頻繁にあります。汎用の実装は遅くてでかいので、組み込みには向きません。正確さが必要な場合は少ないですが、スピードと小ささは重要です。

組み込み向けの実装をいくつか探したので忘れないようにここにリンクをはっておきます。

http://www.convict.lu/Jeunes/ultimate_stuff/exp_ln_2.htm

http://www.quinapalus.com/efunc.html

今の所、過去に試作したエンベロープジェネレータの指数関数計算部分を流用していて、まだでかくて遅いですがとりあえず今やっているプロジェクトで使っている PSoC 4200 に収まってちゃんと走っているので困るまでこのままにしておくのではあります。