Saturday, 13 February 2016

Understanding the Sonde created by Hugh Le Caine

Hello blog world, 

As part of a research project jointly funded between Western University and the Museum of Science and Technology in Ottawa, we've been working on a couple project involving the reverse engineering of analog devices. Safe to say, that means we've been working with old musical or computational devices and try to recreate them in a digital format. In this case, we've focused on trying to create a representation of Hugh Le Caine's Sonde using a program called Max.


Like many of you, I had never heard of Hugh Le Caine until I started working on this project. I must also thank Professor William Turkel for his endless encouragement and motivation throughout this process and for originally getting me involved with the research. Le Caine was in fact one of the leading Canadian pioneer's in the field of electronic music. Born in 1914 and raised in Thunder Bay, Ontario, Le Caine held a steadfast attraction to music and science. Although he enrolled in applied science at Queen’s University and spent many years working for the National Research Council as a physicist, he remained an avid creator of musical instruments. Le Caine is most famous for the invention of the Sackbut, the world’s first synthesizer made in 1945. Later on in his career, when he switched from being a full time physicist to a musician in 1954, Le Caine was able to create a host of new electronic instruments including the Touch Sensitive Organ (1955), the Multi-track Tape Recorder (1955), the Oscillator Bank (1957), and the Serial Sound Structure Generator (1965). The Sonde was one of Le Caine’s final projects before he retired.


The Sonde was able to produce 200 sine waves simultaneously and allowed for the creation of complex sine-tone mixtures. Ultimately, this remove the pesky task of continuously recording a single sine wave, replaying and recording a new sine wave on top, and then repeating this process. This reduced the  tape hiss generated when recording multiple sounds over the same reel. 

The 200 sine waves were all spaced between 5Hz ranging from 5Hz to 1000Hz. The Sonde used only 30 oscillators in total to create the vast number of sine waves. Using matrix generation, 10 convertor oscillators spaced by 100Hz were connected with 20 fixed oscillators ranging from 0 to 95Hz. By subtracting the frequencies of the combined sine waves, multiple sine waves could be heard simultaneously ranging from 5 to 1000Hz. 

For those interested in the code here it is as follows: 

{
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 6,
"minor" : 0,
"revision" : 8
}
,
"rect" : [ 95.0, 112.0, 981.0, 651.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 0,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 0,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"boxanimatetime" : 200,
"imprint" : 0,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"boxes" : [ {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-15",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 156.0, 206.0, 45.0, 20.0 ],
"text" : "cycle~"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 156.0, 177.0, 51.0, 20.0 ],
"text" : "- 18000"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-19",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 156.0, 145.0, 231.0, 20.0 ],
"text" : "if ($i1 > 18095) && ($i1 < 18200) then $i1"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-18",
"maxclass" : "flonum",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 332.0, 189.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-14",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 332.0, 145.0, 99.0, 20.0 ],
"text" : "scale 0 127 0. 1."
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-13",
"maxclass" : "number",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "int", "bang" ],
"parameter_enable" : 0,
"patching_rect" : [ 332.0, 111.0, 50.0, 20.0 ]
}

}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 15.0, 476.0, 45.0, 45.0 ]
}

}
, {
"box" : {
"id" : "obj-8",
"maxclass" : "gain~",
"numinlets" : 2,
"numoutlets" : 2,
"outlettype" : [ "signal", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 15.5, 301.0, 22.0, 140.0 ]
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-7",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 15.0, 252.0, 32.5, 20.0 ],
"text" : "*~"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-6",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "signal" ],
"patching_rect" : [ 15.0, 214.0, 45.0, 20.0 ],
"text" : "cycle~"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-5",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"patching_rect" : [ 15.0, 177.0, 51.0, 20.0 ],
"text" : "- 18000"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-4",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 15.0, 145.0, 129.0, 20.0 ],
"text" : "if $i1 < 18100 then $i1"
}

}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-3",
"maxclass" : "newobj",
"numinlets" : 6,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 15.0, 111.0, 145.0, 20.0 ],
"text" : "scale 0 200 18000 19000"
}

}
, {
"box" : {
"id" : "obj-2",
"maxclass" : "kslider",
"numinlets" : 2,
"numoutlets" : 2,
"offset" : 0,
"outlettype" : [ "int", "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 15.0, 37.0, 336.0, 53.0 ],
"presentation_rect" : [ 0.0, 0.0, 336.0, 53.0 ]
}

}
 ],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-15", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-1", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-14", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-13", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-18", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-14", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-15", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-7", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-18", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-19", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-2", 1 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-3", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-2", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-19", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-3", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-4", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-3", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-5", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-4", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-6", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-5", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-6", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-7", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-9", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-8", 0 ]
}

}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-8", 0 ]
}

}
 ],
"dependency_cache" : [  ]
}

}

2 comments:

  1. Thanks for sharing that information with us really informative.. Keep posting and I'm waiting for your upcoming response..Thanks
    thesis writing help

    ReplyDelete

Follow by Email

 

Sample text

Sample Text

Sample Text