android


DSP (Digital Sound Processing) with Android Media Player


I have an app which plays music (mp3) from a server, created playlists etc.
The problem is that the sound/volume/db of some songs is higher or lower than others... Thus i am looking into a way to implement a DSP (Digital Sound Processing) into my app while playing music. I need a Sound Compressor which lowers the db output if this goes beyond a threshold or increases the db output if it is under some threshold.
Does anyone have an idea how this could be done??? I found some DSP app on Google Play so it is possible but how to implement it?
I found a possible solution called "Automatic Gain Control" which should actually do this but as i read it, it is meant for the INPUT sound while recording and not OUTPUT as with playing a song from server!
Any ideas, suggestions, examples?
Thanks
There is a built-in LoudnessEnhancer effect starting from Android KitKat. It will compress sounds that otherwise would clip with the specified gain setting. See the docs, and here is an example.
Probably, the solution you are looking for is called "Replay Gain", and it uses tags embedded into mp3 files for matching the resulting sound levels. So your player can lower the gain for tracks that are louder than needed, and increase gain for silent tracks. And with LoudnessEnhancer in place, you should not be experiencing clipping. Thus you don't actually need to implement any DSP code yourself.

Related Links

Android - rowIndex is less than 0 when updating RealmList from Activity
How to paste cut parts at same position on different image?
Lock the frequency in an android mobile device
ReactViewGroup and ReactRootView do not respect the LayoutParams of its children
Receiving bluetooth signal and sending text message in Android programming
Android and Sails js application to talk to each other
What will be the value of TAG?
What is the difference between MeasureSpec.getSize(widthMeasureSpec) and getWidth()?
Paths on canvas: Small gap between oblique lines or straight lines not on one level? (FILL or FILL_AND-STROKE)
App not working in all devices
ListView ContextAction not following layout
Android Facebook sdk 4.0 : Null exception while getting facebook user information?
Get eNb adn SNR in LTE network
Android Facebook SDK Login work only for my account
My Imageview Stops moving after scaling on Max level
how to prevent my app for video recording [closed]

Categories

HOME
notepad++
porting
scikit-learn
twitter-bootstrap-3
telegram
sitecore
database-normalization
regular-language
polling
tvos
boto3
project
pega
selenium-ide
code-generation
heat
fileserver
google-data-studio
libigl
systemtime
inno-download-plugin
easeljs
amazon-quicksight
winpe
utorrent
erb
hreflang
vue-chartjs
pop3
reverse
mnist
imx6
lint
flatmap
amazon-ses
apache-stanbol
resolution
trigonometry
branching-and-merging
naming
logback-groovy
knime
flask-login
pom.xml
gitlist
mongotemplate
corruption
qtranslate
semantic-logging
context-sensitive-grammar
yii2-user
java-6
cpu-cache
jtree
cvxpy
usart
docpad
ziparchive
x-tag
i386
cifilter
android-dateutils
vorpal.js
jtwig
embedding
google-query-language
lua-telegram-bot
sklearn-pandas
createprocess
np-spring
ascii-art
rasterize
zen-cart
mod-proxy
lasso
dulwich
nutiteq
jquery-forms-plugin
fits
dot.js
mass-assignment
crowd
easyrtc
rickshaw
mobility
lambda-architecture
jjaql
file-not-found
conditionaltagsupport
kendo-dataviz
breakout
dtmf
modular
unit-of-work
abstract-data-type
chart-director
panda3d
pyunit
database-create
koken
automationelement
cdonts
uideviceorientation
updatesourcetrigger
build-environment
fail-fast-fail-early
product-management
wcf-proxy

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App