[iPhone] Implementing VOIP for iPhone App

9 views
Skip to first unread message

Tharindu Madushanka

unread,
Jan 24, 2010, 10:17:45 AM1/24/10
to coco...@lists.apple.com
Hi

I am currently in 4th year student of University of Moratuwa, Sri Lanka. I
am thinking of creating iPhone client and server application (using Java)
for my final year project. I have following things in my mind. I would like
to have some instructions or guides about this idea specially on possibility
of doing such project in kind of 6 months time.

I have some experience with iPhone SDK and Objective-C published one iPhone
app of my own but not much experience working with low level C coding.
I want to come up with *VOIP and Voice Recognition app*. I am thinking of
implementing basically voice recognition at server side. And about
implementing VOIP I would like to know some steps or guides from anyone who
has more idea on this stuff. So I would like to know whether its possible to
come up with such app with a period of around 6 months. I have found that
there is some open source work on voice recognition - sphinx - Java. And
just like to know about possibility of implementing VOIP for iPhone.. or
some initial steps to look into this.

Thank you and Kind Regards,

Tharindu Madushanka
_______________________________________________

Cocoa-dev mailing list (Coco...@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/cocoa-dev-garchive-98506%40googlegroups.com

This email sent to cocoa-dev-ga...@googlegroups.com

Michael Ash

unread,
Jan 25, 2010, 3:50:08 PM1/25/10
to cocoa-dev
On Sun, Jan 24, 2010 at 10:17 AM, Tharindu Madushanka
<thari...@gmail.com> wrote:
> Hi
>
> I am currently in 4th year student of University of Moratuwa, Sri Lanka. I
> am thinking of creating iPhone client and server application (using Java)
> for my final year project. I have following things in my mind. I would like
> to have some instructions or guides about this idea specially on possibility
> of doing such project in kind of 6 months time.
>
> I have some experience with iPhone SDK and Objective-C published one iPhone
> app of my own but not much experience working with low level C coding.
> I want to come up with *VOIP and Voice Recognition app*. I am thinking of
> implementing basically voice recognition at server side. And about
> implementing VOIP I would like to know some steps or guides from anyone who
> has more idea on this stuff. So I would like to know whether its possible to
> come up with such app with a period of around 6 months. I have found that
> there is some open source work on voice recognition - sphinx - Java. And
> just like to know about possibility of implementing VOIP for iPhone.. or
> some initial steps to look into this.

I think that the term "VoIP" is a red herring here. Yes, technically
you're taking voice audio and sending it over IP, but VoIP normally
refers to real-time interactive usage like internet telephony. You're
just sending audio data to a server and getting some kind of response,
so it's quite different. In particular, VoIP needs to achieve
latencies that are as low as possible (even 200ms of round-trip delay
can be pretty easily perceived by a human during a conversation),
whereas you really don't care too much about network latencies. This
alters the techniques you want to use considerably.

So, forget about VoIP and just break your problem down normally. You
really have three parts: 1) recording audio data 2) compressing it
3) sending it to a server and getting a response.

Parts 1 and 2 can be achieved with CoreAudio, and there's lots of
information and sample code out there. For more assistance, the
coreaudio-api list has good people.

Part 3 is pretty much up to you. Probably the simplest technique would
be to post the audio data using HTTP, which can be done in Cocoa with
NSURLConnection.

Is this possible in 6 months? That's really difficult to say, because
it all depends on the speed and skill of the programmer (you). Check
this stuff out, come up with a plan, and decide for yourself.

Mike

Shawn Rutledge

unread,
Jan 26, 2010, 2:28:52 PM1/26/10
to Michael Ash, cocoa-dev
On Mon, Jan 25, 2010 at 1:50 PM, Michael Ash <micha...@gmail.com> wrote:
> I think that the term "VoIP" is a red herring here. Yes, technically
> you're taking voice audio and sending it over IP, but VoIP normally
> refers to real-time interactive usage like internet telephony. You're
> just sending audio data to a server and getting some kind of response,

I assumed the voice recognition was for voice dialing or some kind of
interactive voice response system.

Anyway it seems like it would be better to go with a standards-based
approach, e.g. the iPhone app should be a SIP client or an Asterisk
client, and then I think you can easily build the voice-response stuff
on an Asterisk server, as some kind of plugin. I'm not an expert on
those details but I know this kind of stuff gets done from time to
time, so there is probably plenty of stuff you can reuse rather than
re-inventing the wheel.

But then, I'm thinking as if the output of this class project is
supposed to be a useful piece of engineering and build upon what
exists already. Could be wrong... sometimes the profs like you to
reinvent the wheel just to learn from experience. In 1994 I had a
class in "multimedia information systems" and the class project was to
build a computer-based magazine or newspaper replacement. I threw
together a quick GUI (table of contents and navigation stuff) in
Toolbook and used HTML for the content, which was quite easy, and the
prof was taken aback... he had said when we started the project that
there was a Unix box available to do the project on, and thought we
were going to actually start with xlib or Motif or some such and build
the whole thing from scratch, which I thought was utterly pointless.
My grade turned out OK anyhow (maybe I got a B for that class, I
forgot). The web was sortof new at that time, but all the cool kids
had web pages already and I thought it was kindof pathetic that a prof
who specializes in multimedia wouldn't have understood by then that it
was the short-term future of media consumption, and taking that as a
given, could've thought of a more appropriate assignment to build on
top of it. OTOH I didn't really learn anything from that experience;
if I'd slaved away with Motif to build some kind of pointless one-off
app from scratch, at least I would've learned Motif along the way.
The real world is often pragmatic though, like I was... why do it over
again if you can reuse it.

Reply all
Reply to author
Forward
0 new messages