software – io 0.0.1 beta++ interactive, semi-autonomous technological artifact, musical automaton, machine musician and improviser Wed, 21 Jun 2023 22:25:37 +0000 en-US hourly 1 25192515 Documentation: io 0.0.1 beta++, the musical automaton and machine improviser constructed by Han-earl Park /2019/07/09/readme/ Tue, 09 Jul 2019 09:10:53 +0000 /?p=5456 io 0.0.1 beta++, Blackrock Castle Observatory, 05-26-2010 (photo copyright 2010, Stephanie Hough)

Photo © 2010, Stephanie Hough.

Back, behind-the-scenes, I still have some articles in draft form that both detail the nuts’n’bolts decision-making processes in the construction of a machine improviser, and self-reflective critique such constructions, detailing the trade-offs and shortcomings of such an entity, and its design and implementation. I would like to get back to work on these at some point as they may provide as both cautionary tales and critical guides in future constructions of ‘creative’ automata and machine performances, and to anyone engaged in the critical (reverse-)engineering of such entities and their constructions. (There are so many stories, (self-)reflective and (self-)critical, of shortcoming and failures that get lost in our need to tell tales of technocultural heroics.)

Meanwhile, in this post I’d like to provide a selective index of documentation of io 0.0.1 beta++, its construction and performance, both of material published on this site and elsewhere.

Overview

\ constructor: Han-earl Park
\ copyright 2008 buster & friends' C-ALTO Labs
\
\ www.busterandfriends.com/io
\
\ (Edinburgh, November 1996 -
\ (London, August 1997 -
\ (Den Haag, October 1997 -
\ (Valencia, March 1999 -
\ (Southampton, May 2000 -
\ (Cork, April 2006 -
\
\ (Cork, October 2008 -
\
\ REV: 0.0.1 alpha (Southampton, October 2000)
\ REV: 0.0.1 beta (Southampton, November 2000)
\ REV: 0.0.1 alpha++ (Southampton, July 2004)
\ REV: 0.0.1 beta++ (Cork, May 2010)

io 0.0.1 beta++ is an interactive, semiautonomous technological artifact that, in partnership with its human associates, performs a deliberately amplified staging of a socio-technical network—a network in which the primary protocol is improvisation. Together the cyborg ensemble explores the performance of identities, hybrids and relationships, and highlights the social agency of artifacts, and the social dimension of improvisation. Engineered by Han-earl Park, io 0.0.1 beta++ is a descendant, and significant re-construction, of his previous machine musicians, and it builds upon the work done with, and address some of the musical and practical problems of, these previous artifacts.

Standing as tall as a person, io 0.0.1 beta++ whimsically evokes a 1950s B-movie robot, constructed from ad-hoc components including plumbing, kitchenware and missile switches. It celebrates the material and corporeal; embracing the localized and embodied aspects of sociality, performance and improvisation.

Chronology

Documentation

Audio recordings

We watch and listen carefully because we know we’re seeing a kind of manifesto in action. What is an automaton? A sketch, a material characterization of the ideas the inventor and the inventor’s culture have about some aspect of life, and how it could be. io and its kind are alternate beings born of ideas, decisions and choices. It is because io stands alone, an automaton, that the performance recorded on this CD not only is music, but is about music.

Sara Roberts (from the liner notes)

‘io 0.0.1 beta++ (SLAMCD 531) CD cover (copyright 2011, Han-earl Park)

‘io 0.0.1 beta++’ (SLAMCD 531). [Details…]

personnel: io 0.0.1 beta++ (itself), Han-earl Park (guitar), Bruce Coates (alto and sopranino saxophones) and Franziska Schroeder (soprano saxophone).

track listing: Pioneer: Variance (11:52); Pioneer: Dance (13:13); Ground-Based Telemetry (1:42); Discovery: Intermodulation (9:08); Discovery: Decay (5:08); 4G (0:59); Laplace: Perturbation (10:21); Laplace: Instability (3:08); Return Trajectory (8:24). Total duration: 63:57.

© 2011 Han-earl Park.
℗ 2011 SLAM Productions.

[Additional recording…]

Articles and publications

My article, ‘In Conversation with an Automaton: Identities and Agency in a Heterogeneous Social and Musical Network’ [local copy…], published in the Leonardo Electronic Almanac: ‘My Favorite Things: The Joy of the Gizmo’ (Volume 15, No. 11-12, November–December 2007) is still probably the best description of the motivations and choices behind the io enterprise.

Abstract

io 0.0.1 beta is an interactive, semi-autonomous technological artifact that, in partnership with its human associates, performs a deliberately amplified staging of a socio-technical network—a network in which primary protocol is improvisation. In this paper, I explore the performance of identities, hybrids and relationships, illustrating the space between myself (human partner and constructor) and io through imaginary conversations between us. Considering that io highlights, in particular, the social agency of artifacts, I find it fitting that my own notions about the nature of improvisation, the technical and the social have changed through my interactions with io.

[Read the rest…] [Local copy…]

In addition, this site has the following short pieces about the construction of io 0.0.1 beta++:

Han-earl Park, ‘frankenmusic(s),’ November 25, 2008:

Fifteen days ago, during the break between beta test sessions, Franziska Schroeder asked a pithy question that cut to the core of this enterprise: what do I hope to achieve? My answer surprised me even as it reminded me of Sara’s observation: my goal with io (and io++) is to encapsulate my take on improvisation—its mechanisms, its sociality, its significance. [Read the rest…]

Franziska Schroeder, ‘io + I met,’ November 24, 2008:

Who is io? What does she sound like? How would she react to me? Would she respond? Would she challenge me (musically, that is). In other words, would she adopt sensitively to changes, make creative contributions and develop musical ideas suggested by me? [Read the rest…]

Images

  • io 0.0.1 beta++ 05-19-2010
  • Han-earl Park, io 0.0.1 beta++ and Bruce Coates, Blackrock Castle Observatory, 05-26-2010 (photo copyright 2010, Stephanie Hough)
  • Franziska Schroeder and io 0.0.1 beta++, Ó Riada Hall, 05-25-2010
  • io 0.0.1 beta++ construction 05-12-2010 (teaser)
  • io 0.0.1 beta++ construction 05-11-2010 (teaser)
  • io 0.0.1 beta++ construction 05-23-2010 (teaser)

images © 2010 Stephanie Hough, and © 2010–2011 Han-earl Park [additional images (google gallery)…]

Source code

Download all source files (requires HMSL to run):

View individual source files linked below:

\ additional midi stuff

include?  task-midi_plus  myt:midi_plus


\ device classes

include?  task-device           myt:device
include?  task-midi_device      myt:midi_device
include?  task-interpreter      myt:interpreter
include?  task-ctrl_interpreter myt:ctrl_interpreter
include?  task-fan_out          myt:fan_out


\ input components

include?  task-parser         myt:parser
include?  task-mono_parser    myt:mono_parser
include?  task-mono_parser+   myt:mono_parser+
include?  task-poly_parser    myt:poly_parser
include?  task-guitar_parser  myt:guitar_parser

include?  task-parser_list    myt:parser_list

include?  task-pulse_tracker  myt:pulse_tracker
include?  task-pulse_tracker+ myt:pulse_tracker+

include?  task-banalyzer      myt:banalyzer
include?  task-banalyzer+     myt:banalyzer+


\ output components

include?  task-gm_instrument myt:gm_instrument
include?  task-gm_drumkit    myt:gm_drumkit
include?  task-gm_patch      myt:gm_patch

include?  task-vl_sysex      myt:vl_sysex
include?  task-vl_instrument myt:vl_instrument
include?  task-vl_patch      myt:vl_patch


\ "henri poincare"

include?  task-floatingpoint      hsys:floatingpoint

include?  task-hp_util            myt:hp_util
include?  task-hp_fputil          myt:hp_fputil

include?  task-hp_particle        myt:hp_particle
include?  task-hp_force           myt:hp_force
include?  task-hp_space           myt:hp_space
include?  task-hp_gravity         myt:hp_gravity
include?  task-hp_fpgravity       myt:hp_fpgravity

include?  task-hp_particle_player myt:hp_particle_player


\ graphics

include?  task-graph_plus    myt:graph_plus
include?  task-gr_view       myt:gr_view
include?  task-screen+       myt:screen+
include?  task-ctrl_numeric+ myt:ctrl_numeric+


\ io -- globals and configuration

include?  task-io_config   io:io_config
include?  task-io_glob     io:io_glob


\ io -- modules

include?  task-io_interp_table io:modules:io_interp_table
include?  task-io_interp       io:modules:io_interp
include?  task-io_player       io:modules:io_player

include?  task-io_particle     io:modules:io_particle
include?  task-io_space        io:modules:io_space
include?  task-io_patches      io:modules:io_patches

include?  task-io_pdur_dlog    io:modules:io_pdur_dlog


\ io -- main components

io_test? .IF
	
	include?  task-hp_screen   myt:hp_screen
	include?  task-hp_screen+  myt:hp_screen+
	
.THEN

include?  task-io_hp      io:io_hp
include?  task-io_matrix  io:io_matrix
include?  task-io_input   io:io_input
include?  task-io_output  io:io_output


\ io - user interface

include?  task-io_ui      io:io_ui
include?  task-io_screen  io:io_screen

io_file? .IF
	
	include?  task-file_elmnts     myt:file_elmnts
	include?  task-file_elmnts_mac myt:file_elmnts_mac
	
	include?  task-io_file_scene   io:modules:io_file_scene
	include?  task-io_file_glue    io:modules:io_file_glue
	include?  task-io_file         io:modules:io_file
	
.THEN

io_turnkey? .IF
	
	include?  task-dialog     myt:dialog
	include?  task-midi_menu  myt:midi_menu
	
	include?  task-io_menus   io:modules:io_menus
	
.THEN


\ io - top level

include?  task-io_top  io:io_top
]]>
5456
HMSL at Whitechapel Gallery, London /2015/11/03/hmsl-whitechapel-london/ Tue, 03 Nov 2015 12:59:47 +0000 /?p=3333 io 0.0.1 beta (retro hardware)

Image © 2001 Han-earl Park (sort of…)

Nothing directly to do with io 0.0.1 beta++ (it didn’t make the cut for this show), but the Hierarchical Music Specification Language developed by Phil Burk, Larry Polansky and David Rosenboom, and which drives the cognitive innards of io 0.0.1 beta++, forms part of the subject of the Luke Fowler and Mark Fell curated exhibition at Whitechapel Gallery, London:

The computer is a ubiquitous component in today’s music studios and on stage. Using sound, text and image, the new collaboration between Glasgow-based artist filmmaker Luke Fowler (b. 1978) and Sheffield-based multidisciplinary artist Mark Fell (b. 1966) examines the development of early computer music languages that have been obscured by more commercially viable options.

The exhibition looks at how the use of computers began to shape music-making through experimentation with unfamiliar techniques involving mathematical structures, data and unusual forms of interaction. These methods are buried deep in the archaeological sub strata of today’s electronic music. Working across visual arts and music, the display becomes a tool for local students to experiment with computer-based composition. [Read the rest…]

The show runs until February 7, 2016. Admission is free.

]]>
3333
jazzColo[u]rs: le discrepanze tra finzione scientifica e realtà pratica /2015/08/04/jazzcolours-finzione-scientifica-realta-pratica/ Tue, 04 Aug 2015 12:47:26 +0000 /?p=3317 In the interview with Han-earl Park in the current issue of jazzColo[u]rs (Sommario Ago./Set. 2015, Anno VIII, n. 8–9), Andrew Rigmore asks about the the balance of freedom and prediction in working with improvising machines such as io 0.0.1 beta++:

In teoria è tutto aperto, free, non ci sono quasi pre-istruzioni, tranne la durata approssimativa della performance — come in qualunque contesto improvvisativo — che va inserita nel sistema. Ogni atto — suono, rumore — è del tutto autonomo o almeno sotto la supervisione di ciascun agente interattivo, uomo o macchina che sia. io 0.0.1 beta++ è stato costruito secondo le pratiche comuni dell’improvvisazione aperta: non ci sono interventi non-musicali, quindi nessun interruttore a pedale, niente tonalità o tempi prestabiliti — per certi versi una blackbox. In pratica traccia i confini attorno al possibile: vedi le discrepanze tra finzione scientifica e realtà pratica, ma sono più che compensate dai musicisti umani. Se c’è qualcosa che manca, qualcosa che è divenuto sempre più evidente in questo lavoro di anni a stretto contatto con Bruce [Coates] e Franziska [Schroeder] nel perfezionare e costruire il sistema è il senso di evoluzione individuale.

[In theory, entirely open—free—almost no prescription (except for the rough duration of each performance which can be set in the system) just like it would be in any other open improvisative context. Every gesture, every bloop and bleep, is entirely autonomous, or at least under the supervision of each interactive agent whether human or machine. io 0.0.1 beta++ was constructed according to the common practices of open improvisation: no non-musical cues (thus no ‘footswitch’), no prearranged tempo, key, etc (it is, to some extent, a blackbox). In practice, there’s some interesting… boundaries around the possible (where you see the discrepancy between science fiction and practical reality), but those are more than compensated for by the human performers. If there’s one thing the system lacks, something that became increasingly apparent working closely with Bruce [Coates] and Franziska [Schroeder] over the years debugging and constructing the system, it is a sense of individual evolution.]

You can read more in the current issue of jazzColo[u]rs. [More from this interview…]

]]>
3317
(musical) time and machine musicianship (part 0.1) /2012/02/29/musical-time-machine-musicianship-01/ /2012/02/29/musical-time-machine-musicianship-01/#comments Wed, 29 Feb 2012 20:10:44 +0000 /?p=2334 HZ: ‘simple-pattern’ (click to hear…)

HZ: ‘simple-pattern’ (click to hear…)

[Continued from part 0…]

Talking to Melanie L. Marshall after she read the previous post on musical time clarified some matters that were left unstated.

The issue is not so much that a musicality built up from a simple ‘beat detection’ is not possible (such notions of musicality surround us in our music schools, in our writing about music, and, unsurprisingly, in our art-science research). The issue is the implications of seeking and defining, in research, such a trait; valuing such a musicality; and, by extension, practicing such a music.

As argued by Suzanne Cusick, George E. Lewis, Christopher Small and others, musical practice constitutes a political schema—music performs society. The command-control model embedded in a musicality built upon ‘beat detection’ has profound consequences for constructing alternative politics.

As improvisers we desire to step off the simple line that posits anarchy at one end and control at the other—a line that is as familiar as the Cagian denial of agency and the heroic single author.

As creative musicians we struggle to perform freedom—not the ‘freedom’ of Ron Paul’s privileged idiots, but the freedom of Civil Rights, freedom of anti-colonialism, freedom of feminism, freedom of queer politics. The ‘free’ in (so-called) jazz.

We know rhythm is a site of interdependence, but we also know that it is shaped by the agency of all; it is compromise, yes, it is negotiation, yes, it is collective, yes, but it is also play, and it is mutation, and it also holds the potential for revolution.

[Continued in part 0.2…]

]]>
/2012/02/29/musical-time-machine-musicianship-01/feed/ 2 2334
(musical) time and machine musicianship (part 0) /2012/02/20/musical-time-machine-musicianship-0/ /2012/02/20/musical-time-machine-musicianship-0/#comments Mon, 20 Feb 2012 20:32:22 +0000 /?p=2179 HZ: ‘wind-chimes’ (click to hear…)

HZ: ‘wind-chimes’ (click to hear…)

Melanie L. Marshall, in asking questions about musicality, takes a Foucauldian track and asks about musicality’s opposite, and in doing so, discusses and critiques some modern attempts at drawing a boundary between the musical and the unmusical. Melanie pulls up research by Henkjan Honing as an interesting, if problematic, example of such an attempt at drawing the boundary. Honing sketches out some provocative research as part of his TEDxAmsterdam talk. Honing suggests that we have inbuilt, hard-wired musical abilities.

Leaving aside, for the moment, the issues of whether we (scientists, researchers) have access to these pre-cultural, intrinsic abilities (as Bruno Latour might point out, we, at best, have access only to mediation—graphs, charts, sensor data, etc.), and whether our cultural tools, technology and language might make us observe phenomena in specifically cultural ways (can Honing’s ‘beat’ be defined para-culturally?), I think there’s a secondary problem: is ‘beat detection,’ however defined, an intrinsically musical ability? or, put it another way, what kind of ‘beat detection’ might be musical, and does it resemble, or require, the infant ‘beat detection’ as studied by Honing?

A couple of (personal) experiences lead me to be skeptical of the proposition that such simple ‘beat detection’ might be foundational to practical musicality in general, and to latter-day improvised musics in particular.

  • A big part of teaching real-time interactive performance or group improvisation, I found, was getting students not to lockstep; for them to ‘hold their ground,’ to ‘find their own rhythm,’ to express, embody and perform autonomy. (Once we can do that, lock-stepping becomes a choice, but that’s a story for another time…)
  • In group improvisation, input parsing is not an unambiguous matter. There isn’t one correct answer to, say, where the beat is. Furthermore, creative (mis)understandings may be a significant component of the generative engine in improvisation. (I’ll return to the subject of ambiguity in stimulus-response in the context of machine improvisation in a future post.)
  • I’ve been fascinated by creative improvising drummers’ ability to simultaneously generate multiple senses of time (e.g. Oxley, Sanders), to switch and morph between multiple pulses (e.g. Cyrille, Hayward), or blur the boundary between in and out of time (e.g. Black). Inspired, I found a way to do this on guitar by delegating timekeeping to my limbs, joints, digits—to my body and its interaction with the instrument. Charles Hayward talked about drumming as an interaction between physiology and physics. Might the cognitive dimension of Honing’s ‘beat’ be peripheral, perhaps irrelevant, to this cyborgian practice of musicking?

It seems to me that the assumed importance of beat detection as a marker of musicality is itself a form of, in the Foucauldian sense, regulation. Perhaps the assumption of a foundational importance to musicality of a simple ‘beat detection’ stems from subscribing to a command-control model of musicality. In this model the mind is the central hub of the musical. In this model, rhythm is constant, inherited, external and which must be followed. This model, in turn, arises from certain, widely held to be sure, cultural assumptions about desirable and ‘natural’ social and political interactions. What do these assumptions blind us from?

[Continued in part 0.1…]

]]>
/2012/02/20/musical-time-machine-musicianship-0/feed/ 7 2179
future developments? OS X, Cocoa and Forth /2011/10/17/osx-cocoa-forth/ /2011/10/17/osx-cocoa-forth/#comments Mon, 17 Oct 2011 21:29:54 +0000 /?p=1729 Roelf Toxopeus has written a Mac OS X / Cocoa interface for SwiftForth and iForth [examples/screenshots…]. He writes:

Cocoa GUI interface for Darwin based Forth systems.

Goals:

— Similar in usage as other interfaces in MacForth and Mach2. Think of things like NEW-XXX ADD.XXX etc.

— No hacks, no shortcuts. Should survive OS upgrades! Follow their rules.

— Try to stay close to ObjC names and procedures. Makes Apple examples easy to follow and to implement.

Inevitable is breaking the rules.

Note: Cocoa interface runs in CarbonMacForth(2008), iForth(2009) and SwiftForth(2010).

Current Mac OSX is Snow Leopard 10.6.8 and Lion 10.7.1

Current development is in SwiftForth.

Current target is ObjC runtime 2. [Read the rest…]

Meanwhile Nao Sacrada has released an alpha version of iMops, a 64bit, Cocoa, Intel port of Mops [more info…].

Exciting, and interesting implications for io’s descendants.

]]>
/2011/10/17/osx-cocoa-forth/feed/ 2 1729
source code 05-19-2011 /2011/05/19/source-code-05-19-2011/ Thu, 19 May 2011 15:48:45 +0000 /?p=1378 For the record: source code for io 0.0.1 beta (rev. August 19, 2010) [86kB zip file] and supporting components [163kB zip file]. Note that I have not differentiated files used by io and those that are not; I have included every file of each used component from the MyTools folder.

 io

 load_io
 directory assignment and load file for io.


 see the file io_top for more information.


 constructor: Han-earl Park
 copyright 2008 buster & friends' C-ALTO Labs

 www.busterandfriends.com/io

 (Edinburgh, November 1996 -
 (London, August 1997 -
 (Den Haag, October 1997 -
 (Valencia, March 1999 -
 (Southampton, May 2000 -
 (Cork, April 2006 -

 (Cork, October 2008 -

   REV: 0.0.1 alpha   (Southampton, October  2000)
   REV: 0.0.1 beta    (Southampton, November 2000)
   REV: 0.0.1 alpha++ (Southampton, July 2004)
   REV: 0.0.1 beta++  (Cork, May 2010)


 MOD: HeP 03/05/99 Started project afresh!
                   This version keeps most of the "intelligence" in the
                   objects, while the piece specific elements are kept to a
                   minimum. It is also a test for the "laurie" project.
 MOD: HeP 01/22/00 Trash the file io_util.
 MOD: HeP 01/26/00 Only load objects:io_patches if io_vl70m is true.
 MOD: HeP 02/07/00 Get rid of conditional compilation of the multiple
                   instrument objects -- they all get compiled now.
                   Same goes for the input parsers.
                   Rename the io:objects: directory as io:modules:
 MOD: HeP 04/09/00 Load the file myt:parser_list.
 MOD: HeP 04/16/00 Load the file myt:ctrl_interpreter.
 MOD: HeP 04/17/00 Add the modules:io_interp component.
                   Load io_config before the modules.
 MOD: HeP 04/18/00 Change load order of the major io components.
 MOD: HeP 04/19/00 Add modules:io_particle component.
 MOD: HeP 04/26/00 No longer load myt:hp_input_particle since we define an
                   equivalent class in io_particle.
                   Add modules:io_player component.
 MOD: HeP 06/01/00 modules:io_script may be loaded. See file io_screen.
 MOD: HeP 06/07/00 io_glob loads before modules.
 MOD: HeP 06/20/00 Split off io_ui from io_screen and io_input.
 MOD: HeP 10/02/00 Load file myt:ctrl_numeric+.
 REV: 0.0.1 alpha  __________________________________________________________
 MOD: HeP 11/02/00 Load the file myt:mono_parser+.
 REV: 0.0.1 beta   __________________________________________________________
 MOD: HeP 03-19-04 First experiments with floating point calculations.
 MOD: HeP 03-21-04 Speedup floating point code. Old floating point would drag
                   the system by 30% (35 ticks instead of the 26 ticks set by
                   hp_dur).
 MOD: HeP 04-15-04 Trash io_script? which wasn't being used.
 MOD: HeP 05-01-04 Move all includes (and conditional includes) from the
                   individual files to load_io.
 MOD: HeP 05-19-04 Split off some of the dialogs from io_screen to
                   modules:io_pdur_dlog.
 REV: 0.0.1 a ++   __________________________________________________________
 REV: 0.0.1 b ++   __________________________________________________________
                   Version for performance at Blackrock Castle Observatory,
                   Cork, Ireland, May 25, 2010.


assign  io:   hmsl:io


.NEED  LI
    
    : LI    " io:load_io"  $include ;
    
.THEN


 additional midi stuff

include?  task-midi_plus  myt:midi_plus


 device classes

include?  task-device           myt:device
include?  task-midi_device      myt:midi_device
include?  task-interpreter      myt:interpreter
include?  task-ctrl_interpreter myt:ctrl_interpreter
include?  task-fan_out          myt:fan_out


 input components

include?  task-parser         myt:parser
include?  task-mono_parser    myt:mono_parser
include?  task-mono_parser+   myt:mono_parser+
include?  task-poly_parser    myt:poly_parser
include?  task-guitar_parser  myt:guitar_parser

include?  task-parser_list    myt:parser_list

include?  task-pulse_tracker  myt:pulse_tracker
include?  task-pulse_tracker+ myt:pulse_tracker+

include?  task-banalyzer      myt:banalyzer
include?  task-banalyzer+     myt:banalyzer+


 output components

include?  task-gm_instrument myt:gm_instrument
include?  task-gm_drumkit    myt:gm_drumkit
include?  task-gm_patch      myt:gm_patch

include?  task-vl_sysex      myt:vl_sysex
include?  task-vl_instrument myt:vl_instrument
include?  task-vl_patch      myt:vl_patch


 "henri poincare"

include?  task-floatingpoint      hsys:floatingpoint

include?  task-hp_util            myt:hp_util
include?  task-hp_fputil          myt:hp_fputil

include?  task-hp_particle        myt:hp_particle
include?  task-hp_force           myt:hp_force
include?  task-hp_space           myt:hp_space
include?  task-hp_gravity         myt:hp_gravity
include?  task-hp_fpgravity       myt:hp_fpgravity

include?  task-hp_particle_player myt:hp_particle_player


 graphics

include?  task-graph_plus    myt:graph_plus
include?  task-gr_view       myt:gr_view
include?  task-screen+       myt:screen+
include?  task-ctrl_numeric+ myt:ctrl_numeric+


 io -- globals and configuration

include?  task-io_config   io:io_config
include?  task-io_glob     io:io_glob


 io -- modules

include?  task-io_interp_table io:modules:io_interp_table
include?  task-io_interp       io:modules:io_interp
include?  task-io_player       io:modules:io_player

include?  task-io_particle     io:modules:io_particle
include?  task-io_space        io:modules:io_space
include?  task-io_patches      io:modules:io_patches

include?  task-io_pdur_dlog    io:modules:io_pdur_dlog


 io -- main components

io_test? .IF
    
    include?  task-hp_screen   myt:hp_screen
    include?  task-hp_screen+  myt:hp_screen+
    
.THEN

include?  task-io_hp      io:io_hp
include?  task-io_matrix  io:io_matrix
include?  task-io_input   io:io_input
include?  task-io_output  io:io_output


 io - user interface

include?  task-io_ui      io:io_ui
include?  task-io_screen  io:io_screen

io_file? .IF
    
    include?  task-file_elmnts     myt:file_elmnts
    include?  task-file_elmnts_mac myt:file_elmnts_mac
    
    include?  task-io_file_scene   io:modules:io_file_scene
    include?  task-io_file_glue    io:modules:io_file_glue
    include?  task-io_file         io:modules:io_file
    
.THEN

io_turnkey? .IF
    
    include?  task-dialog     myt:dialog
    include?  task-midi_menu  myt:midi_menu
    
    include?  task-io_menus   io:modules:io_menus
    
.THEN


 io - top level

include?  task-io_top  io:io_top
]]>
1378
source code 05-12-2009 /2009/07/01/source-code-05-12-2009/ Wed, 01 Jul 2009 22:15:31 +0000 //www.busterandfriends.com/io/?p=541 Source code for io 0.0.1 beta (rev. May 12th 2009) [86kB zip file].

There have been major changes since 03-23-2009 as a result of the beta tests with Bruce Coates and Franziska Schroeder. These changes are unfortunately not documented/commented at the moment, but I’m uploading the source files for the record.

]]>
541
analog io /2009/06/29/analog-io/ Mon, 29 Jun 2009 21:18:30 +0000 //www.busterandfriends.com/io/?p=458 I’ve assumed that future versions of io would have a single board computer (or multiple SBCs) in place of the clunky and fragile personal computer. There was, however, always an alternative.

Take the not-so-humble analog computer, a technology with a fascinating past and a (still promising) future. Given that io’s behavior is driven by an N-body simulation, it’s not difficult to imagine an analog port.

Wait, isn’t this sounding a lot like BEAM…?

]]>
458
beta test 05-12-09: audio recordings /2009/05/25/beta-test-05-12-09-audio-recordings/ /2009/05/25/beta-test-05-12-09-audio-recordings/#comments Tue, 26 May 2009 02:46:12 +0000 //www.busterandfriends.com/io/?p=380 Here is the audio documentation of the io++ beta test with Bruce Coates on May 12th 2009.

beta test 05-12-09_00 [mp3″]

beta test 05-12-09_01 [mp3″]

beta test 05-12-09_02 [mp3″]

beta test 05-12-09_03 [mp3″]

beta test 05-12-09_04 [mp3″]

beta test 05-12-09_05 [mp3″]

beta test 05-12-09_06 [mp3″]

beta test 05-12-09_07 [mp3″]

beta test 05-12-09_08 [mp3″]

beta test 05-12-09_09 [mp3″]

beta test 05-12-09_10 [mp3″]

Performers are io 0.0.1 beta++ (itself), Bruce Coates (saxophone) and Han-earl Park (guitar).

Thanks to the Arts Council of Ireland for supporting this project, to the UCC Department of Music for providing a space in which to carry out this work, to Bruce for his work and feedback on this, and to Jonny Marks for listening and commenting on the proceedings.

]]>
/2009/05/25/beta-test-05-12-09-audio-recordings/feed/ 2 380
beta test 03-26-09: audio recordings /2009/03/30/beta-test-03-26-09-audio-recordings/ /2009/03/30/beta-test-03-26-09-audio-recordings/#comments Mon, 30 Mar 2009 19:05:58 +0000 //www.busterandfriends.com/io/?p=308 Franziska Schroeder and io (Cork, March 26th 2009)

Franziska Schroeder and io (Cork, March 26th 2009)

Here is the (not yet annotated) audio documentation of the io++ beta test with Franziska Schroeder on March 26th 2009.

beta test 03-26-09_00 [mp3″]

beta test 03-26-09_01 [mp3″]

beta test 03-26-09_02 [mp3″]

beta test 03-26-09_03 [mp3″]

beta test 03-26-09_04 [mp3″]

beta test 03-26-09_05 [mp3″]

beta test 03-26-09_06 [mp3″]

Performers are io 0.0.1 beta++ (itself) and Franziska Schroeder (saxophone).

Thanks to the Arts Council of Ireland for supporting this project, to the UCC Department of Music for providing a space in which to carry out this work, and to Franziska for her work and feedback on this.

]]>
/2009/03/30/beta-test-03-26-09-audio-recordings/feed/ 2 308
beta test 11-10-08 & 12-08-08: resultant changes /2009/03/25/beta-test-11-10-08-12-08-08-resultant-changes/ Wed, 25 Mar 2009 12:07:31 +0000 //www.busterandfriends.com/io/?p=291 Here’s a list of the significant changes. These address issues that Franziska Schroeder and Bruce Coates brought up during the testings in November and December respectively.

  • Greater variation in output.
    • Including pseudo-Braxtonian ‘separation’ implemented via interp tables.
    • Implementation of a meta-banalyzer that shakes up the system depending on input variation.
    • Greater variation in the VL70m settings.
  • More responsive to external stimulus.
    • Implementation of a meta-banalyzer (see above).
    • Greater number of elements triggered by the banalyzers and the meta-banalyzer.
    • Fix error in the banalyzer+ class.
    • Variable event buffer.
    • Reduction in the damping and absorption parameters in the VL70m model.
  • Less and more machine-esque.
    • Reduction in the damping and absorption variables in the VL70m model which results in a more ‘synthetic’ sound,
    • but also disguises the strongly cyclical generator.

Thanks to the Arts Council of Ireland for supporting this project, and to Bruce and Franziska for their time, labor and expertise.

]]>
291