HMSL – 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
RIP, Douglas Rain /2018/11/13/douglas-rain/ Tue, 13 Nov 2018 11:03:57 +0000 /?p=4399

I think you know what the problem is just as well as I do….
This mission is too important for me to allow you to jeopardize it.

RIP, Douglas Rain, who gave his voice to the machines of our dreams and nightmares, and shaped the vocality that stood for anxiety in the age of machines.

]]>
4399
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
software optimization vs. elegance /2008/11/04/software-optimization-vs-elegance/ /2008/11/04/software-optimization-vs-elegance/#comments Tue, 04 Nov 2008 12:36:47 +0000 //www.busterandfriends.com/io/?p=143 When started writing what became io 0.0.1 beta in ’99, having thrown out a whole bunch of old material, I made an effort to write elegant code. This was partly because of the complexity of this project (which would end up in the region of 25,000 lines of code), but also a reaction to the tools that, as apprentice computer music artist-engineers, we’d inherited in the late ’90s which sacrificed conceptual and theoretical elegance for expediency or to the dogma of ‘ease-of-use’.

io was written in HMSL (Hierarchical Music Specification Language) which was, despite everything, a significantly more elegant (and conceptually more robust) system than many of the other interactive real-time computer music system at the time. Still, much of HMSL dates back to the second-half of the 1980s, and in order to get the system to run on extremely modest environments (say, the Mac Plus) the designers had to make many compromises. As Phil Burk later told me, one of the side effects of this was, for example, the uneasy mix of traditional Forth code and object-oriented programming.

However, when it came to writing io, if there was a conflict between elegance and speed, I would generally err on the side of elegance; attempting to write code that would be easy to maintain and extend (and I would, on occasion, rewrite some of HMSL’s core modules).

However, when I shifted io from scaled fixed point to floating point code in 2004, I ran into major obstacles. The processor (a sans-FPU 33MHz 68LC040 which I guesstimate does around 30MIPS) began to creak, and to prevent the system from falling-behind, I hand optimized code and sacrificed a degree of elegance to speed.

io 0.0.1 beta++, which may be significantly more expensive computationally than io 0.0.1 beta, will still run on this antiquated 68k machine. Thus, I’ll have to deal with many of the issues, and make some of the compromises, that Phil and the others dealt with in the late 80’s….

]]>
/2008/11/04/software-optimization-vs-elegance/feed/ 2 143