Tuesday, October 10, 2006

Edirol R-09 Review

I just had the opportunity to try out an Edirol R-09 from my friends at music lab.

In summary, my favourite features (positives):
- small size
- light weight
- AA batteries
- records to standard (and cheap) SD cards
- standard mini USB connector
- internal microphones actually sound quite nice
- good stereo image from internal microphones
- intuitive menu system
- you can disable AGC (automatic gain control)
- has Low Cut filters!

And negative features:
- internal microphones very susceptible to handling noise
- internal microphones very susceptible to wind noise
- recordings are a little bit "hissy"
- cannot be USB bus powered (need to have charged batteries to use USB to computer mode)

The unit is impressively small, and I like the fact that it runs on standard AA batteries, records to standard SD cards and connects to a computer via a standard mini-USB connector.

The menu interface is quite simple and easy to use. I read the manual, which is quite well written, but didn't really need to - navigating the menus is very intuitive.

I only tested the unit with its built-in stereo microphones - I didn't get a chance to test the unit's mic or line inputs, but it's good that it has them.

The internal microphones are not too bad for what they are. I have listened to a whole load of small MP3 style recorders that are aimed to replace micro-cassette dictaphone recorders, but don't really sound any better. The R-09 at least works quite well. The microphones create an impressively accurate stereo image, but I found that the stereo image translated better on headphones than it did on speakers. Perhaps some of the stereo imaging is created by some configuration of the microphones emulating a binaural configuration, resulting in a great stereo image on headphones, but not on speakers..?

The sound of the microphones is a little bit hissy. I feel like recording in 24 bit would be a waste of time with the internal microphones, just like a camera capturing 10 Megapixels from a 10mm lens.

The microphones are quite bass heavy in their response, and are also extremely susceptible to wind noise. I noticed that even air pressure differentials from big air conditioning systems (like in shopping centres) cause the microphone capsules to crap out. (I think that's the technical term.)

The unit has four small rubber/plastic feet on its base. After a first glance at the unit and its construction, I thought that it would sound best standing up on the small end (where the battery cover is) so that the capsules would be facing forwards. However, doing a test recording at a meeting in a board room style environment, the unit actually recorded a more even balance of sound in the room (from different people speaking, at close and distant proximity to the unit) and a more "intelligible" sound when it was lying on its back (on the four rubber feet). Perhaps having the microphone capsules very close to the table achieves a better sound by some acoustic coupling with the table's surface. Whatever it is, the recorde3d sound is better when the unit is lying on the table the capsules pointing upwards.

Overall, I like the unit. I think for the price, compact size and features, it's a great unit for recording anything from meetings to sound effects (so long as there is no wind).

Enjoy.

Tuesday, July 25, 2006

XCode - copying Dynamic Libraries into Applications

I'm working on a Mac OS X application which uses a dynamic library (dylib) I'm building. I'd been having a problem where the application would launch perfectly if I launched it from the XCode, but it would never launch from the Finder.

I had the dylib in a Copy Phase copying the .dylib file into the './Contents/MacOS' directory in the application package.

I was trying all sorts of things, including copying the built dynamic library into '/usr/local/lib' which worked, but then I realised that the library was not within the application package so it would not be transportable.

So ultimately I wanted the dynamic library (dylib) copied into the application package, resulting in a completely transportable application.

I then figured out why it wasn't working. It has all to do with the search paths that 'dyld' uses when the application is launched. When XCode launched the application, it launches it from the common build directory (which I had manually set), and consequently the dynamic library (dylib) was in the current directory. dyld found it easily.

When my application was launched from the Finder, the working directory was set to something else... i don't know what.. but it's different, and 'dyld' couldn't find my dynamic library (dylib). I could prove this by opening a Terminal window, and launching the application from different working directories. When i 'cd' to the build directory where the .dylib is built, it works, but from any other directory, it fails.

Then i discovered, an interesting article http://developer.apple.com/releasenotes/DeveloperTools/dyld.html and the little gem "@executable_path/". So here's the solution:

Go to the XCode project for the dynamic library (dylib) and set the "Installation Directory" to "@executable_path/". Then rebuild it. In the main application XCode project, make a "Copy Files" build phase which copies the dynamic library (dylib) into the "Executables" directory. Now regardless of what the current directory is, 'dyld' will always find the dylib because it looks in the same directory as the application's executable file.

I hope this saves someone a little bit of time. It bugged me for hours.

Wednesday, July 19, 2006

Making Websites with PHP and Mozilla / SeaMonkey

I have a web site (www.soundevolution.com.au) that runs on PHP. I use PHP for templates (common page headers, etc) and a bit of dynamic content here and there.

In search for a decent open source HTML/PHP editor, I tried Mozilla and SeaMonkey (Mac OS X builds). However, I discovered that they COMPLETELY CORRUPT php files. All the "" tags were gone. Sometimes even the PHP code between them was gone too!!!!

Painful. So here it is again. DO NOT USE Mozilla or SeaMonkey for editing PHP files - they corrupt the files!!!

I wish I knew that.

Sunday, June 25, 2006

Sending Email with Postfix and PostfixEnabler on Mac OS X

I use my laptop in a number of different locations (work, studio, home, etc). Every place has a different network, and everything automatically works (auto-detects network settings) except Email. I have to *know* what the local SMTP server is so I can send mail from that specific network connection.

I was beginning to get frustrated at constantly changing my SMTP settings in Mail every time I connect to a different network. So I looked for a send mail solution. It turns out that Mac OS X has a sendmail server bult in, but it is not configured or running.

After a bit of a search around the 'net, I found PostfixEnabler. I downloaded it, ran it, paid for it, and hey presto! I can now send mails from anywhere because my laptop itself is my sendmail server!

I did have one small problem, and that was with the ADSL connection at home. For some strange reason, postfix would not recognise the auto DNS from the ADSL modem/router, like every other application did. Once I entered the DNS manually into the Network Settings, it started to work fine.

So now I have "postfix" running which accepts sending mail from the local machine regardless of what network I'm on. I can even send mail when I'm not on a network, and it sits in a queue until there is a network. Nice.