Download

This is version 1.0 of BassStudio. BassStudio is a Windows-based bass sequencer. Included is Click - a sample-accurate metronome that goes from 30 to 400 BPM.

Running the software

System requirements

I have only ever used it on Windows 2000, but it ought to run on Windows 95 to Windows XP. It's using the MMSYSTEM libraries but apart from that nothing out of the ordinary.

Configuration

Start BassStudio, go into Tools -> Options and set

That's all you need to do.

Click needs no configuration. It does however require the file Metronome.wav in the same directory as Click.exe itself. You can overwrite the WAV file if you want another sound than the default two-drum-sticks-smacked-together.

To compile

You will need Delphi 6 or 7. It may compile with earlier versions, but these are the two that I have used. I used Delphi 6 Personal edition at home to develop Bass Studio and have tested compilation on a Delphi 7 Enterprise Edition at work.

Start by opening the WaveComponents package. Delphi should complain that it cannot find the resource file WaveComponents.res and that it has recreated it. Now press "Install" and you should get the two components WaveIO.TWavePlayer and WaveIO.TWaveRecorder. They appear on the "Media" palette page. You can now close the WaveComponents package.

Open BassStudio.dpr and build it. Open Click.dpr and build it. That's it.

To compile and run the unit tests you will need DUnit. You must set the "Search path" in Project Options of BassStudioTest.dpr to the source directory of DUnit before compiling. I have successfully run the tests against DUnit 7.2.0 (at home) and 5.0.2 (at work).

If something is missing from the distribution that prevents compilation, please don't hesitate to contact me.

Usage

There should really be a User Manual.

Until now, please refer to the syntax of basslines.

Why ?

A few years back my friend Flemming (guitar) and I (drums) found ourselves short of a bass player. Having unsuccessfully tried a few real people we decided to take on a computer instead. We started out using various sequencer tools but I was soon fed up fighting weird graphical interfaces and suffering inflexible and even unstable timing.

I decided to roll my own software to play the bass lines and thus being able to throw in the features that I would need to control the timing precisely. The first concern was of course which format to store the bass lines in. I quickly decided that MIDI was not abstract enough. "abc" looked promising but did not really provide detailed timing control as far as I could tell. So I rolled my own textual format. It is essentially a text version of MIDI with a few extras thrown in. It is documented in this document.


Valid XHTML 1.0!