SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Pythonで
アルゴレイヴのの
世界にに
足を踏み入れるを踏み入れる踏み入れるみ入れる入れるれる
Takayuki KAISEN
contact: ksn0215@gmail.com
twitter: ksnt0215
2
お前誰よ?前誰よ?よ?
・ Favorite Languages: Python, R, Scala
・ Academic Interests
➤ Data Science
➤ Computer-Mediated Communication
➤ Computational Social Science
(➤ Complex Systems (ALife, Arts))
・ Community Activities:
➤ Participant: PyCon mini JP, PyCon JP 2011, Tokyo.Scipy
➤ Speaker: PyCon mini Hiroshima 2018
・ Interests:
➤ Math
➤ (Composing, Playing, Listening to)Music!
3
注意
・Pythonお前誰よ?よびプログラミング初心者向けプログラミング初心者向けけ
・テクニカルな話は薄め話は薄めは薄め薄めめ
(話は薄めさな話は薄めいこと)
➤ FoxDotの文法ととPythonの文法との関係 (∵ 時間の制約、能力の制約、能力)
➤ Processingのコード (∵ Javaで書かれているかれている)
➤ ライブコーディング環境の構築方法 の構築方法と (∵ 時間の制約、能力の制約)
(話は薄めすこと)
➤ FoxDotの基本的な使い方な話は薄め使い方い方
・コードは薄めすべて公開(予定)
・細かい話はブログでフォローかい話は薄めは薄めブログでフォロー(予定)
4
モチベーション
・4,5年前のオンライン講義でのでのJavaScriptの講師がアルゴレイヴがアルゴレイヴアルゴレイヴの
界にで活躍
・FoxDotの登場で機が熟したで機が熟したがアルゴレイヴ熟したした
・ Pythonでライブコーディング楽しそう!しそう!
・アルゴレイヴのやりたい!
・一緒にやろうぜ!にやろうぜ!
5
発表の流れの流れれ
●
前半: アルゴレイヴのお前誰よ?よびプログラミング初心者向けライブコーディング環境の構築方法 の紹介
●
後半: ライブコーディング
6
アルゴレイヴのって何?
●
アルゴリズム+レイヴ=アルゴレイヴ
➤ アルゴリズム = 問題を解くための手順を踏み入れる解くための手順くための手順
➤ レイヴ = ダンス音楽の音楽しそう!の1ジャンル。あるいはをそうした音楽を流すあるいは薄めを踏み入れるそうした音楽しそう!を踏み入れる流れす
イベントやパーティーのことやパーティーのこと
ex) TRFのR, The Prodigy, New Rave movement in the middle of 2000s
●
アルゴレイヴとは薄めアルゴリズムによって生成された音楽を流すイベンによって生成された音楽を流すイベンされた音楽しそう!を踏み入れる流れすイベン
トやパーティーのことのことであり、ライブコーディングがアルゴレイヴ用いられるいられる
7
アルゴズムによって生成された音楽を流すイベン+音楽しそう!って新しいの?しいの?
●
アルゴリズムによって生成された音楽を流すイベンと音楽しそう!の組み合わせは新しいわけみ入れる合わせは新しいわけわせは薄め新しいの?しいわけ
では薄めな話は薄めいと思われるわれる
●
Algorithmic compositionという分野もあるもある
●
ヤニス音楽の・クセナキス音楽の, エイフェックス音楽の・ツイン,
etc
8
DOMMUNE Tokyo - live coding performances - algorave tokyo x
yorkshire, 2018/11/14
URL: https://www.youtube.com/watch?v=Tjf-NJNfOP4
9
ライブコーディングで
よく見るソフトるソフトやパーティーのこと
IXILang, puredata, Max/MSP, SuperCollider,
Extempore, Fluxus, TidalCycles, Gibber,
Sonic Pi, FoxDot, Cyril, etc…
10
使い方ったもの
●
Music
FoxDot (FoxDot v0.7.26)
SuperCollider IDE (SuperCollider 3.10.2)
●
Visualization
Processing (Processing 3.5.3)
11
SuperCollider IDEとは薄め?
●
SuperColliderのIDE
(統合わせは新しいわけ開発環境の構築方法 )
・SuperCollider: 音響合わせは新しいわけ成された音楽を流すイベン用いられる
プログラミング環境の構築方法 お前誰よ?よびプログラミング初心者向け
言語
12
FoxDotとは薄め?
●
SuperColliderの
Pythonインター
フェース音楽の
●
Pythonのコード
がアルゴレイヴ書かれているける
13
Processingとは薄め?
●
デザイナーやアーティ
ス音楽のトやパーティーのことに向けけたプログラ
ミング言語
●
視覚表の流れ現が得意がアルゴレイヴ得意
●
Python, Java,
JavaScriptがアルゴレイヴ使い方える
14
ライブコーディング環境の構築方法 の構成された音楽を流すイベン
FoxDotSuperColider Processing
OSC(OpenSound Control)で通信
15
FoxDotの使い方い方(1)
●
Pythonのコードがアルゴレイヴその
まま書かれているける(エディタの
下ににREPLがアルゴレイヴ見るソフトえる)
●
モジュールを踏み入れるimport,
関数の定義の定義での, etc
16
FoxDotの使い方い方(2)
●
Pythonのコードがアルゴレイヴそのまま書かれているける(エディタの下ににREPLがアルゴレイヴ見るソフト
える)
●
リズムによって生成された音楽を流すイベンのパターンを踏み入れるリス音楽のトやパーティーのことで表の流れ現が得意
p1 >> viola([0,1,2,3])
●
ドラムによって生成された音楽を流すイベンの作成された音楽を流すイベン
d1 >> play(“--xo”)
17
FoxDotの使い方い方(3)
●
作成された音楽を流すイベン済みの音を取り込むみ入れるの音を踏み入れる取り込むり込むむ
p2 >> loop(“sample”, dur=4)
>>> import sys
>>> sys.path
[‘ ’, …., ‘/usr/local/lib/python3.6/dist-packages’, …]
$ cd /usr/local/lib/python3.6/dist-packages/FoxDot/snd/_loop_
$ ls
sample.wav
18
ちょっとだけ数の定義学
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
fib_rhythm = [fib(n) % 9 for n in range(30)]
フィボナッチ数の定義列 0, 1, 1, 2, 3, 5, 8, 13, 21, …...
注意
・音楽しそう!ド素人が演奏がアルゴレイヴ演奏
します
・とんでもな話は薄めい音 
 がアルゴレイヴ出たときはお耳たときは薄めお前誰よ?耳
 を踏み入れるお前誰よ?守りくださいりください
20
お前誰よ?すすめ文献
田所淳 – 演奏するプログラミング、
       ライブコーディングの思われる想と実践と実践
OK Computer – Python Live Coding
http://www.redbullmusicacademy.jp/jp/magazine/
algoraving-dancing-to-live-coding
Algorave:ライブコーディライブコーディ
ング+ダンス音楽の?
21
お前誰よ?すすめ動画
Ryan Kirkbride: Programming Music for Performance:
Live coding with FoxDot, PyCon CZ 2018
https://www.youtube.com/watch?v=XRNFBZlBeuI
Pythonでライブを踏み入れるしよう -FoxDotを踏み入れる使い方った新しいの?時代のの
Python活用いられる法と-, PyCon JP 2019
https://www.youtube.com/watch?v=lCQWLAJf6xQ
22
Let’s get started!

Más contenido relacionado

La actualidad más candente

[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnity Technologies Japan K.K.
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 
AI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはAI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはTetsurou Yano
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならねUnityTechnologiesJapan002
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
SIMDで整数除算
SIMDで整数除算SIMDで整数除算
SIMDで整数除算shobomaru
 
音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)Daichi Kitamura
 
論文紹介:Discovering Universal Geometry in Embeddings with ICA
論文紹介:Discovering Universal Geometry in Embeddings with ICA論文紹介:Discovering Universal Geometry in Embeddings with ICA
論文紹介:Discovering Universal Geometry in Embeddings with ICAToru Tamaki
 
ITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザインITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザインRoy Kim
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使うAtsushi Hayakawa
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...ryuz88
 
Research modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化するResearch modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化するSoichiro Sugimoto
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理Atsuo Ishimoto
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT deviceKentaro Mitsuyasu
 
AWS Academyの登録手順と利用手順
AWS Academyの登録手順と利用手順AWS Academyの登録手順と利用手順
AWS Academyの登録手順と利用手順Keiichi Takahashi
 

La actualidad más candente (20)

[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
AI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはAI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとは
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
 
ROSでつながるVRChat
ROSでつながるVRChatROSでつながるVRChat
ROSでつながるVRChat
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
SIMDで整数除算
SIMDで整数除算SIMDで整数除算
SIMDで整数除算
 
音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)音源分離における音響モデリング(Acoustic modeling in audio source separation)
音源分離における音響モデリング(Acoustic modeling in audio source separation)
 
論文紹介:Discovering Universal Geometry in Embeddings with ICA
論文紹介:Discovering Universal Geometry in Embeddings with ICA論文紹介:Discovering Universal Geometry in Embeddings with ICA
論文紹介:Discovering Universal Geometry in Embeddings with ICA
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
ITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザインITエンジニアに易しいUI/UXデザイン
ITエンジニアに易しいUI/UXデザイン
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...
Fast and Light-weight Binarized Neural Network Implemented in an FPGA using L...
 
Research modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化するResearch modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化する
 
Pythonのシグナル処理
Pythonのシグナル処理Pythonのシグナル処理
Pythonのシグナル処理
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 
AWS Academyの登録手順と利用手順
AWS Academyの登録手順と利用手順AWS Academyの登録手順と利用手順
AWS Academyの登録手順と利用手順
 

Similar a Pythonでアルゴレイヴの世界に足を踏み入れる

Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17Shinya Okano
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LTNaoY-2501
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022Takayuki Shimizukawa
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめcocu_628496
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Ai Makabi
 
Security.gs fes 2010 in tokyo
Security.gs fes 2010 in tokyoSecurity.gs fes 2010 in tokyo
Security.gs fes 2010 in tokyoRen Sakamoto
 
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2Takeshi Komiya
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop PythonTakuya Nishimoto
 
Python3と向かい合ってみる
Python3と向かい合ってみるPython3と向かい合ってみる
Python3と向かい合ってみるAtsuo Ishimoto
 
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまで
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまでprint("Hello World")を実行する - Pythonコードからスタック型仮想マシンまで
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまでRichard Rowland
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからTakeshi Akutsu
 
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Takayuki Shimizukawa
 
ゼロから学ぶPython勉強会
ゼロから学ぶPython勉強会ゼロから学ぶPython勉強会
ゼロから学ぶPython勉強会sekikazu
 

Similar a Pythonでアルゴレイヴの世界に足を踏み入れる (20)

Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
Stapy#22 LT
Stapy#22 LTStapy#22 LT
Stapy#22 LT
 
OSS Study#19_LT
OSS Study#19_LTOSS Study#19_LT
OSS Study#19_LT
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
Security.gs fes 2010 in tokyo
Security.gs fes 2010 in tokyoSecurity.gs fes 2010 in tokyo
Security.gs fes 2010 in tokyo
 
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop Python
 
S08 t0 orientation
S08 t0 orientationS08 t0 orientation
S08 t0 orientation
 
Python3と向かい合ってみる
Python3と向かい合ってみるPython3と向かい合ってみる
Python3と向かい合ってみる
 
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまで
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまでprint("Hello World")を実行する - Pythonコードからスタック型仮想マシンまで
print("Hello World")を実行する - Pythonコードからスタック型仮想マシンまで
 
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
 
S15 t0 introduction
S15 t0 introductionS15 t0 introduction
S15 t0 introduction
 
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015
 
Introduction
IntroductionIntroduction
Introduction
 
Introduction
IntroductionIntroduction
Introduction
 
ゼロから学ぶPython勉強会
ゼロから学ぶPython勉強会ゼロから学ぶPython勉強会
ゼロから学ぶPython勉強会
 
S09 t4 wrapup
S09 t4 wrapupS09 t4 wrapup
S09 t4 wrapup
 

Pythonでアルゴレイヴの世界に足を踏み入れる