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
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
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
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
bug fix: banalyzer+ /2009/03/24/bug-fix-banalyzer/ /2009/03/24/bug-fix-banalyzer/#comments Tue, 24 Mar 2009 15:45:54 +0000 //www.busterandfriends.com/io/?p=283 Here’s a fix for a significant bug that I somehow didn’t catch (didn’t hear?) for several years. The side effect of the fix is that io is now significantly more responsive.

 banalyzer+

 a "smarter" banalyzer class designed to works in conjunction with the
 parser classes.

 ob.banalyzer+ clears internal storage and stats after an ALERT: message
 is called. In addition, ob.banalyzer+ also takes into account the
 frequency of ALERT: messages and adjusts sensitivity (i.e. the alert
 threshold) accordingly.

…

 MOD: HeP 03-24-09 Fix bug that prevented default iv-blyzr-tolerance-cfa from
                   being set. Now set this during OPEN:

…

: BLYZR.SET.TOLERANCE.CFA   ( mode --  )
    CASE
        static_tolerance  OF  0                          ENDOF
        linear_tolerance  OF  'c blyzr.linear.tolerance  ENDOF
        shift_tolerance   OF  'c blyzr.shift.tolerance   ENDOF
        random_tolerance  OF  'c blyzr.random.tolerance  ENDOF
    ENDCASE
    iv=> iv-blyzr-tolerance-cfa
;

:m PUT.TOLERANCE.MODE:  ( mode --  , select tolerance calculating mode )
    dup  0 3  within?
    IF
        dup  iv=> iv-blyzr-tolerance-mode
    
        iv-dev-#opened
        IF
            blyzr.set.tolerance.cfa
        ELSE
            drop
        THEN
    ELSE
        drop
        " put.tolerance.mode:"  " unrecognized mode selector"
    THEN
;m

…

:m RAW.OPEN:    (  --  )
    raw.open: super

    iv-blyzr-tolerance-mode  BLYZR.SET.TOLERANCE.CFA
;m

…
]]>
/2009/03/24/bug-fix-banalyzer/feed/ 1 283
hp->midi interp tables /2009/03/23/hp-midi-interp-tables/ /2009/03/23/hp-midi-interp-tables/#comments Mon, 23 Mar 2009 22:59:40 +0000 //www.busterandfriends.com/io/?p=274 interp tables (03-23-09)

interp tables (03-23-09)

See: ‘hp->midi early report’ and ‘hp->midi initial test’.

]]>
/2009/03/23/hp-midi-interp-tables/feed/ 1 274
source code 03-23-2009 /2009/03/23/source-code-03-23-2009/ /2009/03/23/source-code-03-23-2009/#comments Mon, 23 Mar 2009 11:22:10 +0000 //www.busterandfriends.com/io/?p=265 Source code for io 0.0.1 beta (rev. March 23rd 2009) [86kB zip file]. Significant revisions since 07-03-2004 as detailed below.

io:io_config

 MOD: HeP 11-09-08 Make io_min_pulse and io_max_pulse dependent on
                   io_rtc_rate.
 MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance moved to io_glob.

io:io_glob

 MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance moved from
                   io_config.
                   Add (MODIFY.TIME.ADVANCE) called by the meta-alert-matrix.
                   See: io_matrix.

io:modules:io_interp_table

 MOD: HeP 10-26-08 Add the io_interp_table component.
 MOD: HeP 11-04-08 Make the pitch tables 4 bytes wide because they need
                   to contain signed data.
 MOD: HeP 11-05-08 Provisional test of the table lookup version of hp->midi
                   suggests that it is almost twice as fast as the old
                   version (12725 msec for 10,000,000 conversions in
                   comparison to 20413 msec).
 MOD: HeP 11-06-08 Use !BYTES.
 MOD: HeP 11-07-08 hp_ conversion words (e.g. HP->MIDI ) now reside in
                   io:mobules:io_interp_table.
 MOD: HeP 11-08-08 Add words to be called from io_matrix.
 MOD: HeP 11-09-08 Add tables for output pulse generator.
                   Initial (klugy) version of the exponential curve.

io:modules:io_interp

 MOD: HeP 11-05-08 Provisional test of the table lookup version of hp->midi
                   (see io:modules:io_interp_table for more details).
 MOD: HeP 11-07-08 hp_ conversion words (e.g. HP->MIDI ) now reside in
                   io:mobules:io_interp_table.
 MOD: HeP 03-22-09 Add (MODIFY.INTERP) stub called by the meta-alert-matrix.
                   See: io_matrix.

io:modules:io_patches

 MOD: HeP 04-26-06 Slightly broaden out the note ranges of the vl patches.
 MOD: HeP 11-09-08 Reduce to two vl patches: ob.vl.patch Floboe and SoprSax!
 MOD: HeP 03-19-09 Double the those vl patches with variant damping and
                   absorption. Note that vales of 0 seem to cause problems.
                   (Based on experiements with Bruce Coates.)

io:io_matrix

 MOD: HeP 11-08-08 Call words to alter the conversion of hp_ coordinates to
                   midi. See the file modules:io_interp_table for more info.
 MOD: HeP 03-21-09 Add meta-alert-matrix.

io:io_input

 MOD: HeP 03-20-09 Add meta-blyzer. We have an alert for alerts. ToDo: Need
                   someway of triggering changes of patch, interp-tables and
                   time-advance values from this.
 MOD: HeP 03-21-09 See: io_matrix for details on what the meta-blyzer
                   triggers.

io:io_output

 MOD: HeP 11-09-08 Use table lookup to derive new pulse and pulse groupings.
 MOD: HeP 03-21-09 Add (MODIFY.PATCH) called by the meta-alert-matrix. See:
                   io_matrix.
]]>
/2009/03/23/source-code-03-23-2009/feed/ 1 265