今度は電子楽器の試作です。工作会に使えるかな?

This time, prototyping an electric music instrument by Arduino.

今回は、Arduino の PWM 出力を使って電子楽器オモチャの試作をしています。PWM の原理、ナイキストの定理などは理解していたつもりなのですが、実際にやってみると問題多発で、一時は「Arduino の PWM 出力で楽器は無理なんじゃないか」と諦めかけたのですが、なんとか聞けるレベルまで実現できました。

2015-09-11 13.26.26

PWM の原クロックは 16MHz(Arduino の CPU クロック)で、それを Timer 2 の 256段階 PWM を通して出力を得ています。現在、3音ポリフォニックのエンベロープ付きです。波形は矩形波です。のこぎり波やサイン波もできると思うのですが、矩形波が、昔懐かしい PSG 音源に似ているような気がして満足してみます。(のこぎり波も試してみたいと思います。)

スペクトラムはこんな感じです。

スクリーンショット 2015-09-11 13.02.44

矩形波なので倍音が乗ってます。エンベロープは、こんな感じです。楽器理論には弱いのですが、とりえあずエネルギーが 1/exp() で減衰することを考えて振幅をいじっています。

スクリーンショット 2015-09-11 13.02.56

あとは、これに鍵盤なんかを付けてみたいと思っています。