|
|
THE
RUNNING JOKE
Sound
Synthesis by Frequency Modulation
One
of the more basic functions that Csound allows is the generation of an
old-school frequency modulation device, whereby one simple sine wave
(carrier) is modified by another simple sine wave (modulator).
This setup used to be a standard for producing interesting sounds, and
formed the basis of early synthesizers (DX-7,
anyone?).
Frequency
Modulation Synthesis is a pretty useful concept because it allows the creation of one very
complex sound using only two very simple sounds. For example, this
sound file contains three sounds. The first is a simple 440 hz
sine wave. The second is a simple sine wave at 363
cycles-per-second (82.5% of 440). The third is the impact of
modulating a 440 hz sine using a frequency of 363 hz. If you are
in a position where you must make sounds from scratch, the first and
second simple sine wave options are not likely to be very appealing
("beep" / "boop"). The third one, though, now
that's a doozy oozing depth and texture ("burp"). You will want to keep
that one.
The
trouble with this FM synthesis is that it is very hard to tell whether
any particular initial sounds will result in an interesting third
sound. Sometimes the result is surprising and interesting.
Other times it sucks. Like, for example, if you take a 440 hz wave
and modulate it by 880 hz (instead of by 363 hz), the result is pretty
boring. It sounds like this
In
the old, early days of sound synthesis, to achieve this sort of result
you would take one sine wave generator and plug it into a second sine
wave generator and listen to the output. Each wave generator would
allow its frequency to be changed by turning a knob. So, one
advantage of this system would have been the ability to randomly twiddle
knob 1 and knob 2 until an interesting sound emerged. Once that
happened, you could simply write down and remember what the initial
frequencies 1 and 2 were that produced such an effect. (One
disadvantage with the setup in the old, early days, was that each wave
generator cost a bazillion dollars, and the cost of
speakers and quality studio space was even higher)
It
appears to be more complicated to achieve the same kind of result with
Csound. If I want to craft a sound using FM synthesis, I must
choose one specific wave between 20 and 20,000 hz (audible range), and a
second specific wave (in an unlimited range, I think). The problem
is, I have to be specific about my frequencies up front. I have
little ability to program "knob-twiddling" (as it were) into
the process. Or maybe such capability exists in the program, but I
haven't experienced it yet. God knows that knob-twiddlability
should be increased!
03.18.2006
Aaaaand
Another Thing...
"Table
ifn is incrementally sampled modulo the table length and the
value obtained is multiplied by amp."
03.12.2006
IARGggggh,
Matey!
After
stubbing my toe last week on Cocksocket's failed Digital Vegetable project, I spent a
substantial measure of time reviewing the state of computer
music programming. My finding is this: there is tremendous
potential, but the most appealing and flexible application (Csound) is
essentially impenetrable and nearly unusable.
My
review began, as many good inquiries do, by leafing through the
Wikipedia. A write-up of some 20 audio programming languages can
be found here.
Csound is based on the C programming language, is entirely free under
the Lesser General Public License, and is touted to be extremely
flexible.
From
the Wikipedia article:
"One of its greatest strengths is that it is completely modular
and expandable by the user"
From
Richard Boulanger's Introduction
to Sound Design in Csound: "Csound literally transforms
a personal computer into a high-end digital audio workstation — an
environment in which the worlds of sound-design, acoustic research,
digital audio production and computer music composition all join
together in the ultimate expressive instrument"
All
of that seems quite nice, but Csound also has its dark side.
Mainly, information about how to use the language is lacking, and even
the relatively robust support community fails to indicate a clear way
for a neophyte to approach Csound. Before I give any examples of
just how frustrating this all can be, I would like to offer a very
brief solution -- as it does appear that help is available.
-
Csounds.com
is the only centralized resource I was able to find, read, and use at
all. This site links to executable files,
houses some tutorials, instruments, examples of music made in Csound,
a set of bulletin boards, and a bunch of other general reference
information.
-
As
a relative newcomer to this space, I recommend avoiding Csound5 for
now. Recently, Csound version 5 has been
released. This update to the language was years in the making,
but is still in beta mode. After much wriggling, wrangling, and
wrongling, I was able to install the new version, only to find that
there does not yet exist anything more than a simple command-line compiler.
-
Use
CsoundAV. I ate through the whole 7-layer
burrito, and found only this interface to be remotely usable.
Even though I have no direct evidence, I believe that CsoundAV is a
front-end interface to Csound v.4. I do know that with CsoundAV
I have been able to work through Boulanger's aforementioned first
chapter, and that the interface allows coding of 'orchestra' files and
'score' files and will render them into sound files (e.g. .wav)
As
an example of just how opaque the installation process is, I present
'some instructions' that I found on a bulletin board for installing
CsoundAV. Bear in mind that these are about a bazillion times
clearer than the Csound5 installation instructions.
|
DOWNLOAD
SETUP
-
Start
WinXoundPro, and say YES to associating files.
-
A
'startup' dialog should appear, click "BROWSE"
and select a file like
-
“C:\Program
Files\CsoundAV\examples\GUI\simpleSlider”
-
Choose
"Settings" from the "File" Menu.
-
Change
the settings to:
-
Csound
Console [ ]
-
Csound
Help [ C:\Program Files\CsoundAV\\manual\Csound.hlp ]
-
Winsound
[ ]
-
CsoundAV
[ C:\Program Files\CsoundAV\CsoundAV_Win.exe ]
-
CsoundAV
html help [ C:\Program Files\CsoundAV\\manual\index.html ]
-
Wave
Editor [ < whatever you like > ]
-
Working
Dir [ ]
-
Save
and Exit Settings Dialog.
TEST
AND SETUP TEMPLATE
-
Test
the installation by playing the file:
-
Click
on the "CsoundAV [f4]" button on the toolbar.
-
CsoundAV
should launch.
-
A
window should appear asking you for the audio device you
want to use. [ The best i found was a "direct
sound" driver -- for my machine it was device #6 or
#7 ]
-
You
should then hear a sine tone and able to move the slider.
-
Hit
'Quit' in CsoundAV.
-
Start
again a few times, trying different Audio Devices.
-
Once
you found the device with the best response, put that
number in the '-+P' option in the top of the file in
WinXound, [ ex: -+P6 ]
-
Now,
SAVE this file to your home directory, naming it something
like "template.csd".
-
Use
this file as a template for any new projects you want to
create!
|
At this point, I shall (try to) stop the bitching about
difficulties encountered in familiarizing oneself with
Csound. The benefits of Csound appear to include unlimited
flexibility in sound design through synthesis (FM / AM / and any
number of additional strategies), extremely versatile sample control,
unmatched capability for sequencing, and interfaces to just about any
desired output format. So, that's pretty nice.
From
Csound.com here
is another quote, which reads like so much sales propaganda, but which
appears to be true (especially given Csound's price tag):
In
Csound, the complexity of your patches is limited by your knowledge,
interest, and need, but never by the language itself. For instance, a
22,050 oscillator additive synthesizer with 1024 stage envelope
generators on each is merely a copy-and-paste operation. The same goes
for a 1 million voice granular texture! Have you ever dreamed of
sounds such as these? Well in Csound you can.
As
exciting as the capabilities may be, understanding the tools and
possibilities opens a new frontier of challenges. To that end, I
have also been occupied with a review of acoustics, sound design,
sampling, filtering, etc. Although it has been years since I
have explored these topics, at least I do have a grounding. And
some things never change.
In
the course of all this, I stumbled upon what appears to be a very useful resource for understanding
the technical aspects of design and processing. It is called
Introduction to Sound Processing, by Davide Rocchesso. Like
Csound itself, this work is also entirely free (download .pdf here).
All
of this promises no end to exploration, which is both good and
bad. For my part, I am still stuck on one of my first and most
basic question: "What does IARG stand for?" Every Csound instrument must contain a 'header' spedifying 4
attributes of the instrument: sample rate (sr), control rate (kr),
ksmps (constant obtained by dividing sr by kr), and number of channels
(nchnls). I do not know, exactly, what is meant by 'control
rate'. I tried to look it up here,
but I encountered the the
mysterious 4-letter combination, "iarg". Is it just shorthand for
a variable, is it a standard, what? I guess I will try over at
the Csound.com bulletin board -- even if those fellers appear to be on
vacation right now.
Of
course, if anybody out there has some advice on this topic, feel free
to contact me.
03.11.2006
Dr. R, I
Presume
The
current project, [communication], continues to grow with the addition
of The
Door Was Locked, Reductified. The so-called 'Lemony Fresh'
set of songs, which was posted last week, comprised a Cocksocketonian
group of leftover / stranded efforts which had been initiated but
which is (even now) incomplete. One of these songs (The
Door Was Locked, Left) was reviewed and improved by the inimitable
Dr. R. The end result embodies a vast and disparate cast of
characters, including Bill Cosby, George Bailey, Jane, Mr. Potter, a
carbonated beverage, the Guess Who, and Hank Williams. Dr. R has
provided, in addition to the assembly, the production recipe:
-
take
the basic track
-
put
it into a different channel
-
give
it a super thin EQ
-
offset
it by a smidgen of a second
-
Bake
at 323 degrees for fifteen minutes
-
VI-OLA.
The
[communication] project, incidentally, kicks off with an old Dr. R
comment on the state of Cocksocketacious Organica (Delicious
Screed). Mossy and moldy, mofo! Thank you, Doctor!
I
have spent the last few days meandering through the catacombs and am
happy to report that there is much material to be excavated. For
example, I found an entire project, dubbed 'Digital Vegetable', which
appears to have been a conceptual pay-per-production system of
synthesizing experimental music. Digital Vegetable goes back
about three years. There was a website, a logo, a rate card, and
a mechanism for donation, but the concept never actually
happened. What still exists, however, is a modest body of sonic
experiments.

Listening
to this stuff now, I am reminded of the potential that lies in music
programming. All of the Digital Vegetable songs, and a couple of
the Man vs. Machine songs, use csound as a basis. One of the
aspirations that I have is to build toward a more robust understanding
of, and approach to, incorporating a programming language, like
csound, into the music. As I understand it, it is good to have
aspirations.
03.04.2006
The Five
Percent Nation Of Lemony Fresh
The
whole institution of Cocksocket is easily distracted, to say the very
least. Cocksocket's attention span is short, and the shortness
of it is of nuclear proportions. As a general example of this,
consider: for every thousand Cocksocketonian ideas, maybe fifty
enter the start-up, incubation phase -- which could consist of just
humming a melody in the shower, or capturing a single-expanded track
into the digital idiot box, or anything in between. Ten
of those fifty ideas will get anything more than the very briefest
sonic sculpting treatment; and five of those ten may get some
multi-track attention and some level of post-production, the values of
which are not, in these parts, known to be extraordinarily high.
So
then, 100 ideas, 5 song sketches, and that is what I always think of
when I hear M. Doughty sing about the Five Percent Nation of Lemony
Fresh.
To
round out this riveting tale, and just so you know, for each of the
five nuggets that makes it to the Lemony Fresh stage, one will receive
the "full treatment" and become canonized into the oeuvre du
Cocksoc.
I
mention all of this in order to set some context and introduce a
handful of little nuggets that have been almost totally lost over the
years. Sifting through the Cocksocketonian detritus lately, I am
rather surprised at the volume of half-baked, unexplored ideas that
are clinging to the edges of the fixed disks. It would be
interesting to keep these ideas and others that I come across together
as their own project -- a project to flesh the skeletons out and
document what types of things do or do not work over the
evolution of a song.
But
at any rate, here they are for your scrutinamusement, the Lemony Fresh
set:
|
Oddition
- This can be dated precisely to 11/24/2004. It was the
result of tinkering in some different software for the
duration of that day. |
| The
Door Was Locked, Left - This one is the most
complete and the most recent of the lot. It started as
an exploration into the idea of extracting musical / vocal
parts from existing materials, for remix or sonic
collage. And that is pretty much where it stands today. |
| Meantime
- Happened a couple of years back in the morning shower.
The tune persisted mentally for a day or so and transitioned
from brain waves to sound waves to a binary digital format
during the following weekend. No specific theme for this
one, other than that it is supposed to feel plaintive or even
depressed. |
| Water
- It is almost heartbreaking how long this simple chord
progression has been around (it predates Cocksocket by a
couple of years), and how many different and unsuccessful
projects it has morphed into. There is even a lyrically
uneven version in the 4-track tapes from almost a decade
ago. This incarnation is stripped down and appears to be
an abandoned attempt to introduce a system of actual
songwriting to Cocksocket. |
| Chestnut
Hill - This is a song about temporary
housing. The place was nice, if a bit boring. I
think there are some words for this one |
02.25.2006
Raise
High The Roofbeams, Carpenter
The
occupation today, and for the foreseeable future, is with organizing
and designing this place, and what is to be placed within it.
Cocksocket has been through a few different incarnations, each with
its own unique set of design principles and flow. One thing
which has been common over the past several years has been the
technology involved with the site design. Specifically,
cocksocket.org has always been hand coded in HTML (badly, I hasten to
add). Certainly the chief concern here is far less about
programming the site than it is about actually developing content for
it. And for that reason, there has been a significant change in
the publishing modus operandi.
Cocksocket
began in earnest in the late Spring of 1994. Cocksocket online
has a storied, nearly interesting, history which began in the Spring
of 2000 and has continued, pretty much uninterrupted to this
day. Nearly two months ago, cocksocket.org went
"dark", due to what I would like to idealize as some sort of
involved 'contract dispute' with a corporate master, but which was in
actuality just a lapse in planning and a missed payment to a fleeting
web hosting service provider. Now that this recent wrinkle has
been smoothed, the quickest, most efficient, approach to waking this
project would be to upload what was, and to continue to edit and
update it in the raw HTML. But there is an alternative approach.
The
aim is to continue to develop this site with some off-the-shelf
software. It is understood that there will be a
"flexibility tradeoff". This means that you should expect
to be at the mercy of the software when it comes to web presentation,
but that you should (in exchange) benefit from an increased attention
to the content that ultimately makes it to this place.
That's
the idea.
The
question really is whether any increased attention or explosion of
content is realistically to be expected from this latest effort.
Let's face facts: the current set of published music consists of
19 songs, clocks in just short of 75 minutes (the equivalent of a
single CD), and has taken almost twelve years to produce.
Further, in this day and age, clear of the artificial construct of
"Album Oriented Rock", the album itself, along with any
notion of publishing cadence, has been destroyed. Cocksocket,
while never a true participant in the system of the prior regime,
nevertheless suffers the symptoms of the associated lack of
attention. The completed collection of songs was canonized
some five years ago. All of the work since then, whether new
compositions, the dreck of post-modern music concrete, or one
of any variety of pre-historical re-mix / re-dux activities, exists in a
state of incompletion. "Incompletion": if such a
noun could ever exist, we should expect it to exist now.
Some
question!
02.18.2006
Recuperation
and Resurrection
Cocksocket
anesti
Alithos anesti
And
so comes an icy antenna poking gingerly through the crusted film of snow
which rests softly on the surface of the unstoppable
globule.
The
globule itself is, more or less, eternal even if the white sheets of
frozen icing are little more than fleeting, ephemeral blankets for the
sort of Cocksocket who sleeps on a dark and dry bed of organica.
Here it ebbs,
there it flows
The Ying and The
Yang
The wax and the
wane
Organica!
It sprouts again
Or, in other words,
it is good to be back. I myself am feeling prudish and proper,
with slightly devilish tendencies shooting shocks up the tunnel of my
spine. I hope you feel that way too.
What we have here
is the latest evolution of the Cocksocket outpost. As usual, this
mossy and moldy terra infirma is mainly meant to hold, like the feet of
trees, the ruddy roots of Cocksocketonian song.
Thank you for your
attention;
Warm regards,
Captain
Formaldehyde
February,
2006
|