Arduino VRA8-UのためのMIDI入力+PWMオーディオ出力シールドを作成 先日、Arduinoで動くシンセサイザーVRA8-Uの話を書きましたが、このシンセサイザーは取っておきたいので、ブレッドボード上で組んでいた回路をユニバーサル基板を使ったシールドにしてみました。 MIDI部分も含めた回路は以下のとおりです... 2022/10/08 Arduino
Synthesizer PythonスクリプトのEXE化を試してみた 1年ほど前に、とあるPythonスクリプトを作成しました。このスクリプトの話をYouTubeにアップロードしておいたところ、たまに問い合わせを頂きます。 必要に迫られて作成したもので、割とやっつけ仕事(あまり綺麗ではないコード)ではあ... 2022/09/17 Synthesizer
Arduino Arduino UNOだけで作るシンセサイザー「VRA8-U」を動かしてみた 今年もなんとかMaker Faire Tokyoを見に行けたのですが、Musicコーナーで目ならぬ耳を奪われたのがこちらの展示でした。 Ryo Ishigakiさんの作品で、一聴してとても良い音(シンセサイザーとして)がしていて、お... 2022/09/07 ArduinoSynthesizer
日記 VMWareの仮想ディスク(ファイル)のコピーが遅い問題 私は開発を主にノートパソコンで行っています。今まで使っていたノートパソコンは10年近く前に購入したものだったのですが、だいぶガタが来たので、買い替えをしました。 Linux環境は、VMPlayerをwindows上で動かしていました。新しい... 2022/08/03 日記
Synthesizer BLIT(Band Limited Impulse Train)による鋸波の生成(3) 前回、BLITを使って鋸波をうまく生成できることが確認できましたので、今度はlogue SDKで実装してみます。 今回のコードおよびバイナリは以下のリポジトリに置いてあります。 実装にあたって、追加で考慮が必要な点が2つあります。... 2022/07/18 Synthesizer
Synthesizer BLIT(Band Limited Impulse Train)による鋸波の生成(2) 前回、BLITについて簡単に説明しました。要約しますと、 ・倍音成分をある周波数でカットした鋸波は、時間軸に沿ってBLITを積分すると生成できる。 ・BLITは、以下の数式で表される。 $$y(n) = (M/P) Sinc{_M}\\ ... 2022/07/17 Synthesizer
Synthesizer BLIT(Band Limited Impulse Train)による鋸波の生成(1) 前回はエイリアスノイズの出ない鋸波を、ウエーブテーブルを使って生成しました。 この方法の欠点は、沢山のウエーブテーブルが必要になる点です。 PCのソフトシンセでは問題になりませんが、logue SDKではデータとコード合わせて32KBしか... 2022/07/11 Synthesizer
Synthesizer 改めて、ウエーブテーブルシンセサイザを作る(5) 今回は、前回までの内容を使って鋸波のオシレータを作ってみます。 なおコードは以下で公開しています。 前回書いたように、logue SDKでは鋸波のウエーブテーブルが提供されていますが、テーブル数は7つと少なめです。 実際にlogue... 2022/05/08 Synthesizer
Synthesizer 改めて、ウエーブテーブルシンセサイザを作る(4) 一般的に、ウエーブテーブルシンセサイザでは1つの音色に対して複数のウエーブテーブルを用意し、切り替えながら用いることが多いです。音色には様々な倍音成分が含まれますが、DA変換のサンプリング周波数を超えた倍音成分はエイリアスノイズの原因になる... 2022/05/05 Synthesizer
Synthesizer 改めて、ウエーブテーブルシンセサイザを作る(3) 前回作成したウエーブテーブルシンセサイザは、起動時にウエーブテーブルを計算で生成していました。しかし一般的には、ウエーブテーブルは事前に生成して定数としてコードに埋め込むのが普通でしょう。 例えばPythonなどを使ってウエーブテーブルを... 2022/05/03 Synthesizer
Synthesizer 改めて、ウエーブテーブルシンセサイザを作る(2) logue SDKにはサイン波のウエーブテーブルが用意されており、そのテーブルのサイズは128サンプルです。これは半波長分なので、1波長あたりでは256サンプルとなります。 今回はこのウエーブテーブルを、オリジナルのウエーブテーブルに置き... 2022/05/02 Synthesizer
Synthesizer 改めて、ウエーブテーブルシンセサイザを作る(1) 久しぶりにlogue SDKでのプログラミングの話題です。 今回はウエーブテーブルシンセシスを扱います。 ウエーブテーブル方式のシンセシスは、1波長分のサンプリングデータを納めた「ウエーブテーブル」を繰り返し読み出すことで音を生成する方... 2022/05/01 Synthesizer
日記 ようやくトンネルの出口が見えてきた もう4月も終わりですね。1年の3分の1が過ぎてしまいました。 この半年ばかりは仕事もプライベートも多忙で、新しい取り組みもできませんでした。 仕事では初めてのタスクも多くて効率よく進められず、プライベートではマンションの管理組合の役員の仕事... 2022/04/30 日記
日記 2021年の振り返りと2022年の抱負 あけましておめでとうございます。 2021年は、あっという間に過ぎていきました。 1月は突如発表されたRaspberry Pi Picoに入れ込み、それから3か月ほどPicoで遊ぶことにかかりきりとなりました。よく考えられたチップですしS... 2022/01/03 日記
Synthesizer logue SDK web simulatorのための試験用HTTPSサーバをPythonで簡易的に立てる 前回記事にしたlogue SDK web simulatorですが、ちょっと試したりデバッグするのに公開サーバまでファイルをアップロードするのは面倒ですね。 Linux環境のみで試すのであれば、localhostでHTTPサーバを pyt... 2021/12/03 Synthesizer