(How To) Downmix stereo to mono and boost volume for the internal Nook Color speaker

rico2001

Senior Member
Dec 8, 2010
1,599
266
I really love my Nook Color.
I currently am running it with Nookie Froyo installed to the eMMC by following the directions found here.

Its fantastic and so far I found nothing that it can't do. It runs flawlessly.
My only gripe was the sound.
There are two issues as you probably know.
1) Low volume
2) The built in speaker is mono and only outputs one channel (left I believe)

So after trying a few things, I finally found a way to downmix stereo to mono and boost the volume a bunch. Now music is fantastic, louder and I hear both left and right channels as well!

The solution was in ALSA's asound.conf. It took me a little to figure out the best method and here is what I did.
FYI: I also have just a volume boosted version that does not downmix explained later as well.

First off, if you decide to do this, I take no responsibility for any possible damage to your Nook Color's internal speaker.

OK, that's out of the way, so here we go...

To do this you will need a working ADB setup or Root Explorer and a text editor.
I used ADB, so I will explain how to do this via that method.
You will of course need to be rooted.
I only tested this on my Nookie Froyo, but I see no reason why this won't work on any rooted setup since it is an ALSA tweak.


Download the asound.conf.downmixed to your C:\ drive.
You will need adb to be working on your setup. If so, copy and paste the next 5 lines:
adb shell mount -o remount,rw /system
adb shell cp /system/etc/asound.conf /system/etc/asound.conf.original
adb push c:\asound.conf.downmixed /system/etc/asound.conf
adb shell chmod 644 /system/etc/asound.conf
adb reboot

You are all set now.


If you ever want to go back to stock, copy paste these 5 lines to restore to stock:

adb shell mount -o remount,rw /system
adb shell cp /system/etc/asound.conf /system/etc/asound.conf.downmixed
adb shell cp /system/etc/asound.conf.original /system/etc/asound.conf
adb shell chmod 644 /system/etc/asound.conf
adb reboot

files:

http://ptechfiles.com/nook/asound.conf.downmixed

http://ptechfiles.com/nook/asound.conf.boostedvolume


You can also do this in the terminal or via adb.
I use both depending on what is going on since I seem to be batting 20% or so using gscript for some reason. It only works once in a while and I am at a loss. I will delve into it deeper later.
For me, for now, I don't use the headphone jack. The new downmixed stereo to mono plus the increased volume now allows me to hear Pandora or my MP3s in the shower without my battery powered speakers. One less battery consuming device and less wires!! YAY!

The jack will come into play when I move this into the car as a replacement for my UMPC carputer once reliable bluetooth arrives so I can hook up to my car's ECU which is the final missing piece of the puzzle.
Thanks to psybertech on Androidcentral.com

This tweak works great in UD 3.3, so this should work for all roms android 2.2 and up; very noticeable increase in sound volume. After getting netflix working, this was the last thing that needed fixing. Happy watching and music listening. :)
 

jinnijinn

Member
Jan 31, 2011
140
2
I don't have ADB. The instructions say ADB OR Root Explorer, and I have the latter. Are there instructions for a RE-only solution?
 

rico2001

Senior Member
Dec 8, 2010
1,599
266
You know what's even easier? Headphones ;)


Haha

JP

Sure you can just use headphones, if you are fine with settling and don't want to achieve what this tweak will do for you. :) Headphone volume will be increased as well.

I don't have ADB. The instructions say ADB OR Root Explorer, and I have the latter. Are there instructions for a RE-only solution?

For UD, CM and any other Gingerbread (android 2.3) rom, there is no asound.conf in /system/etc so the adb push of asound.conf files is simple and easy.

Trust me adb is easier and I suggest you go that route. Getting adb is esay.

...but here are the RE instructions :)

First off, fire up your favorite text editor and create a new asound.conf containing:
########################################

ctl.AndroidOut {
type hw
card 0
}

ctl.AndroidIn {
type hw
card 0
}

pcm.nook{
type hw
card 0
device 0
}

pcm.!default {
type route
slave.pcm nook
slave.channels 2
ttable.0.0 20
ttable.0.1 20
ttable.1.0 20
ttable.1.1 20
}

########################################
Now save it as C:\asound.conf (or whereever you want).
Make sure your text editor doesn't save it as asound.conf.txt. If it does you will need to remove the txt part before or after moving it to your Nook.

Next, backup your original asound.conf file (just in case)
########################################
adb shell
mount -o remount,rw /system
cp /system/etc/asound.conf /system/etc/asound.conf.original
mount -o remount,ro /system
exit

########################################

Now copy your new asound.conf file over to your Nook Color
########################################
adb mount -o remount,rw /system
adb push c:\asound.conf /system/etc/asound.conf
adb shell mount -o remount,ro /system
########################################

I would also suggest copying it over to your Nook as a second copy as this:
########################################
adb shell mount -o remount,rw /system
adb push c:\asound.conf /system/etc/asound.conf.downmixed
adb shell mount -o remount,ro /system
########################################
 

J515OP

Super Moderator
Staff member
Jan 6, 2011
5,172
899
I was just giving you a hard time Rico :) Head phones for sure if you need stereo though. Mostly I use the speaker myself and this is handy to know. The biggest problem isn't really the volume of the speaker it is the location. While the user can't hear it wel,l anybody on the opposite side sure can! Hopefully that will be fixed in NookColor 2 so you don't have to amplify the sound, just direct it where it needs to go.

JP
 

rico2001

Senior Member
Dec 8, 2010
1,599
266
^
I believe you are missing the point, in that most all small devices have speakers in the rear. This modification should have been standard for the Nook Color. The volume set and mono internal speaker were meant primarily for voice audio from books. As author of the tweak said, the speaker only put out a mono left channel not stereo and only the headphone produced stereo. This may not be a big deal to you but is to many others. He not only increased the volume but incorporated both left and right stereo to be played their our one internal speaker. With this tweak you will be able to hear anything clear as a bell 5 or so feet away and in a Nook Color case that is blocking the speaker.

Again, my point why wait for the NC2, which will have better volume (since it will be tab oriented), when there is a modification you can make now. This mod is a bit technical to pull off so some may want to wait for a CWM flashable zip to be released.
 

Goldberry

Member
Apr 29, 2011
12
0
Are there not apps out their that someone could get free or buy if they are not technically inclined to do this
 

J515OP

Super Moderator
Staff member
Jan 6, 2011
5,172
899
^
I believe you are missing the point, in that most all small devices have speakers in the rear. This modification should have been standard for the Nook Color. The volume set and mono internal speaker were meant primarily for voice audio from books. As author of the tweak said, the speaker only put out a mono left channel not stereo and only the headphone produced stereo. This may not be a big deal to you but is to many others. He not only increased the volume but incorporated both left and right stereo to be played their our one internal speaker. With this tweak you will be able to hear anything clear as a bell 5 or so feet away and in a Nook Color case that is blocking the speaker.

Again, my point why wait for the NC2, which will have better volume (since it will be tab oriented), when there is a modification you can make now. This mod is a bit technical to pull off so some may want to wait for a CWM flashable zip to be released.

I do get it and do appreciate the work that has been done to correct the issue. But I still think it was a mistake by B&N here only. I understand why they used the mono speaker and that any speaker is better than none. I love my nook and for the price can deal with some design compromises.

I do think it was short sighted to primarily focus on just enough sound for audio books though which it seems they did and yet they promote the music and video capabilities. The speaker really is fine is you listen to it from the backside which is the issue. I am glad that it can be overcome but really the speaker should have had some edge or front openings so the sound wasn't completely the worng direction is all.

Using a stock Nook with stock settings it is glaringly obvious that the sound blows. Not only is it hard to hear but when you turn it up it quickly becomes too loud since the stock volume only has like 8 positions and doesn't let you get just the right volume. By the time I can hear it from in front of the screen, the people across the coffee shop are casting looks in the direction of all the noise blaring out of the back.

I wouldn't trade it for anything else even at twice the price though :D

JP
 

mel_nook

Member
Nov 8, 2011
1
0
I'm running CM7 on my nook from the microsd card. I'm not really a geek, just newbie. Can i do this to my CM7 to fix the mono sound ?
 

J515OP

Super Moderator
Staff member
Jan 6, 2011
5,172
899
The Nook only has one speaker so it will always be mono. This fix just mixes both L and R so you don't get only the default one as well as increasing the sound out put. So you hear both L and R instead of only one or the other but they are still mixed into a single source and come from a single speaker.

Most of the time you won't notice one of the channels is missing since most media doesn't have that much channel separation but on occassion you'll get something that sounds funny because they are explointing the use of a L and R channel for a specific effect.
 
Top