Tuesday, November 27, 2012

I've moved my blog to Wordpress. You can follow it here. RSS feeds should automatically switch over to the new site.

Friday, August 10, 2012

Csound is back on the Mainframe after a 40 year absence

Here's one that took a while to make. I was able to build Csound v5 under Linux on an IBM mainframe Integrated Facility for Linux (IFL), thanks to an IBM developer program. Csound is back on the mainframe after not seeing such an architecture for probably 40 years. It runs pretty fast, but that's not the reason to build it on the platform. I just wanted to understand the challenges of moving to the s390x architecture, since I sell mainframes for a living, and most of my customers have Linux today.

Today's version of June Gloom was converted from my source code to Csound input on my PC under Free Pascal, shipped to the mainframe as drum12.csd, then processed by Csound on the mainframe to create a .wav file. I brought that back to my PC to create an MP3 file and posted here.

Download or Play it here.

Subscribe here: to this RSS feed

Thursday, August 02, 2012

June Gloom #20 - processed by Linux

Here's a version made on a Linux implementation on Amazon's Web Services. Now that my preprocessor has been ported to open source Free Pascal, it was a snap to compile it on an Ubuntu Linux instance. Csound only needed a simple install. It's my first try at Linux. Next stop: RedHat under z/VM on an IBM IFL at their developer sandbox. Unfortunately, there's no port of Free Pascal that supports the z architecture or instruction set, and I'll have to build Csound myself. I think the latter will be easier than the former. I can do the preprocessor work on my desktop and ship the Csound source to the cloud for processing.

Download or Play it here.

Subscribe here: to this RSS feed

Sunday, July 22, 2012

June Gloom #14

Here is the last version of June Gloom I will post. Today's run through the algorithm is a milepost of sorts. I finally was able to generate the whole thing without having to run either the preprocessor or Csound in that dreadful XP box on my Windows 7 laptop. Today I finished the port of the preprocessor to Free Pascal from Turbo Pascal. Most of the problems along the way were due to failing to check for Nil pointers and out of bounds arrays. Apparently Turbo Pascal circa 1989 let me do some bad things. I fixed those and the program compiled. After earlier porting the Csound code to a version of Csound that runs in Windows 7, I'm now free of the XP box. Today's post is the result. Nothing is substantively different, except it's another round through the algorithm, so everything has changed.

Download or Play it here.

Subscribe here: to this RSS feed

Thursday, July 12, 2012

Here is one more version of the June Gloom piece I've been working on.

For the past eight years I've used an older version of Csound (4.19 from 2005) that only runs on Windows XP. I moved to a new version of Windows, and the old version stopped running. So I obtained a current version, Csound version (5.17.11 from May 2012). To my delight it worked with all my old opcodes with only minor problems with the install. This version of the piece was made with the Windows 7 version of Csound 5.17.11.

My preprocessor, written in Turbo Pascal (filedate 1989), is another story. Turbo Pascal won't work in the current version of Windows 7. I had to create a virtual machine running XP, and that is working, but poorly. All things considered, my $90 investment in Turbo Pascal was worth it, since I have been able to use it for 23 years.

My next task is to try to port the Turbo Pascal to Free Pascal. My first attempts resulted in code that compiles with minor changes, but fails at run time reporting memory issues. That conversion will take much longer.

Download or Play it here.

Subscribe here: to this RSS feed

Source code

  • Input to the Csound: drum12
  • Second stage for volume control: drum12a
  • Third stage for convolution: convolv

Sunday, July 01, 2012

June Gloom #11

This is another final version. The eleventh time through the track shows off the idea of several different instruments playing the melody, and each one can choose to trill, slide up, slide down, play only one note instead of all three, and many other variations. The conflict between the instruments makes for an interesting sound.

Download or Play it here.

Subscribe here: to this RSS feed