views:

77

answers:

4

I'm a programmer looking to play in the mobile world. The application I'd like to play with would support my musical hobbies. I suspect a mobile phone with a music player could easily be programmed to support a classical musicians practice sessions.

  1. Should be Easy: Play an A at 440 Hz (or 438,442) for tuning.
  2. Should be easy: Metronome with beat patterns
  3. The fun part: I hit a simple record, play a snippet, and can play it back so I can hear the notes I missed. You can almost do this with some sound recorders - but the need to clumsily select a file, save, open a different app to play back, usually makes it unusable. The value add is found in making this extremely easy.

Technically:

  1. A microphone and existing API for sound input. The ability to use an external microphone would be even better.
  2. Access to media player APIs without the need to open external apps or do clunky things with files.
  3. Adequate access to playback API to create specific notes and beat patterns.
  4. As a hobby application, this should not require expensive tooling. I can switch to a new phone to use the application.
  5. Bonus points for something that easily ports to a netbook.

I will admit I new to the world of sexy phones. I currently use an obsolete voice device with text messaging. I won't revealing my current flavor of programming because learning a new platform is just fine.

+1  A: 

Is this a trick question? iPhone!

RedFilter
Give me a why? Android would be the obvious answer for me for the tooling (Eclipse development anywhere). But I'm a mobile app newbie.
Precipitous
Why? Because the iPhone has excellent functionality and market penetration.
RedFilter
@Precipitous If you plan to sell it, the iPhone is the obvious choice - it has by far the larger market.
ceejayoz
+2  A: 

I'd have to go ahead and recommend Android for sure and perhaps Blackberry.

Reasoning: 1) iPhone apps are written completely in Objective-C and C. Porting it requires additional effort and you seem to desire something that sits on a netbook. 2) iPhones tend to be expensive (although you can get a cheapo iPod touch no problem)

However iPhone has great support for points 1, 2 and 3. So it's up to you, ease of development will probably land on iPhone. Ease of portability and development comes from Android and Blackberry.

Malaxeur
If Objective-C is an obstacle for you, then you should be ashamed to call yourself a programmer. WHo said anything about porting? And if porting is involved then most audio software out there will be written i C or C++, not Java, so porting to iPhone OS will actually be less work.
PeyloW
Objective-C is dead simple, like most other languages. I just meant it in the sense 'if you want your software to be easily portable between mobile devices, you might as well go with the most commonly supported language on the phones'... I'm all for iPhone development, don't get me wrong.
Malaxeur
+2  A: 

iPhone currently lacks a good way to generate notes that sound like actual instruments. To do so, you will have to build the whole ADSR envelope yourself. Or use prerecorded sounds and play with varying their pitch and duration.

The metronome, and recording and playback are easy.

Don't know anything about any other phones. I do enjoy Obj C immensely.

mahboudz
Informative, thanks!
Precipitous
A: 

I would recommend iPhone. The Core Audio library is broad, letting you play samples with the Audio Toolbox functions, or generate audio with low latency in real-time.

On the other side of the fence, Androids audio libraries requires more code for plsaying simple samples. And is not even close at matching the latency, and performance required for generating and/or processing real-time audio.

PeyloW