SlideShare a Scribd company logo
1 of 22
Download to read offline
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!

More Related Content

What's hot

JTubeSpeech: 音声認識と話者照合のために YouTube から構築される日本語音声コーパス
JTubeSpeech:  音声認識と話者照合のために YouTube から構築される日本語音声コーパスJTubeSpeech:  音声認識と話者照合のために YouTube から構築される日本語音声コーパス
JTubeSpeech: 音声認識と話者照合のために YouTube から構築される日本語音声コーパスShinnosuke Takamichi
 
ゼロから学ぶゲーム理論
ゼロから学ぶゲーム理論ゼロから学ぶゲーム理論
ゼロから学ぶゲーム理論Yosuke YASUDA
 
学振特別研究員になるために~2019年度申請版
学振特別研究員になるために~2019年度申請版学振特別研究員になるために~2019年度申請版
学振特別研究員になるために~2019年度申請版Masahito Ohue
 
研究発表を準備する(2022年版)
研究発表を準備する(2022年版)研究発表を準備する(2022年版)
研究発表を準備する(2022年版)Takayuki Itoh
 
研究室リテラシー教育スライド
研究室リテラシー教育スライド研究室リテラシー教育スライド
研究室リテラシー教育スライドNobutaka Shimada
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズHiroshi Shimizu
 
fastTextの実装を見てみた
fastTextの実装を見てみたfastTextの実装を見てみた
fastTextの実装を見てみたYoshihiko Shiraki
 
逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)Futa HIRAKOBA
 
心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]daiki hojo
 
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編Yosuke YASUDA
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果Makoto Hirakawa
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]Masahito Ohue
 
学振特別研究員になるために~2020年度申請版
学振特別研究員になるために~2020年度申請版学振特別研究員になるために~2020年度申請版
学振特別研究員になるために~2020年度申請版Masahito Ohue
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析Mitsuo Shimohata
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版Masahito Ohue
 
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)daiki hojo
 
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]Masahito Ohue
 
査読の仕組みと論文投稿上の対策
査読の仕組みと論文投稿上の対策査読の仕組みと論文投稿上の対策
査読の仕組みと論文投稿上の対策Takayuki Itoh
 
深層学習と音響信号処理
深層学習と音響信号処理深層学習と音響信号処理
深層学習と音響信号処理Yuma Koizumi
 

What's hot (20)

JTubeSpeech: 音声認識と話者照合のために YouTube から構築される日本語音声コーパス
JTubeSpeech:  音声認識と話者照合のために YouTube から構築される日本語音声コーパスJTubeSpeech:  音声認識と話者照合のために YouTube から構築される日本語音声コーパス
JTubeSpeech: 音声認識と話者照合のために YouTube から構築される日本語音声コーパス
 
ゼロから学ぶゲーム理論
ゼロから学ぶゲーム理論ゼロから学ぶゲーム理論
ゼロから学ぶゲーム理論
 
学振特別研究員になるために~2019年度申請版
学振特別研究員になるために~2019年度申請版学振特別研究員になるために~2019年度申請版
学振特別研究員になるために~2019年度申請版
 
研究発表を準備する(2022年版)
研究発表を準備する(2022年版)研究発表を準備する(2022年版)
研究発表を準備する(2022年版)
 
研究室リテラシー教育スライド
研究室リテラシー教育スライド研究室リテラシー教育スライド
研究室リテラシー教育スライド
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
fastTextの実装を見てみた
fastTextの実装を見てみたfastTextの実装を見てみた
fastTextの実装を見てみた
 
逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)
 
心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]心理学者のためのJASP入門(操作編)[説明文をよんでください]
心理学者のためのJASP入門(操作編)[説明文をよんでください]
 
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編
ゲーム理論とマーケットデザイン入門 --- マーケットデザイン編
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成29年度申請版]
 
学振特別研究員になるために~2020年度申請版
学振特別研究員になるために~2020年度申請版学振特別研究員になるために~2020年度申請版
学振特別研究員になるために~2020年度申請版
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
学振特別研究員になるために~2024年度申請版
 学振特別研究員になるために~2024年度申請版 学振特別研究員になるために~2024年度申請版
学振特別研究員になるために~2024年度申請版
 
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)
心理学におけるオープンサイエンス入門(OSF&PsyArXiv編)
 
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]
学振特別研究員になるために~知っておくべき10のTips~[平成28年度申請版]
 
査読の仕組みと論文投稿上の対策
査読の仕組みと論文投稿上の対策査読の仕組みと論文投稿上の対策
査読の仕組みと論文投稿上の対策
 
深層学習と音響信号処理
深層学習と音響信号処理深層学習と音響信号処理
深層学習と音響信号処理
 

Similar to 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 to 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でアルゴレイヴの世界に足を踏み入れる