Skip to content

第8-9回 インタラクティブなサウンドアートを作ろう

これまでに学んだ技術を総動員して、オリジナルのインタラクティブサウンドアート作品の制作を開始します。2回分の授業を使って、モチーフの選定から音響制作までを進めましょう。

今回のゴール

  • オリジナルのインタラクティブサウンドアート作品の制作を開始する
  • モチーフとインタラクションを決定する
  • micro:bit のセンシングと Pd の音響合成を連携させる
  • 作品説明シートを作成する

準備するもの

アイテム説明
micro:bit V2センサ内蔵のマイコンボード
USB ケーブルmicro:bit と PC を接続する
PCPure Data がインストール済み
ヘッドホン / イヤホン音を確認するために使用
ノート・筆記用具アイデアスケッチ用

Step 1: モチーフの選定

モチーフとは

モチーフ とは、作品の テーマや題材 のことです。「何を表現したいか」を決める最初のステップです。

インタラクティブサウンドアートのモチーフには、大きく分けて 2つの側面 があります。

音のモチーフ — 何を「音」で表現するか

作品を通じて体験者に伝えたい世界観や雰囲気のことです。「雨の音」「深海の静けさ」「お祭りの活気」のように、音を通じてどんな体験を届けたいかを考えます。

実体のあるモチーフ — 体験者が実際に触れるもの

インタラクティブな作品では、体験者が手に取ったり、動かしたり、触れたりする物理的なオブジェクトもモチーフの重要な一部です。micro:bit をそのまま持たせるのではなく、何かの形に組み込むことで、体験の説得力が大きく変わります。

実体のモチーフ組み込み方音のモチーフとの関係
懐中電灯micro:bit を懐中電灯の中に入れる光を当てる方向で洞窟の中の音が変わる
うちわ・扇子micro:bit をうちわに貼り付ける扇ぐ動作で風の音が生まれる
砂時計micro:bit を砂時計型のケースに入れる傾けると砂が落ちる音が流れる
ぬいぐるみmicro:bit をぬいぐるみの中に仕込む揺らしたり撫でたりすると鳴き声が変わる
楽器の形をした物micro:bit をギターやマラカスの形に取り付ける振る・傾ける動作が演奏になる
箱・容器micro:bit を箱に入れて蓋を開閉できるようにする蓋を開けると中から音が溢れ出す
植物の模型micro:bit を鉢植え型のオブジェクトに仕込む手をかざすと花が咲く音がする

実体のあるモチーフが作品を変える

同じ「加速度センサで音の高さが変わる」仕組みでも、micro:bit をそのまま手に持つ場合と、剣の形をした物に組み込む場合とでは、体験者の感じ方がまったく違います。何を持って、何を触るか は、音と同じくらい作品の印象を左右します。

身の回りの物(100均の小物、段ボール、ペットボトルなど)を活用して、コンセプトに合った形を考えてみましょう。

モチーフの例

2つの側面を組み合わせて考えてみましょう。

カテゴリ音のモチーフ実体のモチーフ例体験のイメージ
自然現象雨、風、波、雷うちわ、傘、貝殻うちわを扇ぐと風の音、傘を傾けると雨音が変化
日常の動作料理、掃除、工作おたま、ほうき、ハンマーおたまを振ると鍋の音、叩く強さで音が変わる
感情喜び、恐怖、癒しオルゴール、箱、ランタン箱を開けると不思議な音、ランタンを灯すと癒しの音
空間洞窟、宇宙、森、水中懐中電灯、望遠鏡、瓶懐中電灯の向きで洞窟内の音が変わる
生き物鳥、虫、猫、魚ぬいぐるみ、卵、羽根ぬいぐるみを揺らすと鳴き声が変化
抽象概念時間、色、温度砂時計、万華鏡、風船砂時計を傾けると時間の流れる音

考えるヒント

以下の問いを自分に投げかけてみましょう。

  1. 「どんな音が聞こえたら面白い?」 --- 日常では聞けない音を想像する
  2. 「何を手に持ったら面白い?」 --- 体験者が触れるオブジェクトを想像する
  3. 「どんな動きで音を出したい?」 --- 持ったオブジェクトをどう動かすかを考える
  4. 「体験者にどんな気持ちになってほしい?」 --- 作品を通じて伝えたい印象を決める

アイデア出しのコツ

まずは思いついたことを何でもノートに書き出しましょう(ブレインストーミング)。質より量が大切です。10個以上アイデアを出してから、最も面白いものを1つ選びましょう。

「音のモチーフ」と「実体のモチーフ」を別々にリストアップしてから組み合わせると、意外な発想が生まれやすくなります。


Step 2: インタラクションの決定

使用するセンサの選択

micro:bit に内蔵されているセンサから、モチーフに合ったものを選びます。

センサ検出できることインタラクションの例
加速度センサ傾き、振り、衝撃振る→雷が鳴る、傾ける→風の方向が変わる
明るさセンサ光の量手で覆う→洞窟に入る、光を当てる→朝が来る
マイクロフォン音量声を出す→エコーが返る、手を叩く→打楽器が鳴る
タッチセンサロゴへの接触触れる→心臓の鼓動、離す→静寂
ボタン(A/B)押す操作モード切替、音色の変更
地磁気センサ方角北を向く→風の音、南を向く→波の音

インタラクションの設計

入力 → 処理 → 出力 の流れを図にして整理しましょう。

【入力】            【処理】              【出力】
micro:bit         Pd パッチ            スピーカー
━━━━━━━━━         ━━━━━━━━━            ━━━━━━━━
加速度 X軸  ──→   周波数に変換   ──→   正弦波の高さ
加速度 Y軸  ──→   音量に変換    ──→   全体の音量
ボタンA     ──→   モード切替    ──→   音色が変わる

設計図を必ず描こう

いきなりプログラミングを始めるのではなく、まず紙に設計図を描きましょう。「どのセンサの値が」「どのように変換されて」「どんな音になるか」を明確にしておくと、制作がスムーズに進みます。

設計シートの記入例

以下の項目を埋めて、インタラクションを明確にしましょう。

項目記入例
モチーフ海の中の世界
入力センサ1加速度センサ(傾き)
操作方法1micro: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 に送ります。

  1. SerialOSCConverter を起動する
  2. micro:bit が接続されている シリアルポート を選択する
  3. ボーレート115200 に設定する
  4. OSC 送信先ポート を確認する(デフォルトは 8000
  5. 「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-20482048値 / 2048 で -1〜1 に
加速度 strength02048値 / 2048 で 0〜1 に
明るさ0255値 / 255 で 0〜1 に
マイク音量0255値 / 255 で 0〜1 に
コンパス0360値 / 360 で 0〜1 に

Step 4: 音響の制作

これまで学んだ技法の組み合わせ

前半の授業で学んだ Pd の技法を振り返り、作品に活用しましょう。

技法使用する Pd オブジェクト効果
正弦波の生成[osc~]基本的な音の高さの制御
ノイズの生成[noise~]風や波のような音の素材
音源ファイルの再生[readsf~] [tabplay~]録音した音の利用
フィルタ[lop~] [hip~] [bp~]音色の変化
ディレイ[delwrite~] [delread~]残響やエコー効果
音量制御[*~] [line~]滑らかな音量変化
ピッチシフト周波数の変調音の高さの変化
自動演奏[metro] [random]リズミカルなパターン

制作の進め方

以下の順番で制作を進めると効率的です。

  1. 音を1つ作る --- まず1つの音を鳴らしてみる
  2. センサと接続する --- その音をセンサの値で変化させる
  3. 動作を確認する --- 意図通りに操作できるか確認する
  4. 音を追加する --- 2つ目、3つ目の音を重ねる
  5. 全体を調整する --- 音量バランスやレスポンスを調整する

ありがちなトラブル

  • 音が出ない: [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つ以上の音を生成できた
  • [ ] センサの値で音が変化するようになった
  • [ ] 作品説明シートを記入した