• Corpus ID: 18691190

Music Programming in Gibber

  title={Music Programming in Gibber},
  author={Charles Roberts and Matthew James Wright and JoAnn Kuchera-Morin},
We document music programming in Gibber, a creative coding environment for the browser. We describe affordances for a sample-accurate and functional approach to scheduling, pattern creation and manipulation, audio synthesis, using rhythm and harmony, and score definition and playback. 
Gibberwocky: new live-coding instruments for musical performance
We describe two new versions of the gibberwocky live-coding system. One integrates with Max/MSP while the second targets MIDI output and runs entirely in the browser. We discuss commonalities and
HMusic: A domain specific language for music programming and live coding
HMusic is a domain specific language based on music patterns that can be used to write music and live coding and is embedded in the Haskell functional programming language, hence programmers can design functions to manipulate music on the fly.
Live Coding the Digital Audio Workstation
A new live-coding system, named Gibberwocky, which integrates the Ableton Live digital audio workstation with a browser-based textual coding environment derived from the Gibber project, and extends earlier research on dynamic code annotations with more specific solutions for individual paern generators, and abstractions for musical scores.
Combining Effects in a Music Programming Language based on Patterns
New abstractions to add effects on individual tracks and in groups of tracks are described, and how they influence the combinators for track composition and multiplication are described.
Bringing the TidalCycles Mini-Notation to the Browser
A JavaScript dialect of its mini-notation for pattern is created, enabling easy integration with creative coding tools and an accompanying technique for visually annotating the playback of TidalCycles patterns over time.
A library for SuperCollider is presented that enables live coding adapted to two domains of performance: telematic dance with wireless sensors and electroacoustic music performance and several foundation classes whose purpose is to support programming patterns or commonly used practices.
Towards a Mappable Database of Emergent Gestural Meaning
This paper presents the work towards a database of performance activity that is grounded in an embodied view on meaning creation that crosses sense modalities, and focuses here on design decisions that result from this overarching worldview on digitally-mediated performance.


Impromptu : an interactive programming environment for composition and performance
This paper provides an introduction to Impromptu, a new interactive development environment for musicians and sound artists and describes how to use dynamic programming tools in live performance.
Gibber: Abstractions for Creative Multimedia Programming
Gibber is described, an audiovisual programming environment for the browser that comprises a consistent notation across modalities in addition to high-level abstractions affording intuitive declarations of multimodal mappings, unified timing constructs, and rapid, iterative reinvocations of constructors while preserving the state of audio and visual graphs.
Rapid Creation and Publication of Digital Musical Instruments
This research comprises both high-level abstractions for making continuous mappings between audio, interactive, and graphical elements, as well as a centralized database for storing and accessing instruments.
Designing Musical Instruments for the Browser
Gibberish.js and Interface.js provide mapping abstractions that enable users to create digital musical instruments in as little as a single line of code, enabling new instruments to be created, distributed, and run entirely in the browser.
Gibber: Live coding audio in the Browser
Gibber performances are written in pure JavaScript with no syntactical additions or modifications; this enables Gibber code to be executed in any web page viewed inside a browser implementing a realtime audio API.
The Web Browser As Synthesizer And Interface
Two JavaScript libraries are introduced that provide a complete system for defining musical instruments that can be used in both desktop and mobile web browsers: Gibberish.js and Interface.js.
LuaAV : Extensibility and Heterogeneity for Audiovisual Computing
LuaAV is described, a runtime library and application which extends the Lua programming language to support computational composition of temporal, sound, visual, spatial and other elements while providing the flexibility and temporal accuracy demanded by interactive audio-visual media.
Live coding in laptop performance
This paper presents an introduction to the field of live coding, of real-time scripting during laptop music performance, and the improvisatory power and risks involved, and looks at two test cases, the command-line music of slub utilising Perl and REALbasic, and Julian Rohrhuber's Just In Time library for SuperCollider.
Object-oriented music representation
The author's Smalltalk music object kernel (Smoke) music representation language is described and examples given that illustrate the most important of Smoke's features.
The chuck audio programming language. a strongly-timed and on-the-fly environ/mentality
ChucK is argued for, a general-purpose programming language tailored for computer music that provides a syntax for representing information flow, a new time-based concurrent programming model that allows programmers to flexibly and precisely control the flow of time in code, and facilities to develop programs on-the-fly —as they run.