Mozzi.ws

Mozzi

Mozziについて

「Arduinoから直接音を出力したい!」
という方は非常に多いと思います。
代表的な例としては、以下の方法でArduinoのピンから直接音を出力することができます。
1. Arduinoの標準的な命令であるTone()を用いる
2. Auduino (Tinkerit) を使う

Tone()やAuduinoを用いた音出力をやってみたことがある人は多いかもしれません。
しかし、どうにもビープ音やローテクな音しか出せず、苦しい思いをしている方も多いと思います。

最近は、Arduinoにシールドをつけて音声や正弦波などをならすことができるGinSingなどが開発され、Arduinoを用いた音出力は色々とできることが増えてきています。
また、Raspberry Piを使うことで、Pure Data (Pure Data Japan)を動かし、スタンドアローンデバイスを作ることも可能になってきています。
しかし、Pure Data等をRaspberry Pi, BeagleBoardなどにインストールしてみたはいいものの、高度な音響処理を行った場合はあまり処理速度に期待できません。これに対して、スタンフォード大学CCRMA(Center for Computer Research in Music and Acoustics)で進められている”Satellite CCRMA“というプロジェクトは、SDカードにイメージを焼くことでRaspberry Pi, BeagleBoardを音響処理用に最適化してくれます。この辺りは Pure Data Japanのサイトで詳しく述べられています。

ハードウェア上でPure Dataが動かせれば全く問題はないのですが、
小型のスタンドアローンシンセや共同演奏のための電子楽器を作りたい私の観点から上記の問題点をあえて挙げると、

1. GinSing等のArduinoシールドは、使えるArduinoボードが限定されてしまう
2. Raspberry Pi, BeagleBoardなどのLinuxベース小型PCは消費電力が大きく、バッテリー駆動に工夫が必要である

(参考: Arduino Uno対BeagleBone対Raspberry Pi, Make:JAPAN)

そこで注目しているのが、Mozzi sound synthesis library for Arduino (inventor: Tim Barrass)です。
この”Mozzi”は特別なシールドを用いず、16MHz駆動Arduinoだけで豊かな音響表現を可能とします。
また、Arduino同様オープンソースのライブラリです。
現在のところ、Arduino Duemilanove (ATmega328), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Uno, Arduino Leonardo, Arduino Mega, EtherMega, Boarduino, Ardweeny, Teensy2 and Teensy2++ で動作が確認されています。(私の環境ではArduino Pro (5V, 16MHz)も動作確認ができています)

Mozziの可能性

ちなみに、私がMozziを搭載した自作デバイス”B.O.M.B.”と数個のエフェクターを使って行ったパフォーマンスの音源が以下です。
個人的にはMozziだけで十分電子楽器を作り出すことが可能であると感じています。
本作品のリンクはMozzi 本家サイトのwikiにも掲載していただいております。


Mozziの情報はどこで得られる?

今年2月に開催され、私も講師として参加した、恩師東京工科大学准教授松村誠一郎先生のPdワークショップでMozziを取り扱いました。
また、上記ワークショップの際に大変お世話になりました原田克彦様と、赤羽亨様による”メディア芸術表現基礎ワークショップ ex-Workshop01 「プログラミングと音」−Arduino + Mozzi−“(2013年6/29(土)に開催)ではメイン技術として取り上げられ、日本でも少しずつ用いられるようになってきています。
私の恩師でもある日本大学芸術学部音楽学科教授の川上央先生も解説をされています。

○Mozziに関する情報/WSサイトまとめ
Mozzi sound synthesis library for Arduino
Mozziクラスリスト
Pd Synth ワークショップ (松村誠一郎先生WEB)
メディア芸術表現基礎ワークショップ ex-Workshop01 「プログラミングと音」−Arduino + Mozzi−
江古田の音部屋 (川上央先生Blog)

現在のところ日本語による基礎的な情報サイトは立ち上がっておらず、なかなか独習が厳しい状況です。
また、以前のワークショップから4ヶ月足らずではありますが、かなりのアップデートがなされており、
Pdワークショップ参加者の方にお配りしたサンプルプログラムもおそらく最新版のMozziでは動作しません。
そこで、本ページで資料のアップデートもかねて新しいサンプルを作成し、解説をしていきたいと思います。
私自身は単なる一人のユーザーですので、至らない点/カバーしきれない点もあるかと思います。
ご意見やご質問、リクエスト、改善要求等はコンタクトフォームTwitterまで頂ければ幸いです。

Mozziに関する書籍

4361m

本ページの管理者である中西が執筆した『Arduinoではじめる手作り電子楽器』が工学社様より発売されています。
筆者が開発した楽器の基礎部分を題材に、Mozziの解説をしています。
本ページと合わせてご参照いただけると、より理解が深まると思います。
amazon

Mozzi.wsの今後

本ページでは、まずサンプルを使って音を出すところから、少しずつMozziの使い方をレクチャーしていこうと思います。
最初はサポートのため、Pure Dataを用いてMozziをコントロールします。徐々にハードのみの動作に移行します。
また、もっとしっかりとした情報を得たい方は、本家Mozziサイトの方を是非チェックしてみてください!
ディスカッションフォーラム (Mozzi-users)に参加するのもありでしょう。

 


[INDEX]
– Chapter 1 –
0. インストールと音の出力
1. MozziとPure Data で音を出す
2. 気になる高周波をカットする
3. MozziとPure dataでセンサ入力から音を出す
4. Pure Dataから離れて、Mozziだけでセンサ入力から音を出す
– Chapter 2 –
5. 少しMozziの詳細を見てみる
6. Mozziでノコギリ波を出力する
7. 和音(加算合成)に挑戦してみる
8. 音量エンベロープをかけてみる
9. 簡単なディレイを使う
– Chapter 3 – →更新が滞っており申し訳ありません…
10.Mozziで打楽器(キック音)を出力する
11.GainとVibratoのコントロール
12.Low Pass Filterをかけてみる
13.AMシンセに挑戦
14.FMシンセに挑戦
15.サンプル音の再生