Redefining my Semester Project

My semester programming project has undergone some changes since I conceived of it and posted my plans on my blog.

My teacher came back with some notes saying that the primary purpose of the project was to chronicle my learning process of creating the app. Since the app was technically done and just needed some polish, I decided to be bold and go in another direction.

I have wanted to learn Core Audio for a year or so now. I have either not had enough programming experience or been too busy to dedicate much time to learning it. I am also now required to complete and independent project in lieu of an internship for that requirement. I decided to dedicate a lot of time to making a Core Audio app and to kill both of those birds with one stone.

I made this decision a week ago. My initial thought was to create a subtractive synthesizer. I really enjoy using Reason and I wanted to make a synth modeled on their Subtractor synthesizer. It is modeled on an old analog synth rack and I really like the aesthetic feel of the analog synth.

On Monday I met a person at my CocoaHeads user group who has been programming audio for the last 25 years. He invited me to get coffee with him so that I could look at his project.

So yesterday he and I met up and I saw what he was doing. His synth is incredibly ambitious. He showed me the code he used to generate a simple square wave. In Core Audio that would have been a few lines of code. In his this was several classes worth of code.

I asked him how long he had been working on this . He told me he started it four years ago. He said he has been “almost done” with it for the last two years.

This was very daunting information. I want to make a synth, but I don’t think it would be a good project for my semester. Even if I just got one component done (which isn’t really likely) then I really wouldn’t have a lot to show for it.

I went to Chris Adamson and asked for advice about how long it takes to program a Core Audio app that does something. Part of this issue with Core Audio is learning the technology and looking through the header files. I wanted to get an idea of whether it was feasible for me to learn enough Core Audio to make something functional by the end of the year as a portfolio piece. He and my teacher Eric both gave me some ideas for a much less ambitious project.

At this point in time I am thinking about attempting either a streaming app or a recording app. I want to work my way all the way through the book at least once before I firmly commit myself to a project.

I have the next four days to just focus on Core Audio. I am through the first two and a half chapters and I need to see how much progress I make over the “long” weekend.

So, my current plan is to spend a few days getting up to speed on Core Audio and then redefine my semester project. That is where I am at right now for the independent project. I will update later with my progress.