SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Pure Data 
2012年 
筑波大学工学システム学類 
河原圭佑
このスライドは? 
コンテンツ工学という筑波大学工学システム学類 
の授業で、ビジュアルプログラミング言語Puredata 
とKINECTを題材に演習がありました。 
その際にPuredataの日本語資料が少なかったので、 
後輩のためにPuredataの基本的な部分をPDFにまと 
めたものをSlideShareに公開したものです。 
間違いなどがありましたらコメントなどでご指摘く 
ださい。
授業内の演習はKINECTの骨格座標から判断し音を出す 
という課題であったので、その課題達成に必要最低限の 
知識を、主にプログラミングをしたことのない大学1年 
生向けに説明しています。
Puredataとは 
ビジュアルプログラミング言語で、音声や画像などの 
メディアを扱うを得意としています。 
上位互換のものとしてMaxというプログラミング言語 
(有料)があります。 
他にもLabViewやRobolabなど似たコンセプトのビ 
ジュアルプログラミング言語が存在しています。 
詳しくはwikipediaなどを参照して下さい。
どう使うのか 
まずは“Put”から
まず、bang 
bangはプログラムの 
スタートスイッチのようなもの 
OFF ON
まぁ、やってみよう。 
 全てのBangがONになりますクリック 
このようにブロック同士を線で繋いで 
クリックすると連鎖して 
電源ON 
電源ON 
電源ON 
電源ON 
電源ON 
プログラムを作ります。
プログラムを書いてみよう。 
今回使うのは 
Object 
Message 
Number 
それぞれ 
関数/演算子 
定数 
変数 
に対応します
Object 
Objectは入力,出力,オプションなどの 
端子を持っています。 
入力1 
出力 
+ 
入力2 
入力や出力が分からない時はPuredata上 
で右クリックしてヘルプを見て下さい 
最初にObjectをいくつか紹介します。
Object 
Objectの箱を出してそこに関数名/演算子を入力します 
足し算 + 
引き算   - 
割り算 / 
かけ算 * 
剰余算(mod) % 
このとき、定数はMessage 
答えは変数なのでNumberを使う。 
演算子
Object 
比較 ==    
以上 >= 
以下 <= 
ノットイコール != 
Object[random n]は0~(n-1)までの数字をランダムに出します。 
つまり[random 4]は0~3を出します。 
これらの比較系演算子は 
一致したときに数字の1を 
不一致のときに数字の0を出します。 
プログラム解説 
 bangでスタートして、ランダムに数を出力させる。 
 その和を変数に表示させて、それが”5”の時に その下の変数が1 
“5”ではない時に その下の変数が0 
演算子
回路の左下を見てください。 
Object[select]は例えば[select 5]とすると、 
その入力が“5”と一致した時に左側の端子からBangが出ます 
      不一致の時に右側の端子からBangがでます 
! 
このプログラムでは左側から出てきた信号をbangに読ませています 
! 
左下のbangにさらにプログラムをくっつければ、 
そのbangをスタートスイッチとしてまた新しいプログラムが動くように出来ます 
(selectはselと略せます) 
右の回路は左の回路と同じ処理をしています。 
Object select
Object 
bangを遅らせます。 
! 
! 
bangを一定周期で出力します。 
両方とも単位は(ms) 
このプログラムを動かしてみましょう。 
delay 
metro
KINECTの演習では 
20の関節の(x,y,z)座標がKINECTから 
Number形式で出力されるので、 
それを使ってプログラムします。
プログラム例 
http://youtu.be/1CeN2Z2dEdQ?list=UU9Qb_V-emNd6s5_Bzd3kQUQ
右肘と右手のz座標を比較して20以上ならば”1”を出す 
左肘と左手のz座標を比較して20以上ならば”1”を出す
1 1 
音を出すモジュール 
にbangを送る
音を出すモジュール 
音声ファイルのパス 
これについての説明は省略。

Mais conteúdo relacionado

Destaque

「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策
「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策
「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策Hironori Miura
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】NTT DATA OSS Professional Services
 
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5Cloudera, Inc.
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
Netezza vs Teradata vs Exadata
Netezza vs Teradata vs ExadataNetezza vs Teradata vs Exadata
Netezza vs Teradata vs ExadataAsis Mohanty
 

Destaque (7)

「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策
「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策
「360°スゴイ」を創るVOYAGE GROUPエンジニア成長施策
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5
Hive, Impala, and Spark, Oh My: SQL-on-Hadoop in Cloudera 5.5
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Netezza vs Teradata vs Exadata
Netezza vs Teradata vs ExadataNetezza vs Teradata vs Exadata
Netezza vs Teradata vs Exadata
 

Semelhante a Puredataの基礎

会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料Shigeru Kobayashi
 
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来Daiyu Hatakeyama
 
JUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラJUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラTakeo Imai
 
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触Unity Technologies Japan K.K.
 
『こつこつ』ポートフォリオ用資料.pdf
『こつこつ』ポートフォリオ用資料.pdf『こつこつ』ポートフォリオ用資料.pdf
『こつこつ』ポートフォリオ用資料.pdfssuser65f8d8
 
ポートフォリオ用資料 (1).pdf
ポートフォリオ用資料 (1).pdfポートフォリオ用資料 (1).pdf
ポートフォリオ用資料 (1).pdfssuser65f8d8
 
データ解析の効果的学修を目指した取り組みと課題
データ解析の効果的学修を目指した取り組みと課題データ解析の効果的学修を目指した取り組みと課題
データ解析の効果的学修を目指した取り組みと課題Jun-Ichi Sagara
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラLeapMind Inc
 
プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝OsSAL
 
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...NTT DATA Technology & Innovation
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」Preferred Networks
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015Daisuke Kasuya
 
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -典子 松本
 
TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003Dan Imagineer
 
2015 summercamp 01
2015 summercamp 012015 summercamp 01
2015 summercamp 01openrtm
 
実世界Live Programmingの実現に向けて
実世界Live Programmingの実現に向けて実世界Live Programmingの実現に向けて
実世界Live Programmingの実現に向けてJun Kato
 

Semelhante a Puredataの基礎 (20)

Rakuten20181027
Rakuten20181027Rakuten20181027
Rakuten20181027
 
会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料会津IT秋フォーラム2012での講演資料
会津IT秋フォーラム2012での講演資料
 
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
プログラムを自動生成する技術 ~ Programming by Example ~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
 
JUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラJUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラ
 
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
【Unity道場スペシャル 2017幕張】大学、専門学校でunityの講座をおこなった感触
 
『こつこつ』ポートフォリオ用資料.pdf
『こつこつ』ポートフォリオ用資料.pdf『こつこつ』ポートフォリオ用資料.pdf
『こつこつ』ポートフォリオ用資料.pdf
 
ポートフォリオ用資料 (1).pdf
ポートフォリオ用資料 (1).pdfポートフォリオ用資料 (1).pdf
ポートフォリオ用資料 (1).pdf
 
データ解析の効果的学修を目指した取り組みと課題
データ解析の効果的学修を目指した取り組みと課題データ解析の効果的学修を目指した取り組みと課題
データ解析の効果的学修を目指した取り組みと課題
 
New tf.keras
New tf.kerasNew tf.keras
New tf.keras
 
Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2Hadoop Conference Japan 2009 #2
Hadoop Conference Japan 2009 #2
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep Learningコンパイラ
 
プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝プログラマの為の量子プログラミング入門 宣伝
プログラマの為の量子プログラミング入門 宣伝
 
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
Project Hydrogen and Spark Graph - 分散処理 × AIをより身近にする、Apache Sparkの新機能 - (NTTデ...
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015
 
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -
ノンコーディングでやってみよう!音声テキスト変換 - LINE × Logic Apps × Speech to text -
 
TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003TouchDesigenr Beginners' workshop vol.003
TouchDesigenr Beginners' workshop vol.003
 
2015 summercamp 01
2015 summercamp 012015 summercamp 01
2015 summercamp 01
 
実世界Live Programmingの実現に向けて
実世界Live Programmingの実現に向けて実世界Live Programmingの実現に向けて
実世界Live Programmingの実現に向けて
 

Puredataの基礎