-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to read audio file? #12
Comments
The idea came from the idea of isolating and analyzing the recording of the sound of a bird chirping. I imagine the user using the app to record a sample, using the app even in order to record the outdoors, recognizing the sound of a bird, and trying to identify, 'what type of bird was that? A hawk, blue jay, or a woodpecker?' So 1) if the user has been using the app and decides later they want to look at the recording where the bird chirped, it is a relevant question to ask how does the user find where the bird chirped? Do they take a note of the time in the recording on another app, and continue recording? Or do they stop recording and then record again? Let's first assume the recording was brief. Maybe 15 seconds of outdoor recording and then the user hears the bird and stops recording. The user will look at the overall picture of the recording and zoom to the timeframe where they believe the sound was recorded.
|
I did something similar to the situation you descried... Holding laptop that running Audacity (and Audition, shh), the other hand holds microphone. Not a pleasant experience I would say. And at that time there are very few spectrogram apps, they either lack essential functions or keep crashing... Enough prehistory. My design goal (so far) of this app is a full function spectrum/spectrogram real time monitor, and serves as a bottom line of more "advanced"/"professional" audio analyzers. Your usage example is more or less going beyond the "real time monitor" so that I have to re-think about the goal. I'm not questioning the suggesting, they are good, and I used to do it on PC. But just whether these are suitable tasks on a cell phone. Once you have the ability to view clips, some basic editing would be desirable (adjust volume, copy/cut/paste), then more advanced audio processing are wanted... I can't see clearly where is the boundary of design goal. Say, let's limit the goal to view the audio file as an audio source, and discuss the UI.
Technically the playback function is simple, just use the AudioTrack class. For decoding an audio file, MediaCodec class can do that (I have tried these). |
One aspect I thought of that may pose an issue down the line is alternatively recorded audio samples, e.g. 44.1kHz vs 48kHz vs 192kHz sample rate recordings. Would those recordings need to be re-sampled to the appropriate sample rate for the app to plot their values correctly, or should the app simply attempt to determine the sample rate (or ask directly) and display a warning if the app does not recognize or support the current sample rate? |
For the last issue regarding sampling rate changes. Not quite sure what the "alternatively recorded audio" means. I think: Once a file is loaded, set the sample rate to match the file metadata. If the user changes the sample rate, view the samples in this new sample rate (no re-sampling, just let the pitch shifts, i.e. only changes the axis label). Then if user press "Rec", record things in this new sample rate. Then if user changes sampling rate during recording, stop current recording, start a new record (This is also the current behavior). |
Missed the above message! Yes, that is far more articulate and accurate compared to what I was saying. This behavior sounds correct for those situations. |
As per user request in Play Store it is good to have the ability to load recored files and show its spectrum/spectrogram.
There are several things need to be fixed:
Load the whole file or part of a file?
How to move along time? or maybe just play it in real time? Related to previous question.
Do we need loudspeaker play back?
Having all these features is of course good, but that can be too complex. It is better to solve the most wanted/useful part first.
@nfsmaster208
The text was updated successfully, but these errors were encountered: