yoppa.org


多摩美 – サウンド・パフォーマンス 2017

Raspberry Piを楽器にする 3 – ネットワークでオンラインセッション!

今日の内容

  • Raspberry Piのネットワーク機能を活用
  • Sonic Piで演奏した情報をOSCで送信
  • MacでOSCを受信して鳴らしてみる

Raspberry Piの問題点

  • あまり音質は良くない
  • ノイズが乗ってしまう
  • 内蔵のサウンドカード限界

参考: 高音質のシールド

今日のイメージ

  • Mac側のSonic Piに音響合成の処理は任せる
  • より高音質に、高速に音を生成できるはず!

参考: wifiアンテナ

Processing側の準備

  • Sonic PiのProcessingで起動するプログラムの準備
  • コーディング自体はMacでするほうが楽
  • 動作を確認したらUSBメモリ経由でSonic Piへ

送信先IPアドレスの確認

  • システム環境設定の「ネットワーク」
  • 表示されるIPアドスをコピーしておく

Sonic Piの設定

  • 受信するMacで設定
  • Preferenceを表示し、Receive Remote OSCをチェック

Processing側コード

  • 送信先IPが「192.168.1.3」の場合
import oscP5.*;
import netP5.*;
OscP5 oscP5;
NetAddress location;

void setup() {
    size(480, 320);
    frameRate(60);
    oscP5 = new OscP5(this, 12000);
    //IPアドレスを192.168.1.3に指定
    location = new NetAddress("192.168.1.3", 4559);
}

void draw() {
    background(0);
}

void mouseReleased() {
    float note = map(mouseX, 0, width, 20, 100);
    float cutoff = map(mouseY, 0, height, 10, 120);
    OscMessage msg = new OscMessage("/trigger/synth");
    msg.add(note);
    msg.add(cutoff);
    oscP5.send(msg, location);
    println(msg);
}

Sonic Pi側コード

  • 受け取り側は前回と一緒
live_loop :trigger do
  use_real_time
  note, release = sync "/osc/trigger/synth"
  synth :pluck, note: note, release: release
end

遠隔で演奏してみる

  • MacでコーディングしたProcessingのプログラムをUSBにコピー
  • Raspberry Piに移し変える
  • Raspberry PiでProcessingを起動してプログラムを読み込み
  • LCD画面をタッチして演奏してみる!

実験!

  • 複数のRaspberry Piから同じIPのMacに向けてOSCを送信
  • MacのSonic Piで受け取るようにしておく
  • 一体どうなるか?

ネットワークセッション!

  • ネットワークを活用して、どのようなパフォーマンスが可能か?
  • いろいろな機器を混在させてみる
    • Raspberry Pi
    • Mac
    • センサー
    • サーキットベンディングしたおもちゃ
  • グループで考えてみる!
  • 「ヤバい」パフォーマンスを目指そう!!

予告: 最終発表

最終発表は以下の日程で行います

  • 日時: 2017年10月24日(火) 13:00 –
  • 場所: 25-206教室
  • 今までやってきた内容をふまえて「ヤバい」サウンドパフォーマンスをする!