Impromptu (programovací prostředí) - Impromptu (programming environment)
![]() | |
Paradigma | Funkční, multi-paradigma |
---|---|
Navrhl | Andrew Sorensen |
Poprvé se objevil | 2005 |
Stabilní uvolnění | 2.5 |
Psací disciplína | Dynamický & statický |
OS | Mac OS X |
webová stránka | improvizovaný |
Ovlivněno | |
Ovlivněno | |
Extempore |
Improvizovaný je Mac OS X programování prostředí pro živé kódování. Impromptu je postaven kolem Systém jazyk, který je členem Lisp rodina jazyků. Zdrojový kód jeho jádra byl otevřen jako Extempore projekt.
Popis
Prostředí umožňuje provádět změny v programu na adrese runtime, takže proměnné a funkce mohou být předefinovány a změny se projeví okamžitě. Programátor může také vytvořit a naplánovat kód pro budoucí spuštění, stejně jako datové události, jako jsou poznámky a grafické objekty. Jakmile je událost naplánována, provádění pokračuje. Smyčka se provádí pomocí idiomu zvaného „temporální rekurze“, který funguje tak, že funkce má asynchronně naplánovat budoucí volání sama sebe jako svou poslední akci.
Knihovna umožňuje komunikaci s Zvukové jednotky pro syntézu zvuku as grafickými vrstvami, jako je QuickTime, Křemen, Základní obrázek, OpenGL pro kompozice videa. Kód napsaný v Cíl-C lze volat z editoru a také rámce Objective-C mohou provádět volání interpretu schématu.
Tlumočník schématu Impromptu byl původně vytvořen z TinyScheme 1,35 základní linie, ale od té doby byla podstatně upravena, aby lépe vyhovovala kontextu živého kódování. V reálném čase Popelář, a Cíl-C přidána integrace. Také nový staticky zadaný jazyk s názvem Extempore jazyk byl integrován do systému. Tento jazyk je syntakticky podobný schématu, ale sémanticky bližší k jazyku C a je navržen pro syntézu zvuku v reálném čase a další výpočetně náročné úkoly. Poskytuje odvození typu a je kompilován do jazyk stroje podle LLVM.
Ukázkový výkon
Studie v Keithu je živé programovací vystoupení v Impromptu od Andrewa Sorensena. První dvě minuty (1:56) jsou tiché, zatímco umělec píše program, který vyprodukuje uvedení díla. Od té doby upravuje kód za běhu, aby vyvinul kompozici.
Extempore
Jádro Impromptu bylo vydáno jako Extempore pod licencí stylu BSD. Běží pod oběma Linux a Mac OS X. Zahrnuje Scheme interpreter, překladač Extempore Language a plánovač. Vazby na Jablko knihovny chybí, ale prostředí může komunikovat s dynamickými knihovnami.
Viz také
- Zvuk
- Porovnání prostředí zvukové syntézy
- SuperCollider
- Zpracování (programovací jazyk)
- OpenFrameworks
- ChucK
- Seznam hudebního softwaru
- Max (software)
- Čistá data
Reference
Akademické práce
- Sorensen, A (2010) "Distribuovaná paměť pro výkon síťového živého kódování „Mezinárodní konference o počítačové hudbě 2010, New York
- Sorensen, A & Brown, A (2008) "Výpočtový model pro generování orchestrální hudby v germánské symfonické tradici: Zpráva o pokroku "příspěvek prezentovaný na Australasian Computer Music Conference 2008, Sydney
- Sorensen, A & Brown, A (2007) "aa-cell v praxi: Přístup k hudebnímu živému kódování "příspěvek prezentovaný na mezinárodní konferenci počítačové hudby 2007 v Kodani
- Sorensen, A. (2005) "Impromptu: Interaktivní programovací prostředí pro kompozici a výkon „příspěvek prezentovaný na Australasian Computer Music Conference 2005, Brisbane: ACMA, s. 149–153. (Poznámka: Diskutovaná improvizovaná verze je zastaralá)
- Sorensen, A. "ICR - Impromptu Compunt Runtime "
- Thor Magnusson, “Vyznání živého kodéru “, Proceedings of International Computer Music Conference, 2011.
Jiné zdroje
- Peter Kirn, “Myšlenka a výkon, živá kódovací hudba, vysvětleno komukoli - opravdu ", Vytvořit digitální hudbu, 2011
- Mitchell Whitelaw, “From Scratch - A Conversation with Andrew Sorensen ", 2007