Open Source Synthesizer Audio Unit

Apple APIs and Mac audio software development

Open Source Synthesizer Audio Unit

Postby zibba » Sun, 05 Aug 2007 2:43 am

Hi

Following from my first post last week, here is the second. I'm open sourcing a project I started earlier this year.

The Rham is a virtual analogue synthesizer in Audio Unit format. It models a wave table based dual-oscillator subtractive synthesizer. Several presets are also included.

The project started in April as a port of the Linux amSynth to Apple's Audio Unit format. It began with the Developer Tool's example SinSynth (hence the Xcode project name) and then grew to incorporate the wave tables from MonoWave II, a Moog style filter and a valve distortion unit from SonicBirth.

I wanted to write a nice Cocoa user interface but ran out of time, so it's now open source. Perhaps someone else will be willing. I use Plastic SCM to do source code management. If you'd like to contribute contact me and I'll accept your source changes in their entirety (no patches or diffs or strange CVS-ness) to build a new binary distribution.

Get the universal binary version and source code here:

http://www.twofloorsrecords.com/?page_id=74

cheers
peter
zibba
 
Posts: 8
Joined: Mon, 30 Jul 2007 5:41 pm

Postby jackbyrnes » Sun, 12 Aug 2007 10:27 pm

Hi Peter,

Just an idea, don't kill me.

Since you thought about releasing this as open source, what about making a project for it on, lets say sourceforge?

I'm sure you'd benefit from the tools there, and you could also make a "request for help".

Just think it'd give your project a bit more exposure that's all.
jackbyrnes
 
Posts: 7
Joined: Sun, 12 Aug 2007 9:12 pm

Postby zibba » Mon, 13 Aug 2007 5:10 pm

Hi, yeah you might be right, I'll look in to it. thanks
zibba
 
Posts: 8
Joined: Mon, 30 Jul 2007 5:41 pm

Postby Kent Sandvik » Mon, 13 Aug 2007 10:59 pm

jackbyrnes wrote:Hi Peter,

Just an idea, don't kill me.

Since you thought about releasing this as open source, what about making a project for it on, lets say sourceforge?

I'm sure you'd benefit from the tools there, and you could also make a "request for help".

Just think it'd give your project a bit more exposure that's all.


Yes, I second that. Sourceforge is sometimes a little bit slow, but it's free, and most developers know how to use it, so you get more developers interested in the project if you place it on SoundForge. Hey, I might also take a look at it then! --Kent
Kent Sandvik
 
Posts: 1754
Joined: Tue, 16 Sep 2003 2:29 pm
Location: N 37 17.244 W 121 59.510 Elev 201ft!

Postby zibba » Thu, 16 Aug 2007 3:33 am

Hi Kent

I've made a SourceForge project and uploaded the source code. The repository is working. Here's the page: http://sourceforge.net/projects/rhamsynth/

Please feel free to take a look.

cheers
peter
zibba
 
Posts: 8
Joined: Mon, 30 Jul 2007 5:41 pm

no worky worky?

Postby aaaidan » Fri, 11 Apr 2008 4:17 am

Hi Peter/zibba + all,

That's totally awesome. I signed up to say hi, and thank you for releasing rham, instead of letting its utility fade over the years. From what you've mentioned, it seems like it could be an excellent performance tool, as well as a helpful codebase to learn and steal from.

However... (here it comes)

I just checked out the CVS you set up (thanks, btw), and fired it up in Xcode. I can build it just fine, but none of my hosts (Live 6, Garageband 4) can get a squeak out of it. The default Xcode AU instrument project creates sound.

Frankly, I'm a bit of a noob with Xcode and AU coding. Could you (or anyone) suggest how best to debug an AU instrument? I was naïvely hoping that I could attach the debugger to the host process. I see DebugPrintf, but don't know what the std out is in the context of my hosts.

(Codebase looks tidy. Well done!)

Cheers,
Aidan
aaaidan
 
Posts: 3
Joined: Fri, 11 Apr 2008 3:39 am
Location: Dunedin, NZ

Postby zibba » Thu, 17 Apr 2008 1:22 am

hi aidan,

thanks. it started as a port of amSynth and my intention was be just that: a code base for others to learn and steal from. i also made a few tweaks to the original amSynth DSP code but that was more of a learning exercise on my part.

i'll check into it. i've not looked at it for a while. i think i've only tried it with logic 8. i'll see if garageband can load it and can get back to you.

AU's can be tricky to debug. basically you have to create a custom executable in the xcode project and set that to AULab or garageband. then when you hit 'build and go' within xcode, the AULab app will start up. you then add your AU to a track which loads it into memory and xcode will recognise it's existence so you can start debugging.

there was a discussion recently on the core audio mailing list about how to get breakpoints to work. it starts here: http://lists.apple.com/archives/coreaud ... 00288.html

cheers
zib
zibba
 
Posts: 8
Joined: Mon, 30 Jul 2007 5:41 pm

Postby zibba » Thu, 17 Apr 2008 6:05 am

hi

ok i think i've fixed the problem. i was overloading AUInstrumentBase::StartNote in the class SinSynth, but the signature has changed in Mac OS X 10.5, so it wasn't getting overloaded, hence no midi note on messages, hence no sound.

i checked the updated SinSynth.cpp into the sourceforge cvs.

cheers
zib
zibba
 
Posts: 8
Joined: Mon, 30 Jul 2007 5:41 pm

Postby aaaidan » Sat, 26 Apr 2008 3:00 am

Excellent. Will checkout! (in two senses of the verb)
aaaidan
 
Posts: 3
Joined: Fri, 11 Apr 2008 3:39 am
Location: Dunedin, NZ


Return to Developers



Who is online

Users browsing this forum: No registered users and 1 guest