Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yoichi Hirata
PDF, PPTX
7,375 views
Introducing libpd -Pdをアプリのサウンドエンジンに-
ビジュアルプログラミング言語であるPure Data(Pd)を、別のプログラム内で動作させるライブラリ"libpd"の説明です。
Software
◦
Read more
13
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
Most read
7
/ 17
8
/ 17
Most read
9
/ 17
10
/ 17
11
/ 17
12
/ 17
13
/ 17
14
/ 17
15
/ 17
Most read
16
/ 17
17
/ 17
More Related Content
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
PDF
ラムダと invokedynamic の蜜月
by
Taku Miyakawa
PDF
Ansible AWXを導入してみた
by
sugoto
PDF
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
PDF
チケット管理システム大決戦第二弾
by
Ryutaro YOSHIBA
PDF
診断ツールの使い方(Owasp zapの場合)
by
shingo inafuku
PDF
HashiCorpのNomadを使ったコンテナのスケジューリング手法
by
Masahito Zembutsu
PPTX
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
by
tnoho
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
ラムダと invokedynamic の蜜月
by
Taku Miyakawa
Ansible AWXを導入してみた
by
sugoto
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
チケット管理システム大決戦第二弾
by
Ryutaro YOSHIBA
診断ツールの使い方(Owasp zapの場合)
by
shingo inafuku
HashiCorpのNomadを使ったコンテナのスケジューリング手法
by
Masahito Zembutsu
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
by
tnoho
What's hot
PDF
シェーダだけで世界を創る!three.jsによるレイマーチング
by
Sho Hosoda
PDF
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
by
Yoichi Kagamitani
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
PDF
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
PDF
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
by
Kousuke Ebihara
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PDF
実践Djangoの読み方 - みんなのPython勉強会 #72
by
Masashi Shibata
PPTX
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
by
keysh2
PDF
Wireshark だけに頼らない! パケット解析ツールの紹介
by
morihisa
PDF
Rustで始める競技プログラミング
by
Naoya Okanami
PDF
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
by
Jun Nogata
PDF
GLSLtech2018 レイマーチングで半歩差のつく小技集
by
Kei Mesuda
PPTX
アメリカの超巨大クラウドの「中の人」に転生したガチ三流プログラマが米国システム開発の現実をリークする話
by
Tsuyoshi Ushio
PDF
自動テストの誤解とアンチパターン in 楽天 Tech Talk
by
kyon mm
PDF
受けてみよう。UMTP認定試験!
by
Yuki Okauchi
PDF
Ruby で高速なプログラムを書く
by
mametter
PPTX
UnityでUI開発を高速化した件
by
Grenge, Inc.
PDF
SONiCインストールしてみた
by
wataken44
シェーダだけで世界を創る!three.jsによるレイマーチング
by
Sho Hosoda
JaSST '22 Tokyo - B5「テストの素人がゲーム品管組織を作って5年で感じた、QA業界のモヤモヤ」
by
Yoichi Kagamitani
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
XML と PHP のイケナイ関係 (セキュリティ的な意味で) -Introduction of XXE attack and XML Bomb with...
by
Kousuke Ebihara
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
実践Djangoの読み方 - みんなのPython勉強会 #72
by
Masashi Shibata
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
by
keysh2
Wireshark だけに頼らない! パケット解析ツールの紹介
by
morihisa
Rustで始める競技プログラミング
by
Naoya Okanami
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
by
Jun Nogata
GLSLtech2018 レイマーチングで半歩差のつく小技集
by
Kei Mesuda
アメリカの超巨大クラウドの「中の人」に転生したガチ三流プログラマが米国システム開発の現実をリークする話
by
Tsuyoshi Ushio
自動テストの誤解とアンチパターン in 楽天 Tech Talk
by
kyon mm
受けてみよう。UMTP認定試験!
by
Yuki Okauchi
Ruby で高速なプログラムを書く
by
mametter
UnityでUI開発を高速化した件
by
Grenge, Inc.
SONiCインストールしてみた
by
wataken44
Introducing libpd -Pdをアプリのサウンドエンジンに-
1.
Introducing libpd -Pdをアプリのサウンドエンジンに-
2.
一応 自己紹介 ● 半導体メーカ勤務 ○
Arduino互換ボード ヨロシク! ● 学生時代は計測工学・信号処理が専門 ○ LabVIEW とか Simulink がお友達 (Pdの遠い親戚) ● 趣味1 音楽制作 ○ DJしてました(最近あんまり機会がない) ○ チェロも弾く ○ 同人CDとか作ったり ふと、music-orientedなゲームを作ろうと思い立つ
3.
自作のプログラムで音を鳴らしたいとき… QuickTime AVAudioPlayer SoundPlayer SoundPool 「このwavファイル再生しといて」 程度のノリ ● 変更できるのは音量、ステレオ、再生速度くらい ● タイミング(発音遅延など)の精度は考慮なし かんたん再生機能
4.
本格的なサウンドAPIは… DirectX CoreAudio ASIO AudioTrack エフェクト、ミキシング、シンセサイズ なんでも自由にできるが… ● バッファ制御(音を鳴らしている間に次の音を準備する) ● ストリーミング(時間を止めるわけにはいかない) など、リアルタイム系プログラミングの知識が必要で ハードル高い サウンドデバイスに直接 波形データを渡せる
5.
コンピュータ 音 音楽 DirectX CoreAudio ASIO AudioTrack このへんで 音楽的な発想をプログラムしやすい Pdみたいな環境があったらいいな… それぞれのドメイン(立ち位置) ファイル QuickTime AVAudioPlayer SoundPlayer SoundPool
6.
_人人人人人_ > l i b
p d <  ̄Y^Y^Y^Y^Y^ ̄ それぞれのドメイン(立ち位置) コンピュータ 音 音楽 DirectX CoreAudio ASIO AudioTrack このへんで 音楽的な発想をプログラムしやすい Pdみたいな環境があったらいいな… ファイル QuickTime AVAudioPlayer SoundPlayer SoundPool
7.
libpdとは ● Peter Brinkmann先生がメイン開発者 ○
Patchfield (Android版Rewireみたいなん)の作者でもある ● Pdをプログラム内に組み込む ○ 描画に関する機能は無し(Pdのnogui mode) ● Cでコンパイルできれば動作環境は不問 ○ DSPのサポート手厚いのは、iOSとAndroid ○ MaxにないPdならではの特徴 Pd Max libpd - 小文字らしい
8.
ここでひとつサンプル ゲームエンジン プロジェクトにlibpdを組み込んだもの 内蔵してみた音楽的な発想: ● 効果音を16分刻みで揃えて鳴らす →適当に操作してもリズミカルに ● フレーズキャプチャ →フレーズ変化をゲーム化したい でスケッチ中の
9.
どうやって動いてるか 1. 自作のプログラムの中でPdが起動する 2. [send]や[receive]で値を通信 意外とシンプルやん
10.
libpdのウリ クロスプラットフォームな「サウンドエンジン」 動作環境やプログラミング言語の違いを越えて サウンドまわりの機能をPdで書ける libpd PortAudio / OpenFrameworks DirectSound
ASIO CoreAudio AudioTrack OpenSL Your App Pure Data C / C++ / C# / Obj-C / Java / Processing / Python
11.
libpd PortAudio / OpenFrameworks DirectSound
ASIO CoreAudio AudioTrack OpenSL Your App Pure Data C / C++ / C# / Obj-C / Java / Processing / Python クロスプラットフォームな「サウンドエンジン」 動作環境やプログラミング言語の違いを越えて サウンドまわりの機能をPdで書けるlibpdの機能がすごいというか libpdを色々な環境に対応させる取り組みがすごい libpdのウリ
12.
❖ 音楽をダイナミックに変化させたい ➢ サウンドエンジンを自作する必要あり ■
libpd: 細かいリアルタイム制御不要で高い柔軟性 (Pdそのものの素性の良さ...クセはあるけど) libpdをモバイルアプリ制作に活かす
13.
❖ 音楽関係の知り合いを巻き込みたい ➢ 制作環境をばらまくため可搬性が必要 ■
libpd: Pure Data上で音楽データ制作 ■ libpd: 開発・テスト環境がフリーなAndroidで動く Main Developer Sound Designer TEST Sound Designer TEST Sound Designer TEST libpdをモバイルアプリ制作に活かす
14.
❖ ある程度は反応の速さ(レイテンシ)を気にする ➢ Androidのサウンド事情は結構悲惨 ■
libpd: OpenSL ESに対応、しかも自動で最適化 Droidcon Italy 2014 slide: http://www.slideshare.net/rotxed/tales-legends-of-low-latency-audio-on-android libpdをモバイルアプリ制作に活かす
15.
おすすめ文献 “Making Musical Apps” Peter
Brinkmann直々に解説(英語) 20% Pd入門 20% RjDj入門 15% libpd入門 25% libpd on Android 20% libpd on iOS Githubでサンプルコード公開
16.
GPLはモバイルアプリと相性が悪い iOS : App
Storeの規約に適合せず Android : Google Playで公開するには全ソースをGPL化 注意事項 Pd-extendedはGPLオブジェクトを含有 例: [expr], [expr~], [knob], [freeverb~], [route~], [atoi] 初期状態のlibpdにGPLオブジェクトは無いが Pd側でパッチを仕込むときに使わないよう注意
17.
おわり http://tkrkapps.blogspot.jp/
Download