第8-9回 インタラクティブなサウンドアートを作ろう
これまでに学んだ技術を総動員して、オリジナルのインタラクティブサウンドアート作品の制作を開始します。2回分の授業を使って、モチーフの選定から音響制作までを進めましょう。
今回のゴール
- オリジナルのインタラクティブサウンドアート作品の制作を開始する
- モチーフとインタラクションを決定する
- micro:bit のセンシングと Pd の音響合成を連携させる
- 作品説明シートを作成する
準備するもの
| アイテム | 説明 |
|---|---|
| micro:bit V2 | センサ内蔵のマイコンボード |
| USB ケーブル | micro:bit と PC を接続する |
| PC | Pure Data がインストール済み |
| ヘッドホン / イヤホン | 音を確認するために使用 |
| ノート・筆記用具 | アイデアスケッチ用 |
Step 1: モチーフの選定
モチーフとは
モチーフ とは、作品の テーマや題材 のことです。「何を表現したいか」を決める最初のステップです。
インタラクティブサウンドアートのモチーフには、大きく分けて 2つの側面 があります。
音のモチーフ — 何を「音」で表現するか
作品を通じて体験者に伝えたい世界観や雰囲気のことです。「雨の音」「深海の静けさ」「お祭りの活気」のように、音を通じてどんな体験を届けたいかを考えます。
実体のあるモチーフ — 体験者が実際に触れるもの
インタラクティブな作品では、体験者が手に取ったり、動かしたり、触れたりする物理的なオブジェクトもモチーフの重要な一部です。micro:bit をそのまま持たせるのではなく、何かの形に組み込むことで、体験の説得力が大きく変わります。
| 実体のモチーフ | 組み込み方 | 音のモチーフとの関係 |
|---|---|---|
| 懐中電灯 | micro:bit を懐中電灯の中に入れる | 光を当てる方向で洞窟の中の音が変わる |
| うちわ・扇子 | micro:bit をうちわに貼り付ける | 扇ぐ動作で風の音が生まれる |
| 砂時計 | micro:bit を砂時計型のケースに入れる | 傾けると砂が落ちる音が流れる |
| ぬいぐるみ | micro:bit をぬいぐるみの中に仕込む | 揺らしたり撫でたりすると鳴き声が変わる |
| 楽器の形をした物 | micro:bit をギターやマラカスの形に取り付ける | 振る・傾ける動作が演奏になる |
| 箱・容器 | micro:bit を箱に入れて蓋を開閉できるようにする | 蓋を開けると中から音が溢れ出す |
| 植物の模型 | micro:bit を鉢植え型のオブジェクトに仕込む | 手をかざすと花が咲く音がする |
実体のあるモチーフが作品を変える
同じ「加速度センサで音の高さが変わる」仕組みでも、micro:bit をそのまま手に持つ場合と、剣の形をした物に組み込む場合とでは、体験者の感じ方がまったく違います。何を持って、何を触るか は、音と同じくらい作品の印象を左右します。
身の回りの物(100均の小物、段ボール、ペットボトルなど)を活用して、コンセプトに合った形を考えてみましょう。
モチーフの例
2つの側面を組み合わせて考えてみましょう。
| カテゴリ | 音のモチーフ | 実体のモチーフ例 | 体験のイメージ |
|---|---|---|---|
| 自然現象 | 雨、風、波、雷 | うちわ、傘、貝殻 | うちわを扇ぐと風の音、傘を傾けると雨音が変化 |
| 日常の動作 | 料理、掃除、工作 | おたま、ほうき、ハンマー | おたまを振ると鍋の音、叩く強さで音が変わる |
| 感情 | 喜び、恐怖、癒し | オルゴール、箱、ランタン | 箱を開けると不思議な音、ランタンを灯すと癒しの音 |
| 空間 | 洞窟、宇宙、森、水中 | 懐中電灯、望遠鏡、瓶 | 懐中電灯の向きで洞窟内の音が変わる |
| 生き物 | 鳥、虫、猫、魚 | ぬいぐるみ、卵、羽根 | ぬいぐるみを揺らすと鳴き声が変化 |
| 抽象概念 | 時間、色、温度 | 砂時計、万華鏡、風船 | 砂時計を傾けると時間の流れる音 |
考えるヒント
以下の問いを自分に投げかけてみましょう。
- 「どんな音が聞こえたら面白い?」 --- 日常では聞けない音を想像する
- 「何を手に持ったら面白い?」 --- 体験者が触れるオブジェクトを想像する
- 「どんな動きで音を出したい?」 --- 持ったオブジェクトをどう動かすかを考える
- 「体験者にどんな気持ちになってほしい?」 --- 作品を通じて伝えたい印象を決める
アイデア出しのコツ
まずは思いついたことを何でもノートに書き出しましょう(ブレインストーミング)。質より量が大切です。10個以上アイデアを出してから、最も面白いものを1つ選びましょう。
「音のモチーフ」と「実体のモチーフ」を別々にリストアップしてから組み合わせると、意外な発想が生まれやすくなります。
Step 2: インタラクションの決定
使用するセンサの選択
micro:bit に内蔵されているセンサから、モチーフに合ったものを選びます。
| センサ | 検出できること | インタラクションの例 |
|---|---|---|
| 加速度センサ | 傾き、振り、衝撃 | 振る→雷が鳴る、傾ける→風の方向が変わる |
| 明るさセンサ | 光の量 | 手で覆う→洞窟に入る、光を当てる→朝が来る |
| マイクロフォン | 音量 | 声を出す→エコーが返る、手を叩く→打楽器が鳴る |
| タッチセンサ | ロゴへの接触 | 触れる→心臓の鼓動、離す→静寂 |
| ボタン(A/B) | 押す操作 | モード切替、音色の変更 |
| 地磁気センサ | 方角 | 北を向く→風の音、南を向く→波の音 |
インタラクションの設計
入力 → 処理 → 出力 の流れを図にして整理しましょう。
【入力】 【処理】 【出力】
micro:bit Pd パッチ スピーカー
━━━━━━━━━ ━━━━━━━━━ ━━━━━━━━
加速度 X軸 ──→ 周波数に変換 ──→ 正弦波の高さ
加速度 Y軸 ──→ 音量に変換 ──→ 全体の音量
ボタンA ──→ モード切替 ──→ 音色が変わる設計図を必ず描こう
いきなりプログラミングを始めるのではなく、まず紙に設計図を描きましょう。「どのセンサの値が」「どのように変換されて」「どんな音になるか」を明確にしておくと、制作がスムーズに進みます。
設計シートの記入例
以下の項目を埋めて、インタラクションを明確にしましょう。
| 項目 | 記入例 |
|---|---|
| モチーフ | 海の中の世界 |
| 入力センサ1 | 加速度センサ(傾き) |
| 操作方法1 | micro:bit を左右に傾ける |
| 音の変化1 | 波の音の高さが変わる |
| 入力センサ2 | 明るさセンサ |
| 操作方法2 | 手で覆う/離す |
| 音の変化2 | 深海に潜る(暗い=低い音、明るい=高い音) |
Step 3: インタラクションのセンシング
micro:bit のプログラミング
MakeCode でセンサの値をシリアル通信で送信するプログラムを作成します。
基本の構成:
ずっと:
シリアル通信で数値を送る ラベル "acc_x" 値 [加速度(mg) X軸]
シリアル通信で数値を送る ラベル "acc_y" 値 [加速度(mg) Y軸]
シリアル通信で数値を送る ラベル "light" 値 [明るさ]
一時停止(ミリ秒) 50データ送信の間隔
一時停止 を 50ms に設定すると、1秒間に約20回データを送信します。音楽的な用途にはこの程度の速度で十分です。値を小さくしすぎるとデータが溢れることがあります。
SerialOSCConverter の設定
micro:bit からのシリアルデータを OSC メッセージに変換して Pd に送ります。
- SerialOSCConverter を起動する
- micro:bit が接続されている シリアルポート を選択する
- ボーレート を
115200に設定する - OSC 送信先ポート を確認する(デフォルトは
8000) - 「Start」ボタンを押して変換を開始する
Pd でのデータ受信と変換
Pd で OSC メッセージを受信し、音のパラメータに変換します。
基本的な受信パッチの構成:
[netreceive -u -b 8000] ← UDPポート8000で受信
|
[oscparse] ← OSCメッセージを解析
|
[route /acc_x /acc_y /light] ← ラベルごとに振り分け
| | |
[/ 1024] [/ 1024] [/ 255] ← 0〜1の範囲に正規化センサ値の範囲一覧
| センサ | 最小値 | 最大値 | 正規化の計算 |
|---|---|---|---|
| 加速度 X/Y/Z | -2048 | 2048 | 値 / 2048 で -1〜1 に |
| 加速度 strength | 0 | 2048 | 値 / 2048 で 0〜1 に |
| 明るさ | 0 | 255 | 値 / 255 で 0〜1 に |
| マイク音量 | 0 | 255 | 値 / 255 で 0〜1 に |
| コンパス | 0 | 360 | 値 / 360 で 0〜1 に |
Step 4: 音響の制作
これまで学んだ技法の組み合わせ
前半の授業で学んだ Pd の技法を振り返り、作品に活用しましょう。
| 技法 | 使用する Pd オブジェクト | 効果 |
|---|---|---|
| 正弦波の生成 | [osc~] | 基本的な音の高さの制御 |
| ノイズの生成 | [noise~] | 風や波のような音の素材 |
| 音源ファイルの再生 | [readsf~] [tabplay~] | 録音した音の利用 |
| フィルタ | [lop~] [hip~] [bp~] | 音色の変化 |
| ディレイ | [delwrite~] [delread~] | 残響やエコー効果 |
| 音量制御 | [*~] [line~] | 滑らかな音量変化 |
| ピッチシフト | 周波数の変調 | 音の高さの変化 |
| 自動演奏 | [metro] [random] | リズミカルなパターン |
制作の進め方
以下の順番で制作を進めると効率的です。
- 音を1つ作る --- まず1つの音を鳴らしてみる
- センサと接続する --- その音をセンサの値で変化させる
- 動作を確認する --- 意図通りに操作できるか確認する
- 音を追加する --- 2つ目、3つ目の音を重ねる
- 全体を調整する --- 音量バランスやレスポンスを調整する
ありがちなトラブル
- 音が出ない:
[dac~]が ON になっているか確認(DSP を ON にする) - 値が来ない: SerialOSCConverter が動作しているか、ポート番号が合っているか確認
- 音が途切れる:
[line~]で値の変化を滑らかにする(直接値を入れると「プチッ」というノイズが出る) - 音量が大きすぎる:
[*~ 0.3]のように出力を小さくする(1.0 を超えると歪む)
Step 5: 作品説明シートの作成
授業の最後に、作品説明シートを作成して提出します。以下の項目を記入してください。
テンプレート
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
作品説明シート
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【作品名】
(例: 海中散歩 〜 Sound of the Deep Sea)
【作者名】
【コンセプト】
実体のモチーフ(体験者が触れる・動かすもの):
(例: 紙や空き箱、3Dプリンタ等で作った「潜水艦」に micro:bit を内蔵)
音のモチーフ(表現したい音の世界観):
(例: 深海の世界を音で表現する)
インタラクションの関係:
(例: 「潜水艦」を傾けると水中の深さが変わり、
深くなるほど低い音が響き、手で覆うと泡の音が変化する)
【使用するセンサと操作方法】
センサ1: (例: 加速度センサ Y軸)
操作: (例: 「潜水艦」を前後に傾ける)
効果: (例: 深さに応じて音の高さが変化)
センサ2: (例: 明るさセンサ)
操作: (例: 「潜水艦」を手で覆う/離す)
効果: (例: 泡の音が出る/消える)
【技術構成】
使用する Pd オブジェクト:
(例: osc~, noise~, lop~, delwrite~, delread~,
line~, *~, metro, random)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━次回に向けて
第10回では、ペアになって互いの作品を評価する 思考発話法 を行います。それまでに「体験してもらえる状態」まで作品を仕上げておきましょう。完成していなくても構いませんが、少なくとも 音が出てセンサで操作できる状態 にしてください。
チェックリスト
自分の進捗を確認しましょう。
- [ ] モチーフを決定した
- [ ] 使用するセンサを選んだ
- [ ] 入力→処理→出力の設計図を描いた
- [ ] micro:bit のプログラムを作成した
- [ ] SerialOSCConverter でデータ変換ができた
- [ ] Pd でセンサデータを受信できた
- [ ] 1つ以上の音を生成できた
- [ ] センサの値で音が変化するようになった
- [ ] 作品説明シートを記入した