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.

 

  1. 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.

  2. 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.

  3. 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