Developing an App that rates your voice - General Questions and Answers

Hi,
New to this forum, so have patience. I have tried searching for my query but returned nothing, so here it goes.
I am thinking of building an Android App that rates your voice and gives you feedback in the form of pre-determined sound files. The feedback would be determine by your voice being analysed.
Would I need to use the speech recognizer or voice recorder for this feature? How would I implement a logical 'if' statement in regards to voice data?
Thanks

What do you mean by rating a voice? Do you mean trying to match a certain pitch? Or something else altogether?

Yes in terms of pitch analysis, is this possible?

Sure if you can write an algorithm for that?
You can get data about the sound input, but detecting pitch and more will require some sound knowledge and quite a bit of coding.

It's surely doable. If you just want an app that gets your pitch, you could probably get away with one of the guitar tuning apps. Not sure how that would work with voices though. There's also some work done in making an autotuner on android, I can't link because of my post count, but you can just Google it.
I actually did something like this before, but not with android. You could probably easily get away with copying some already available code, although performance-wise I'm not sure how that would fare. If you really want to make the app, you will want to look into fast fourier transforms.

Related

DialPlus - Display Information About Callers/Contacts

Don't know if any of you have played with this little app yet, but I discovered it this morning and I think I'm in love.
http://www.dialplus.net/product/
From the developer:
DialPlus changes the definition of a phone call.
DialPlus enriches the standard phone call experience by automatically and simultaneously providing dynamic, contextually relevant visual information about the called or calling party before the call is answered, during the call and after the call is over. DialPlus makes it easy for users to engage in mobile social networking or to get information about a business they're speaking with, such as directions, menus and reviews.
Click to expand...
Click to collapse
In a nutshell, it will link with any social networking accounts you have to display information about your contacts. It will also use the magics of the intarwebs to display information on business you call. Pretty nifty little add-on.
Hope y'all enjoy.
-John
In Love?
I downloaded. I tried it. I'm not really in love.
Don't get me wrong, it's an interesting idea, but not quite ready for prime time, as they say. I called myself from my work phone, and it never did bring up the browser page for my well known area hospital. It seems to only look at MySpace or Facebook for matches, but didn't find several of my contacts who are in both.
I'm not at all sure I would be in love with this app unless perhaps I had written it or was marketing it?
Okay, okay, maybe not in love. Since discovering it this morning, I have done some tinkering and it's definitely clear that it has quite a few bugs remaining in it. I don't guess I'm ready to make it a part of my daily life, but it will definitely be an interesting project to watch as it matures.

To you, what is the one most important feature of a smart-phone

Okay, let's gather some data. I want to know what the majority at XDA find that they rely on the most on a smart-phone?
Take the poll and look at the results.
To those of you who aren't sure what they find the most important feature for them, here is a short criteria list:
Personal Information Management
Calendar
Contacts
Notes
Tasks
To-do
Finances
Passwords
Reminders
Communication
Call Quality & Clearness
QWERTY Keyboard
Phone Log
Email and Messaging Compatibility
Travel and Assistant
Dictionary
Calculator
Unit Converter
Bar-code Scanner
GPS
Alarm Clock
Encyclopedia via Web
Multimedia
Music
Video
Picture
Entertainment via Web
Games
File management
Speaker Quality and Loudness
Camera & Audio Recorder
Sound Recordings
Captured Pictures
Recorded Videos
Productivity
Word documents
Spreadsheets
Presentations
Other Documents
Audio Editor
Video Editor
Image Editor
Computer Programming
I am also working on a personal project and I need help from anyone who is willing to participate. I would like to organize a list for smart phone criteria. I want to correctly categorize each feature and sub-feature to the correct and most APPROPRIATE parent category. I will take the suggestions of each new post. And I do hope that at least a few of you participate in the poll and also give me other features to add to the list and give me category advice.
If I had to pick just one then I suppose I'd say communication; but I think this poll kind of misses the point, to be honest: the reason I want a smartphone is precisely the fact that it is NOT limited to just one set of functions. If it only did one of those six things then I wouldn't buy it regardless of which of the six it is. The fact that it does all six is what's important.
Shasarak said:
If I had to pick just one then I suppose I'd say communication; but I think this poll kind of misses the point, to be honest: the reason I want a smartphone is precisely the fact that it is NOT limited to just one set of functions. If it only did one of those six things then I wouldn't buy it regardless of which of the six it is. The fact that it does all six is what's important.
Click to expand...
Click to collapse
The point of this thread is to see what users like the most, so people (the ones who make your phone) can decide what is trendy right now. If they know what is trendy, they can spend a bit more time on improving something that is currently in demand, and less time on the less desirable features. They can also look at the smallest probabilities and see why people do not like that feature. Maybe then, they would understand why people don't use the feature. Then they can make decisions on not what is most beneficial to improve, but on what NEEDS improvement. Keep in mind that time is always moving forward so distributing equal attention and work on all features is probably uneconomical. Of course, this is only a personal experiment. Sorry, people.
I didn't ask what makes a smart phone essential (as in necessary). I asked, what is the feature that is most essential (ahem... useful and most addicting) to you.
Ya know, I am fairly certain that I use PIM more than Communication. If a smart-phone specializes in every feature such as awesome communication capabilities, awesome recording capabilities, and awesome multimedia capability, but fails to implement useful PIM management buttons/software/capabilities, then I would look for another phone. But if it only had an awesome PIM implementation than I wouldn't buy it because a smart-phone is an all-in-one device. So your point is invalid to me, and would make sense on a topic talking about how useless every other feature--except communication--is.
Please, reconsider the fact that I said smart-phone. I said nothing about travel phones, basic phones, business phones, or multimedia/music phones, or camera phones. I mean okay, maybe there is a phone that you like and think that is a perfect 10 for each category. But considering that all features are really good, I WILL still ask you what do you like the most about it? It's so simple, that I am don't know why you have to deviate from the purpose of this poll.
Otherwise, you are saying that your preference on a phone is perfectly and equally distributed. That would mean you love PIM 16%, Communication 16%, Travel and Assistant 16%, Multimedia 16%, Camera & Recorder 16%, and Productivity 16%. This is impossible in the real world.
So my topic absolutely makes sense. I think YOU are missing the point.
Please vote people. Thanks.

Phone Call Recorder

I need to record phone calls. My boss screams at me like a demon monster, and I'd like to preserve this fresh Hell for posterity... maybe make it my ringtone. (Yes, I have a right to in my state, as I am a party to the call)
Searching on AppBrain for 'phone call recorder' gives 13,997 results.
Ideally I'd like it to automatically start when I get a call from a certain number, and otherwise have a push-button start/stop while calls are in progress, and any other time.
Can anyone advise?
Quantumstate said:
I need to record phone calls. My boss screams at me like a demon monster, and I'd like to preserve this fresh Hell for posterity... maybe make it my ringtone. (Yes, I have a right to in my state, as I am a party to the call)
Searching on AppBrain for 'phone call recorder' gives 13,997 results.
Ideally I'd like it to automatically start when I get a call from a certain number, and otherwise have a push-button start/stop while calls are in progress, and any other time.
Can anyone advise?
Click to expand...
Click to collapse
I think Google Voice has this feature, but it lets the other party know via an in-call announcement.
esone1ll said:
I think Google Voice has this feature, but it lets the other party know via an in-call announcement.
Click to expand...
Click to collapse
Thanks, but no Google apps please. Don't trust them. Open-source is best.
Quantumstate said:
Thanks, but no Google apps please. Don't trust them. Open-source is best.
Click to expand...
Click to collapse
Interesting choice of phone platforms given that you don't trust Google.
By the way, much of Google's software is open source with that source code freely available, including Android.
Though I've only looked for this in Nexus One forums, it seems that no one can figure out how to get an application (at least not involving GV) to capture audio on both sides of the conversation, unless it's on speaker or maybe a headset. Might vary by device though if it's a hardware thing.
d0ugie said:
Interesting choice of phone platforms given that you don't trust Google.
Click to expand...
Click to collapse
Long story. Sure you want to know?
http://forum.xda-developers.com/showthread.php?t=730544
Yes N1 is the phone of concern. Odd that it's difficult to capture both sides. Shouldn't be difficult to emulate GV by looking at the source.
I was going to suggest Google Voice also. When you hit the number 2 or 4 (can't remember which), it will notify you and the other caller that the session is being recorded (which might shut your boss up for good!). You can even download the conversation into an mp3 format. It records both sides of the conversation, not just yours or his.
Now, why would Google give a crap what your boss is yelling about? My point exactly ... this isn't Big Brother ... yet.
Read that other thread to find out, if you're actually curious.
I notice that comments in many of the call recording apps say 'doesn't work', with one phone or another, usually newer phones. And I am gathering that G**gle Voice is closed-source, as are apparently many of their other apps, so reading source for tips on how to get both sides is not an option.
I wouldn't use G**gle apps in any case, but to notify my boss I am recording would probably get me fired today. I'm just wanting to collect his fiery, abusive calls just in case...
Apparently most apps are unable to record the other party's side of the conversation.
Does anyone know why this would be? What would it take to record both sides. I'm sure there are hooks in Android to get this.
All right, after considerable research it seems I am the best-informed around here.
It is now clear that there is no way a third-party app can record the orther end of the conversation, except in speakerphone mode. (MIC ONLY). Only Google Voice can do this, and it insists on using 'The Cloud' so they have control over all your conversations.
There is confusion over whether this is an API problem, or a driver problem, but if it's a driver problem both HTC and Motorola suffer from it.
So, this is a deal-breaker. No Android phone for me. I'm lucky I'm not already stuck with one.
Winduhs Mobile phones can record with third-party apps, as can the Symbian-based Nokia N8 when it comes out next month. So that's where I'm going.
Good bye Android
Hate to tell you this but you are butting you head up against a long time limitation of the "Smartphone" platform. It isn't limited to Android devices either. WinMo has the same limitations and it has to do with the OS not having access to the incoming audio stream.
Not true. Google Voice can do it, built-in, but I'm not sending all recordings to them, no sir.
This proves that the mechanisms are in place but that either the API is rigged, the drivers are, or documentation is lying. Everything records as documented in the emulated SDK, but not on the phone itself.
Phones that actually can record both sides are Nokia S60 & Maemo phones, including N900 & N8 (Recaller, Voxtrack Personal- beepless), Rseven on Symbian & WM, Mvoice & CallRec on Palm, Vito-Audionotes on HTC TouchPro2, Sony Ericsson c905 has the record option.
Right now I'm looking for a Linux port to any of the newer smartphones, as Linux can record and has nav apps, my two vital functions.
Quantumstate said:
Not true. Google Voice can do it, built-in, but I'm not sending all recordings to them, no sir.
This proves that the mechanisms are in place but that either the API is rigged, the drivers are, or documentation is lying. Everything records as documented in the emulated SDK, but not on the phone itself.
Click to expand...
Click to collapse
That doesn't prove anything. Google Voice calls go through their servers. I can record calls between two landlines, if the call is made through GVoice. Does this mean that my 1970s-era, rotary-dial phone has the SDK to record calls?
It proves that I can't use Android.
I am not going to bicker with you.
This thread is comedy gold. There are several reasons why access the audio stream is restricted. Phones from many platforms cannot record both sides of the conversation, and I am surprised to hear that 3rd party apps can do this on WinMo. I would hazzard a guess that this requires more than just a regular run of the mill type install.
You seem to hate Android, and Google in particular. I have read your posts. I thank you for your lack of contribution to the forum. A good chuckle doesn't really count.
Your fear mongering and paranoia regarding big business and biased news is typical of someone living behind a computer for 52 years. Oh yes, that's you too. If you wish to spread your opinion, I would suggest you start a blog, rather than fill a forum with posts like these.
Take care.
Voice recorder app on win mobile
Until about 10 days ago when I bought my first android phone, a samsung vibrant which i am loving it, I was a windows mobile user for many years and it's true that there is an free app called PMrecoder, that records phone conversation (both sides) and saves it in a folder on the SD card. I still have the app on my Tmobile wing. This app works great and records all coversations automatically. I wish there was an app like that for android also. I am sure someone will come up with a similar app for android soon.
You have nothing but insults "SpeeDemon". {snicker}
Means nothing.
But thanks mayart, for another app that works.
total recall (paid app, about 10 dollards) tryes to do the job.
I've buy it, but...nobody never calls me.
Seriously: i come from an excellent nokia E65. It knew how to record some in's and out's very efficiently.
Doesn't work on Nexus One...
You should send a mail to the developers (company).
I think they want now to be efficient on Android phones, as they are for ages
on symbian (Nokia) ones.
Ah, never mind, I've found an app that does it.
However because of the abuse I was given in this thread I am not sharing it with this forum.
Have a nice day.

DEV challenge: Fix the mediocre sound

I'm guessing this is harder than it seems to a digitial signal processing, software engineering type like me, and that's why it hasn't been done.
Some will say, "why don't you take it on and contribute?" I very well may, when I can carve out the time to learn what I need to know. Unfortunately, that's not on the horizon atm.
So, what's the request? We all know that the sound subsystem is very primitive. Quiet source media, particularly AC3-encoded sound from video media, can be annoyingly quiet even over headphones at full volume.
The device would benefit immensely with just two simple enhancements: A pre-amp, and a balance control. In the digital domain, these two filters are trivial to implement. So, if there is a chained filter architecture to the sound system, similar to that in Windows, this should be dead-simple to implement. There's plenty of public domain GPL code out there already to leverage.
Even without a filter architecture, still implementing something like this shouldn't be too hard. I'm thinking of a settings interface where sliders control pre-amp boost and balance.
Now, even better would be to add level normalization (an AGC). Even better than that would be an equalizer. All of this, again, can be leveraged from public-domain code.
The ultimate would be a port of SRS/WOW functionality. This is probably a pipe-dream. But I thought I'd mention it. This is not open-source, public domain code, so I have no idea how it might be done, other than finding a way to wrap the WM driver and making to work in Linux (do-able, but not easy).
dwallersv said:
Even without a filter architecture, still implementing something like this shouldn't be too hard. I'm thinking of a settings interface where sliders control pre-amp boost and balance.
Click to expand...
Click to collapse
Like this?
Doesn't appear to have a balance control from the screen shots, although ALSA does do that.
In general much of what you ask for can be done with plugins for ALSA. It's a matter of exposing it with a simple-to-use interface.
I couldn't get MixGet to work with 2.2. But maybe I was doing something wrong... I'll try some things..
mkasick said:
Like this?
Doesn't appear to have a balance control from the screen shots, although ALSA does do that.
In general much of what you ask for can be done with plugins for ALSA. It's a matter of exposing it with a simple-to-use interface.
Click to expand...
Click to collapse
Thanks so much for this pointer. I'd searched Market a month ago when I first got my Epic looking for something like this and couldn't find it.
This handles 90% of the problem. Balance and an EQ would take care of the rest.
I found the ALSA prject Wiki... I'll take a look at this and see if maybe I can hack up an interface to make some of these more advanced features work. Don't hold your breath, gang -- I'm severely limited in time right now, but the holiday season is upon us, and I'll have some time to screw around...
I spoke too soon.
Unfortunately, MixGet isn't a general audio system solution, but apparently needs to be explicitly implemented to support specific apps. It boosts audio nicely for the music player, but had no effect at all for yxplayer (a streaming video player) -- and that's where I really need it!
However, boosting audio independent of the target app itself (i.e. no modification to the app is necessary -- it's unaware of what's been done to crank up the volume) is possible, so it's certainly possible to do this on a system-wide basis.
I saw some references to voodoo-audio working on some things like this. Anyone know what's going on there? I tried to find some stuff with a quick internet search, and could only find an SVN source management page.

[Q] Help me flesh out an idea for new functionality

tl;dr I'm new, I'm not a very knowledgeable developer, I have an idea that I want your opinion about.
Heyo Peoples,
I'm new and I like to think a lot about cool new stuff with mobile devices (web, software, hardware, etc). I've been thinking a lot recently about how people like to use mobile devices, and how we might use them in the near future--thinking past what's being done now, and into what comes next.
I've been wondering for a while why there isn't an existing piece of functionality on mobile devices that allows a user complete control of the device and every piece of information on it. Imagine a GUI except instead of graphics, it's like interacting with a person. (aside: first person to say Siri should be shunned like an Amish girl who went to a movie theater).
Is it outrageous to say that you should be able to pick up your phone and have it find anything, from anytime in the past that you have done with or on it? I know that would take mountains of data, but is it silly? In it's most basic form, this would just be a search feature. In it's most eloquent form it could be an operating system. Imagine being able to ask your phone what you did last Wednesday, or maybe where you were. What if it could recall emails or documents based on date, time, location where you were when you wrote it, keyword, or contact, based on verbal interaction? What if it tracked data usage by application, or allowed you to measure and optimize system performance with a verbal command (ex. "Shut down all apps except for Google Maps" or "How much data am I using per minute").
Is it too early to start wishing for an interface like that computer on Paycheck (horrible movie with Ben Afleck) or Cortana in Halo? Is this type of interface impractical or implausible?
If you were to make something like this, would it have to be a new operating system built from the ground up, or could you develop an app to do this, or could you hack Android to do it? I welcome all of your feedback.
Lots of questions, and I have very few answers.
Jujubes said:
tl;dr I'm new, I'm not a very knowledgeable developer, I have an idea that I want your opinion about.
Heyo Peoples,
I'm new and I like to think a lot about cool new stuff with mobile devices (web, software, hardware, etc). I've been thinking a lot recently about how people like to use mobile devices, and how we might use them in the near future--thinking past what's being done now, and into what comes next.
I've been wondering for a while why there isn't an existing piece of functionality on mobile devices that allows a user complete control of the device and every piece of information on it. Imagine a GUI except instead of graphics, it's like interacting with a person. (aside: first person to say Siri should be shunned like an Amish girl who went to a movie theater).
Is it outrageous to say that you should be able to pick up your phone and have it find anything, from anytime in the past that you have done with or on it? I know that would take mountains of data, but is it silly? In it's most basic form, this would just be a search feature. In it's most eloquent form it could be an operating system. Imagine being able to ask your phone what you did last Wednesday, or maybe where you were. What if it could recall emails or documents based on date, time, location where you were when you wrote it, keyword, or contact, based on verbal interaction? What if it tracked data usage by application, or allowed you to measure and optimize system performance with a verbal command (ex. "Shut down all apps except for Google Maps" or "How much data am I using per minute").
Is it too early to start wishing for an interface like that computer on Paycheck (horrible movie with Ben Afleck) or Cortana in Halo? Is this type of interface impractical or implausible?
If you were to make something like this, would it have to be a new operating system built from the ground up, or could you develop an app to do this, or could you hack Android to do it? I welcome all of your feedback.
Lots of questions, and I have very few answers.
Click to expand...
Click to collapse
This is probably not as far off as it seems. The developers of "Utter" have come along way in the right direction. You should maybe approach them with your ideas. Not all of them of course . Save some for yourself.
One problem I see is semantics. "Shut down all apps except for Google Maps" sounds good - but do you really mean ALL apps ? The line that would be walked is one where the developer must train the program to not necessarily do what they ask, but do what they WANT. It gets trickier when you realise that some people who aren't your average users might want to test things and shut down an app (in this case) that an average user would never want shut, where they might mess up their phone beyond their ability to repair if they did.
I think speech is a great tool to interact, though I'm not going to be a person to use it. I don't think speech will ever become a default unless there are other technological advances that change how we interact with the world. It's annoying enough to hear someone gabbing loudly to another human on the phone, do we really want people gabbing AT their phones as a default interface ? I think privacy is a driving factor that will keep sound from being a major interface - perhaps it could work for in home applications, but out in public people may not want to announce to the world who they are calling, what they are looking for, or what site they're logging on to, et cetera. Until there's technology to make voice and sound less "public", I don't see this being the future of phones - it's more of a nice thing to have as an "extra" for when a person is comfortable using it.
But, hey, maybe we'll get used to wearing Google Glass and talking to ourselves all the time - or we'll get in-ear buds or implants where we can choose to hear the outside world or not. Just exploring the possibilities here.
I do think it's a big "outrageous" to have infinite backup. Just take a look at how much data companies like Amazon and Facebook acquire on a per-day basis. Think about how much data you use on a daily basis. I don't have the money or desire to be buying new HDDs every other week. Maybe in the future there will be a technological revolution that allows for mass amounts of data to be stored in even smaller spaces. But current technology in that regard is still very expensive and persnickety - read about high capacity SD cards and how fragile they can be and about data needing to be "refreshed" or they can become corrupt. There are lots of issues that make backing up everything you do impracticable.
And, again - privacy concerns. Do I really want my computer to know what I did last Wednesday and who I was with ? What if someone stole my computer or phone and had access to that information ? If we had the technology to do that, who's to say that current encryption would be "enough" - or that someone wouldn't go ahead and try to hack it anyway if they felt finding out basically everything about you was worth brute-forcing your phone or whatever they'd do in the future ? And have no password or a crappy one - even easier for them to know EVERYTHING about you, now.
Highly visual and talk-activated computers are absolutely great for games, movies, and TV. Why ? They function as narrative devices. They allow the actor to say or explain things they otherwise wouldn't have said out loud for personal, practical, or security reasons. They can become characters in their own right. People like those big screen computer displays where the characters are poking things all over and up and down - it looks cool. But not so cool is having your arms get tired from reaching up and around all the time. Not so cool is having to tell the computer out loud what kind of special images you want to search for when you have house-mates living in the next room over.
Just some thoughts. If you have other or counter ideas, go right on ahead.

Categories

Resources