Sound processing in Android - android

I know there is a similar question to this floating around stackoverflow. What I would like to know is if there's a simple way to do beat mapping for a song in Android? I don't need to do anything as complicated as beat matching between different varieties of songs, as the other question requests; at least I don't think it's anymore complicated, more experienced programmers please feel free to comment.
I simply would like to map the beat of a single song to be able to use it later in my program. I'm very new to both Android programming and sound processing in programs, so any suggestions or comments are appreciated.

Check out the open source (actually made by a member of the Android team) project RingDroid...there's some pretty basic sound processing there, so that should give you a start.
Here's the RingDroid site.

Related

Developing an Android app with monthly subscription

I want to develop an app which I stream basic text information about sports. First of all I believe I need a server which my users connect to see my stream as soon as something new is published. But I don't have an idea about how to build something like that. I did some search on web to find lessons or answers but I wasn't able to find anything useful. If it's true that I need a server, is Java language good to code server's program? Because I only know a little bit of Java.
And I want my app to have a monthly fee. I'm completely new to programming but I guess I need a database to keep track of my user information. Do I have to build my own user membership system - which people register with their e-mails etc- for all this? Is it hard to do that? And again I don't have any source of information about this one too.
I'm lost at this point. I don't know what to search to get some answers. So I'm asking you guys. What do I need to build an app with monthly fee that streams live information? I'm not expecting a full answer here but at least I believe you guys can tell me where to look for answers. Thanks.
While I agree the question is very vague and open (we could write a thesis on the topic in question and everyone will have their own way to complete) my suggestion would be to research the following:
Java - read as much as you can about the language and ensure that you are happy with (or know where you can get access to good helpers) the syntax (you mention that you know a little about Java so that is a good start).
Android programming in general. Look up the Activity lifecycle (The Android documentation is good, read as much as you can, follow the examples and try out the tutorials! https://developer.android.com/training/basics/activity-lifecycle/index.html)
Read up on Firebase; this should make the server side a little simpler (although I have only a parsing knowledge (i.e., none) of Firebase, it looks like it will be a good start). Again walk through the examples / tutorials; do the Hello World and then pull it apart to see if you can figure out how it is holding together.
Then when you have questions (which you will, we all do!) come back and I know that you will get some great help!
Once you have a few applications under your belt (personal 'play' apps) then and only then would I consider looking at the Google Play API (https://developers.google.com/android-publisher/).
Hope this gets you on the starting grid at least! Good luck!
Gav

Android: Making a complex interface

I am a beginner at android app development. I have an idea of an app, but I first need to set my bearings straight. So instead of confusing you with the complexities of the app, I just want to ask a question. Obviously, I do not expect anyone to write me the entire code, instead just to guide me to the right path by indicating which methods, classes or keywords to look for.
I want to know how to create several instances of the same image. I am planning on having a toolbar with all the tools that you can select and then a workspace where you will be putting those tools. Ever played a tower defense games, you know how you have a toolbar with selection of towers to choose from and then you simply drag and drop them on the map? something like that. Please also guide me on which layout would best suit this type of application.
I understand the question is too broad, but any kind of help to get me started would immensely help.
For a game, you don't want to use native View objects. Here's a guide on Android game development.
Here is a simple example of a Sprite based game for Android.
I personally think that you are going the wrong way here. Just like if you wanted to build a house you wouldn't start from building the roof, first you need to get a book (I would recommend the Busy coders guide to android development) or start reading (or watching on youtube) a tutorial and just start learning to code in android. Get better at it and in some time you will understand better on what and how you can do with the platform. There are tons of stuff for you to learn before you will be able to do even simple stuff, but believe me learning android is very exciting and the feeling you get when developing an app should be what drives you forward. Hope this helps.

Graphic sound analyzer of microphone

I am building on an app which has a function which records the sound which comes in the microphone. It would be handy to give a graphical view of the incoming sound, like http://www.filebuzz.com/software_screenshot/full/10920-Audio_Edit.gif for example.
I searched a little bit for a tutorial online, but the only thing I found was Audalyzer, but it is difficult for me to get a grip on it, it also is using the whole interface and not clear how to implement it as a widget...
Maybe somebody knows a good tutorial or example code on this?
You'd probably want to use a Fast Fourier Transform for this.
I'd try jTransforms: https://sites.google.com/site/piotrwendykier/software/jtransforms
The blog here: http://trueharmoniccolours.co.uk/Blog/ gives a good introduction into what the FFT does and how you can turn it into a chart. I fear that by the end of this you'll understand FFTs though...

Android AudioRecorder with UI

I want to create an audio recorder I have tried the code I get from http://developer.android.com/guide/topics/media/audio-capture.html and it works fine; it records and it plays back what I have said. But right now I want to create an audio recorder with a UI like in recognizerIntent which Google has provided so that you can see or monitor that your voice has been recorded(sorry I can't find a right term but I'm hoping you can understand what I am trying to say). Do you know any tutorial or links that can help me?thanks for you help!
I think you mean that you want some feedback that your voice is being picked up? If so, perhaps this project, Audalyzer might be a good place to start looking?
Libraries within the package offer you a dB reading, a one and two-dimensional wave form, and an FFT plot.
(source: googlecode.com)
There is a simpler WaveformControl you may find easier to understand and modify for your needs.

Is there something in the Android architecture or API that prevents people from creating MP3 players that read embedded lyrics?

When I play certain MP3 files (such as lessons from JapanesePod101.com) on my iPod Touch, lyrics or transcripts that are embedded in the MP3 files are displayed in the media player. The lyrics are, I believe, stored as ID3/ID4 tags in the MP3 metadata.
I find this to be an extremely useful feature, and I believe I'm not alone. Despite that, neither the stock Android media player nor any other media player I've downloaded from the Market seems to support this. I just have not been able to find any way to get feature on my Nexus One.
This feature is important enough to me that I'm considering learning Android development just so I can write a simple media player that displays embedded lyrics or notes. However, the fact that nobody else seems to have done this makes me wonder - is it even possible? Is there something in the Android architecture or APIs that make it difficult or impossible to read and display lyrics information from MP3 files? I'd hate to get deep into the learning process and find out what I'm aiming for can't easily be done. (I mean, if all else fails I assume I could write my own MP3-decoder, but that's more trouble than I'm willing to go through right now).
I've already asked this question on the Android Enthusiasts Stack Exchange Beta Site, but in retrospect I decided it was more of a programming question and decided it was better to ask here.
Yeah, definitely more of a programming question. Just from my brief experience of reading through the ID3 spec, I think it's probably just that decoding ID3 tags is a complete PITA. I'm sure it can be done, as there are MP3 tag editing apps available for Android (whether any support lyrics or not, I do not know).
ID3v2.3 seems to have support for both synchronized and unsynchronized lyrics through the SYLT and USLT frames of the header. I imagine it's just such an underused feature that it isn't worth the effort to most to do so. Purchased MP3s don't carry this information (I've always wondered why not?), so they would have to manually be added (or automatically via a lyric service API, but there's a lot more coding involved with that).
Here is the ID3v2.3 spec if you'd like to look into it further...(abandon hope all ye who enter here)
The problem may be that most people would use the built-in mp3 playback mechanisms, and this may neither support lyric display nor be very easy to keep synchronized with something else doing lyric display.
So it may be that something needs to be written which does it's own mp3 decoding.
Most likely this would want to be done in native code. On the other hand, on android, audio output (and unless you use opengl, video display) pretty much has to be done from java. So you are looking at a fair amount of work to decode data with a native library and then dispatch it for playback and display from java.
So to answer your question - is it possible? Definitely
Is it made easy by the android APIs? - not really
I just added a new feature request that would give Android support for reading USLT in the ID3 tag. This will enable the native and 3rd party music players to display lyrics. If you want this feature, please star the request below, and post your comments.
http://code.google.com/p/android/issues/detail?id=32547

Categories

Resources