Below are several
samples from the processes of the inner matrix of the OtoomCM program, followed
by an explanation.
The program OSound
comes in three versions, OSound1, OSound2 and OSound3. All are a derivation
from OtoomCM so that the necessary data files can be written, and they can
be downloaded together with their
code, manual, and three other programs that are used to produce a midi file.
See the manuals for the full instructions.
OSound1:
in auto mode only up to 5 separate inputs via the input file are possible;
the manual mode has no input limits.
OSound2:
in auto mode an entire text can be read in via the input file; the manual
mode has no input limits either. The text file a.txt includes the beginning
of the Introduction to Bertrand Russell's History of Western Philosophy
(Routledge, 2000, p.13). Note: use the other programs packed with this version
for further processing, not those from version 1.
OSound3:
in this version three display areas can be saved as bitmap files during processing,
and together with the resulting midi sound file can be used to make a video
showing the progress in visual and auditory format. These areas are, the entire
screen area (minus the menu section), the node states display area, and the
output display area.
b1-2 64
matrix nodes, 64 element matrix nodes, 1600 cycles, playing time 2 min 6 sec:
cello, clarinet, flute,
oboe, acoustic grand piano, bright acoustic piano
b2-2
144 matrix nodes, 144 element matrix nodes, 1600 cycles, playing time 4 min
46 sec:
cello, clarinet, flute,
oboe, acoustic grand piano, bright acoustic piano
Comparative
sample outputs from OSound3:
Text used
- 'a' file group: Single letters in a certain order
This is a plain text file used to test OSound under several conditions.
Text used
- 'b' file group: Same words with various repetitions of the letters
TTTThhiiiiiiiiissssssssssssss iiis aaaaaaaaaaaaaaaaaaaaaaaapppppllllllllllaaaiiiiiiiinnnnnnnnnnnnnnn
ttteeeeeeeeeeexxxxtttttttttt ffiiiiiiiiiiiiiiileeeeeeeee uuussssseeeeeeddddddd
ttooo ttttteeeeeeeeeesssssssssssssssssssstttttttttttttttttttt OOOOOOOOOOOOOOOOOOOOOOOSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSooooooooo
oooooooooooooooooooouuuuuuuuuuuuuuuuuuuuuunnnnnnnnnnnnnnnndddddddddddddd uuundddddddddddddeeeeerrrrrrrrrrrr
ssssssssssseeevvvvvvvvvverrrrrrrrrraaaaaaaaaaaaaaaalllllllllll ccccccccccccccccccccccooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnddddddddddddddii
iitttttioooooooooooooonnnnnnnnnssssssssssss.
NOTE: The sound
has been mastered to increase the gain; the 'background' noise from the entire
matrix can be heard better.
am3_n
49 matrix nodes, 49 element matrix nodes, 72 cycles, node states display area.
Instruments used
are, cello, viola, violin, acoustic grand piano, bright acoustic grand piano.
am3_n
The matrices are quite small, and despite the varying input the nodes very
quickly settle into a permanent state in terms of their affinity relationships.
The output changes - see am3_o below - because although the affinities
vary little even small changes produce different outputs (the discs have been
blurred to give an impression of the clusters which produced them).
am3_o
bn5_n
Here the inner matrix is somewhat larger (but the element matrices are of
the same size) and clusters are formed that change their affinity relationships
with their neighbours. Although the clusters become well defined, within themselves
the affinities can change nevertheless. The output changes as usual - see
bn5_o below. The discs have been left as they appear on the screen.
bn5_o
The source
of the sounds
The actions within the matrix are based on integers. They produce chaos-type
affinity relationships between nodes, and these relationships form clusters
and at other times disperse them (for a more comprehensive explanation see
"How the mind works: the principle
dynamics in the bio- and non-bio version"). The integers are treated as
frequencies and are transposed to notes (not every frequency relates to a
note). If a certain note is repeated it is treated as a long(er) note, depending
on the number of repetitions. If the note emerges from a region of a relatively
high affinity its duration is increased as well as its volume. Every cycle
of the matrix process translates into a track in the midi file.
Choice of
instruments, pitch, and channel
The midi file format provides 128 different simulated sound sources. Most
are instruments (such as piano, flute, etc), some are not (such as ice rain,
ooh choir, etc). The important aspect here is the ability or otherwise of
each source to maintain a note for a given time. Some can hold a note for
its intended duration, some cannot (an organ can, a woodblock cannot). Therefore
short and single notes were assigned to instruments that will only play a
short note, long notes (derived from long repetitions) were assigned to an
instrument that is suitable for ongoing sustain (ie, any woodwind, organ,
synths), and some notes that fall in between were assigned to something like
a piano. In midi files the notes can only go from 0 to 128, standing for the
familiar A, B, B-flat, and so on. Because the number range coming from the
matrix is much higher, pitch bends were used to widen the scope. Pitch bend
values are also calculated from affinity values coupled with durations. Not
all instruments were made available at any given time, rather ensembles were
put together with a selection of certain instruments. At the moment there
are seven. As each instrument is assigned a different channel, in the end
the notes are played according to their suitability for an instrument, their
duration, their volume and the channel they happen to fall on.
Interpretation,
not modification!
The sound you hear is the sound produced by the artificial mind. Sound comes
from frequencies, frequencies are numbers, and it is numbers that make the
system work. Volume and duration are a function of affinity values and as
such of internal states. They are determined by the processes within the system.
Only the choice of instruments and channel are a matter of interpretation,
largely dictated by the midi format. Short, single, varying notes are a sign
of small clusters emerging and disappearing. Long, accumulating, louder and
louder notes indicate an increasing stability of a certain region, growing
and drawing its neighbours towards its own state. Conversely, shorter notes
and decreasing volume mark the deterioration of a cluster. All these scenarios
can occur at the same time or after one another.
Credit:
The creation of midi files, indeed understanding them in the first place,
would not have been possible without the csvmidi
/ midicsv programs it was my good fortune to discover. Midicsv translates
a midi file from its binary format into a comma-separated-values text file,
which means humans can read it. Csvmidi does the opposite.
… and remember:
AI can have two purposes. One is to use the power of computers to augment
human thinking, just as we use motors to augment human or horse power. Robotics
and expert systems are major branches of that. The other is to use a computer's
artificial intelligence to understand how humans think. In a humanoid way.
If you test your programs not merely by what they can accomplish, but how
they accomplish it, then you're really doing cognitive science; you're using
AI to understand the human mind. -- Herbert
A. Simon (The Sciences of the Artificial, 1996) This quote comes from the Centre
for Computational Intelligence.