SlideShare a Scribd company logo
Submit Search
Upload
Raspberry PiとPdでオリジナルのシンセを作る
Report
Share
Chikashi Miyama
Research Associate
Follow
•
23 likes
•
17,926 views
1
of
24
Raspberry PiとPdでオリジナルのシンセを作る
•
23 likes
•
17,926 views
Report
Share
Download Now
Download to read offline
Education
Raspberry PiとPdを組み合わせて、小さな自作楽器を作る方法を説明します。
Read more
Chikashi Miyama
Research Associate
Follow
Recommended
エンジニアから飛んでくるマサカリを受け止める心得 by
エンジニアから飛んでくるマサカリを受け止める心得
Reimi Kuramochi Chiba
64.4K views
•
24 slides
iPad LiDARでエンジニアカフェを3Dスキャン by
iPad LiDARでエンジニアカフェを3Dスキャン
Takashi Yoshinaga
1.4K views
•
15 slides
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 - by
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier_IV
11.6K views
•
74 slides
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み by
[Track2-5] CPUだけでAIをやり切った最近のお客様事例 と インテルの先進的な取り組み
Deep Learning Lab(ディープラーニング・ラボ)
3K views
•
26 slides
Rclex: ElixirでROS!! by
Rclex: ElixirでROS!!
Hideki Takase
1.7K views
•
24 slides
#FTMA15 第二回課題 鬼コースサーベイ by
#FTMA15 第二回課題 鬼コースサーベイ
Yoichi Ochiai
7.2K views
•
87 slides
More Related Content
What's hot
ネットワーク ゲームにおけるTCPとUDPの使い分け by
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
61.4K views
•
63 slides
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社 by
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
Game Tools & Middleware Forum
4.1K views
•
36 slides
2022国際ロボット展に見る産業用ロボットの最新技術動向 by
2022国際ロボット展に見る産業用ロボットの最新技術動向
豆寄席 (株式会社豆蔵)
550 views
•
41 slides
#FTMA15 第一回 鬼コース 全PDF by
#FTMA15 第一回 鬼コース 全PDF
Yoichi Ochiai
27.8K views
•
127 slides
tcolorboxによる装飾表現(TeXユーザの集い2015) by
tcolorboxによる装飾表現(TeXユーザの集い2015)
TeXmedicine
438.1K views
•
72 slides
Surveyから始まる研究者への道 - Stand on the shoulders of giants - by
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
諒介 荒木
4.7K views
•
62 slides
What's hot
(20)
ネットワーク ゲームにおけるTCPとUDPの使い分け by モノビット エンジン
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
•
61.4K views
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社 by Game Tools & Middleware Forum
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
Game Tools & Middleware Forum
•
4.1K views
2022国際ロボット展に見る産業用ロボットの最新技術動向 by 豆寄席 (株式会社豆蔵)
2022国際ロボット展に見る産業用ロボットの最新技術動向
豆寄席 (株式会社豆蔵)
•
550 views
#FTMA15 第一回 鬼コース 全PDF by Yoichi Ochiai
#FTMA15 第一回 鬼コース 全PDF
Yoichi Ochiai
•
27.8K views
tcolorboxによる装飾表現(TeXユーザの集い2015) by TeXmedicine
tcolorboxによる装飾表現(TeXユーザの集い2015)
TeXmedicine
•
438.1K views
Surveyから始まる研究者への道 - Stand on the shoulders of giants - by 諒介 荒木
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
諒介 荒木
•
4.7K views
mROS:組込みデバイス向けのROS1ノード軽量実行環境 by Hideki Takase
mROS:組込みデバイス向けのROS1ノード軽量実行環境
Hideki Takase
•
931 views
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019 by Tokoroten Nakayama
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
•
166.1K views
魔法使いの研究室 Vol.1 by Yoichi Ochiai
魔法使いの研究室 Vol.1
Yoichi Ochiai
•
9.3K views
IT系エンジニアのためのプレゼンテーション入門 by Masahito Zembutsu
IT系エンジニアのためのプレゼンテーション入門
Masahito Zembutsu
•
289.9K views
フーリエ変換と画像圧縮の仕組み by yuichi takeda
フーリエ変換と画像圧縮の仕組み
yuichi takeda
•
239.5K views
TensorFlow Lite Delegateとは? by Mr. Vengineer
TensorFlow Lite Delegateとは?
Mr. Vengineer
•
9.1K views
UXデザイン概論 by Masaya Ando
UXデザイン概論
Masaya Ando
•
10.9K views
ChatGPTのビジネス活用とセキュリティ by Daisuke Masubuchi
ChatGPTのビジネス活用とセキュリティ
Daisuke Masubuchi
•
429 views
テスト文字列に「うんこ」と入れるな by Kentaro Matsui
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
•
178.5K views
ChatGPTがもたらす未来予測 by Koji Fukuoka
ChatGPTがもたらす未来予測
Koji Fukuoka
•
286 views
ChatGPT 人間のフィードバックから強化学習した対話AI by Shota Imai
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
•
106.1K views
優れた研究論文の書き方―7つの提案 by Masanori Kado
優れた研究論文の書き方―7つの提案
Masanori Kado
•
200K views
C#とILとネイティブと by 信之 岩永
C#とILとネイティブと
信之 岩永
•
26.2K views
JSX 速さの秘密 - 高速なJavaScriptを書く方法 by Kazuho Oku
JSX 速さの秘密 - 高速なJavaScriptを書く方法
Kazuho Oku
•
29.1K views
Similar to Raspberry PiとPdでオリジナルのシンセを作る
Raspberry Pi入門 by
Raspberry Pi入門
VirtualTech Japan Inc./Begi.net Inc.
683 views
•
22 slides
Rasberrypi 2013-08-17 by
Rasberrypi 2013-08-17
Hashimoto Hisashi
57 views
•
15 slides
131106 03 i-rex2013 by
131106 03 i-rex2013
openrtm
1.3K views
•
9 slides
Raspberry PiとノートPCを繋げよう by
Raspberry PiとノートPCを繋げよう
VirtualTech Japan Inc./Begi.net Inc.
9.9K views
•
16 slides
ロボットシステム学2015年第7回 by
ロボットシステム学2015年第7回
Ryuichi Ueda
5.9K views
•
22 slides
2013 summercamp 03 by
2013 summercamp 03
openrtm
2.3K views
•
8 slides
Similar to Raspberry PiとPdでオリジナルのシンセを作る
(13)
Raspberry Pi入門 by VirtualTech Japan Inc./Begi.net Inc.
Raspberry Pi入門
VirtualTech Japan Inc./Begi.net Inc.
•
683 views
Rasberrypi 2013-08-17 by Hashimoto Hisashi
Rasberrypi 2013-08-17
Hashimoto Hisashi
•
57 views
131106 03 i-rex2013 by openrtm
131106 03 i-rex2013
openrtm
•
1.3K views
Raspberry PiとノートPCを繋げよう by VirtualTech Japan Inc./Begi.net Inc.
Raspberry PiとノートPCを繋げよう
VirtualTech Japan Inc./Begi.net Inc.
•
9.9K views
ロボットシステム学2015年第7回 by Ryuichi Ueda
ロボットシステム学2015年第7回
Ryuichi Ueda
•
5.9K views
2013 summercamp 03 by openrtm
2013 summercamp 03
openrtm
•
2.3K views
Dart on Raspberry Pi by Kasai Nobuhiro
Dart on Raspberry Pi
Kasai Nobuhiro
•
2.1K views
Starting qt5beta at_raspberry_pi Qtnagoya#6 by Kazuo Asano (@kazuo_asa)
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
•
2.1K views
Morinezumiiii 20150425-bluetooth by Amuro Nishizawa
Morinezumiiii 20150425-bluetooth
Amuro Nishizawa
•
656 views
OSC2013京都スライド「超小型ARMコンピュータRaspberry Piでできること」 by Yuriko IKEDA
OSC2013京都スライド「超小型ARMコンピュータRaspberry Piでできること」
Yuriko IKEDA
•
3.6K views
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに- by mmitti
Zynqで始めるUSB開発-FPGAとARMで動くUSBオーディオデバイスの実例とともに-
mmitti
•
1.2K views
はじめようRaspberry Pi by VirtualTech Japan Inc./Begi.net Inc.
はじめようRaspberry Pi
VirtualTech Japan Inc./Begi.net Inc.
•
872 views
Raspberry pi 2 by arappocaro jp
Raspberry pi 2
arappocaro jp
•
50 views
More from Chikashi Miyama
Software2 SS2016 2 by
Software2 SS2016 2
Chikashi Miyama
287 views
•
61 slides
Software2 SS2016 1 by
Software2 SS2016 1
Chikashi Miyama
622 views
•
59 slides
SuperCollider SS2016 5 by
SuperCollider SS2016 5
Chikashi Miyama
350 views
•
39 slides
SuperCollider SS2016 4 by
SuperCollider SS2016 4
Chikashi Miyama
382 views
•
22 slides
SuperCollider SS2016 3 by
SuperCollider SS2016 3
Chikashi Miyama
235 views
•
37 slides
SuperCollider SS2016 1 by
SuperCollider SS2016 1
Chikashi Miyama
393 views
•
42 slides
More from Chikashi Miyama
(7)
Software2 SS2016 2 by Chikashi Miyama
Software2 SS2016 2
Chikashi Miyama
•
287 views
Software2 SS2016 1 by Chikashi Miyama
Software2 SS2016 1
Chikashi Miyama
•
622 views
SuperCollider SS2016 5 by Chikashi Miyama
SuperCollider SS2016 5
Chikashi Miyama
•
350 views
SuperCollider SS2016 4 by Chikashi Miyama
SuperCollider SS2016 4
Chikashi Miyama
•
382 views
SuperCollider SS2016 3 by Chikashi Miyama
SuperCollider SS2016 3
Chikashi Miyama
•
235 views
SuperCollider SS2016 1 by Chikashi Miyama
SuperCollider SS2016 1
Chikashi Miyama
•
393 views
SuperCollider SS2016 2 by Chikashi Miyama
SuperCollider SS2016 2
Chikashi Miyama
•
380 views
Recently uploaded
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』 by
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』
Tokyo Institute of Technology
752 views
•
4 slides
基礎強化数学 第16回 by
基礎強化数学 第16回
studyplace0
13 views
•
7 slides
基礎強化数学 第11回 by
基礎強化数学 第11回
studyplace0
13 views
•
8 slides
基礎強化数学 第9回 by
基礎強化数学 第9回
studyplace0
13 views
•
9 slides
基礎強化数学 第15回 by
基礎強化数学 第15回
studyplace0
13 views
•
6 slides
慶應義塾文学部2014 by
慶應義塾文学部2014
studyplace0
12 views
•
31 slides
Recently uploaded
(20)
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『物質理工学院の変更点、出題のねらいと出題例』
Tokyo Institute of Technology
•
752 views
基礎強化数学 第16回 by studyplace0
基礎強化数学 第16回
studyplace0
•
13 views
基礎強化数学 第11回 by studyplace0
基礎強化数学 第11回
studyplace0
•
13 views
基礎強化数学 第9回 by studyplace0
基礎強化数学 第9回
studyplace0
•
13 views
基礎強化数学 第15回 by studyplace0
基礎強化数学 第15回
studyplace0
•
13 views
慶應義塾文学部2014 by studyplace0
慶應義塾文学部2014
studyplace0
•
12 views
小論文模試解説 by studyplace0
小論文模試解説
studyplace0
•
16 views
基礎強化数学 2次関数のグラフ by studyplace0
基礎強化数学 2次関数のグラフ
studyplace0
•
13 views
基礎強化数学 第18回 by studyplace0
基礎強化数学 第18回
studyplace0
•
12 views
基礎強化数学 第13回 by studyplace0
基礎強化数学 第13回
studyplace0
•
13 views
早稲田大学教育学部 近代論 by studyplace0
早稲田大学教育学部 近代論
studyplace0
•
12 views
高齢化社会 by studyplace0
高齢化社会
studyplace0
•
16 views
基礎強化数学 第2回 by studyplace0
基礎強化数学 第2回
studyplace0
•
9 views
九州大学共創学部 設問1問1 by studyplace0
九州大学共創学部 設問1問1
studyplace0
•
16 views
基礎強化数学 第5回 by studyplace0
基礎強化数学 第5回
studyplace0
•
13 views
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』 by Tokyo Institute of Technology
東京工業大学の新しい総合型・学校推薦型選抜(一般枠・女子枠)『理学院の変更点、出題のねらいと出題例』
Tokyo Institute of Technology
•
960 views
基礎強化数学 第17回 by studyplace0
基礎強化数学 第17回
studyplace0
•
12 views
基礎強化数学 第3回 by studyplace0
基礎強化数学 第3回
studyplace0
•
9 views
基礎強化数学 第12回 by studyplace0
基礎強化数学 第12回
studyplace0
•
13 views
記述問題練習「贅沢の条件」 by studyplace0
記述問題練習「贅沢の条件」
studyplace0
•
41 views
Raspberry PiとPdでオリジナルのシンセを作る
1.
Raspberry PiとPdでオリジナルのシンセを作る 美山千香士 ドイツ/ケルン音楽舞踏大学講師 ケルンメディア大学フェロー スイス/チューリッヒ芸術大学非常勤講師 チューリッヒICST研究員
2.
Github 本日お見せするパッチ プログラムはGitHubに公開しています。 https://github.com/chikashimiyama/pdj2
3.
Demo ! RaspberryPi+Pd+MIDIキーボード+赤外線センサー によるミニシンセ
4.
Raspberry Piとは • Raspberry Pi
Foundationによる超小型コンピュータ • Arm ベースのCPU (Linuxが動かせる) • 512MB のRAM • 1x Audio out • HDMI/Compositeによる映像出力 • USB x2 • GPIOピン
5.
Raspberry PiでPd-extendedを動かすには • Satelite CCRMAをインストールする • Satelite
CCRMAはスタンフォード大学の開発してい るRaspberry Pi用のLinuxディストリビューション • Pd-extended、Arduino、Faust、ChucK、Jack等のク リエーティブ・コーディング用のソフトウェアが予 めインストールされている https://ccrma.stanford.edu/~eberdahl/satellite/
6.
Xフォワーディング • RaspberryPi本体にマウス、キーボード、ディスプレイを繋 がなくとも、他のコンピュータからRaspberryPiをEthernet 経由で操作し、Pdのプログラミングをする事が可能 Pdプログラミング 音 Ethernet
7.
MIDIも繋げるの? • 多くのUSB-MIDI機器はRaspPiが自動的に認識する Pdパッチと組み合わせれば 自作のミニシンセが簡単に出来る! USB
8.
音質をもっと良くしたい • USBオーディオ・インターフェースを使う Creative Media Sound Blaster
Play ・但しオーディオインターフェースを使うと、サンプル・レートが決め打ち(44.1k)になる ・USBバスパワーには限界がある
9.
MIDIだけでなくセンサーとも組み合わせて 音をコントロールしたい • 方法1:Arduinoと組み合わせる
10.
MIDIだけでなくセンサーとも組み合わせて 音をコントロールしたい • 方法1:Arduinoと組み合わせる • 問題点 • シリアル通信に時間がかかる • システムが大きくなる • 6コ以上センサーが繋げない、10ビット以上の解像度が 得られない • Arduinoに電力供給 しなければならない
11.
MIDIだけでなくセンサーとも組み合わせて 音をコントロールしたい • 方法2:Raspberry PiのGPIO (General
Propose Input Output)を使う
12.
GPIOで何ができるの? • Arduinoで出来る事が大体できます 例えば…. LED点灯 サーボ制御 LCD表示
13.
Gertboard • RaspberryPiのGPIOをフルに利用してハードウェアを開 発したい人のための拡張ボード https://www.sparkfun.com/products/11773
14.
GPIOで出来ない事 • RaspPiにADC (アナログ・デジタルコンバーター)はない ため電圧を読み取る事ができない 外部ADCと接続する必要がある
15.
手に入りやすいADC • ADC0831 MCP3208 300円(秋葉原・秋月電子通商)
16.
GPIOをプログラムするには • GPIOに関する網羅的な情報 • • http://elinux.org/RPi_Low-level_peripherals C、Python、Ruby、Perl、Javaなど様々な言語でGPIO を操作するプログラムを書くことが可能
17.
SPIとは • Serial Peripheral Interfaceの略 • IC間の通信によく使われる規格。I2Cに比べて高速 CS CLK RaspPi MOSI DI MISO DO ADC
18.
SPIとは • 複数のチップを繋ぐ事も可能なので、チャンネル数を 好きなだけ増やすことも可能 ADC RaspPi ADC SCL, DO, DIバスは共有可能
19.
Wiring Pi • ArduinoライクなRaspberryPi用Cライブラリ ライブラリの提供する機能 - UART -
LCD - PWM - SPI - I2C 作者のGordon Drogon氏 ダウンロードとインストール https://projects.drogon.net/raspberry-pi/wiringpi/ バイナリは含まれないが、 コンパイルはスクリプトがあるので簡単にできる
20.
外部ADCとSPI接続する例 ADCはTIのADC0831を使用
21.
ADCの値をWiringPiを利用して取得する #include #include #include #include ! <wiringPi.h> <wiringPiSPI.h> <stdio.h> <unistd.h> adc0831.c int main(void){ int spiCh
= 1; unsigned char data[2]; int spi = wiringPiSPISetup(spiCh, 500000); ! ! ! } wiringPiSetup(); pinMode(12, OUTPUT); digitalWrite(12, HIGH); for(;;){ int res; unsigned char value; digitalWrite(12, LOW); res = wiringPiSPIDataRW(spiCh, data, 2); digitalWrite(12, HIGH); value = (data[0] << 2) + (data[1] >> 6); printf("data:%dn", value); usleep(10000); } return 0; Arduinoライクな プログラムが可能
22.
#include "m_pd.h" #include "wiringPi.h" #include
"wiringPiSPI.h" #define CS 12 ! static ! t_class *getspi_class; typedef struct _getspi { t_object x_obj; t_outlet *x_outlet; unsigned char data[2]; } t_getspi; オブジェクトの保持するデータ ! ! void getspi_bang(t_getspi *x){ int res; unsigned char value; digitalWrite(CS, LOW); res = wiringPiSPIDataRW(1, &x->data[0], 2); digitalWrite(CS, HIGH); value = (x->data[0] << 2) + (x->data[1] >> 6); outlet_float(x->x_outlet, (float)value); } bangが送られてきた時に 実行される関数 ! void *getspi_new(void){ int spi = wiringPiSPISetup(1, 500000); wiringPiSetup(); pinMode(CS, OUTPUT); digitalWrite(CS, HIGH); if(spi == -1){ post("cannot initialize SPIn"); } } オブジェクトが作られた時に 実行される関数 t_getspi *x = (t_getspi *)pd_new(getspi_class); x->x_outlet = outlet_new(&x->x_obj, gensym("float")); return (void *)x; ! void getspi_setup(void){ getspi_class = class_new(gensym("getspi"), (t_newmethod)getspi_new, 0, sizeof(t_getspi), CLASS_DEFAULT, 0); class_addbang(getspi_class, getspi_bang); } Pdにオブジェクトを登録する関数
23.
エクスターナル・オブジェクトの プログラミング方法の詳細 • IOhannes Zmölgnigによるチュートリアル • • http://pdstatic.iem.at/externals-HOWTO/ 美山千香士「Pure Dataチュートリアル&リファレンス」 第20章
24.
まとめ • Pdは小型低価格コンピュータRaspberryPi上で動く • Satellite CCRMAを使うと簡単にPdをRaspPiの上で動かせる • MIDIキーボードやArduinoとRaspberryPiの組み合わせもOK • RaspBerryPiにはGPIOがあり、電子工作との相性も良い • 外部ADCとGPIOをSPIで通信させて、Arduinoナシで独自楽器を作ることも可能 • GPIOの操作にはWiringPiというライブラリがオススメ • WiringPiを組み込んだCプログラムをPdのエクスターナルオブジェクトとして実装 することも可能