シンセサイザーをDIYで作ってみる・第6弾

Created Date: 2016-06-11/ updated date: 2018-03-13
    Owner & Collaborators
    License
    Summary
    シンセサイザー(音源モジュール)をDIYで作ってみるプロジェクトの第6弾。プラットフォームは未定。過去作品の情報はコチラ: http://risgk.github.io/

    Memo

    シンセ開発ログ 2016-10-08

    posted by risgk on October 08, 2016
    明日の #NT名古屋 2016 には、新作「Digital Synth VRA8-Px (仮)」のプロトタイプを出展しようと思います。( #OMMF2016 までには、V1を完成させたいです)

    という訳で、「VRA8-Px (仮)」がこの日記の開発ターゲット「DIYシンセ・第6弾」になりました。基本的に「VRA8-P」のパワーアップ版ですが、V2とは言い難い仕様になりそうなので、別モデルの扱いにしています。

    > Arduino用シンセのVRA8シリーズで、Timer1割り込みが生きていた問題。
    > noInterrupts()を追加したところ、VRA8-Pを4音ポリで動かせた。
    > ※2016-09-23追記:Timer0割り込みが正しい。VRA8シリーズでは、プリスケーリングなしでPWM出力に使用しているので、CPUパワーをスゴク無駄にしていたと思われる。

    正確に測定できていませんが(これが課題)、不要なTimer0割り込みを無効化したおかげで、使用可能なCPUパワーは50%以上増えたようです。……相当色々なことができそうですね! 反省はありますが、ここ半年ほどCPUパワーについて悩んでいたので、「埋蔵金」が見つかったと思ってありがたくいただきます。

    上に書いたように、まずは「VRA8-P」のパワーアップ版を作り始めています。

    * オーディオ出力への「誤差拡散」の導入。 => これで理論上、ダイナミックレンジが8ビットから16ビットに拡大。発音数を増やしたり、レゾナンスを強めても大丈夫。……その代償として、発音中は音圧1/256のノイズがのってしまう。「まあ、いいか」と思っているが、この点については「VRA8-P」のパワーアップと言えなさそうである。

    * 4音ポリに変更。 => どうしよう? 他の改善を入れてから考えることにする。

    * デチューン/コーラス効果を「2 VCO相当」から「3 VCO相当」に変更してみる。 => CPUパワー的には楽勝。だが、音質がかなり変わる。やめ。(以前から思っていたが、3 VCOでの音作りは難しい)

    * AMP EGスイッチやCUTOFFを急に動かしても、プツ音がしないように改善。

    * GitHub Desktopが動かなくなった。アップデートの影響っぽい。 => TortoiseGitを使用している。

    Comments