====== AC100 sound mixer ======
These netbooks use ALC5632 audio codec plus mixer IC which has quite some amount of knobs and switches. Most of them are available for direct manipulation with ''alsamixer'', ''GNOME Volume Control'' and other applications that interact with ALSA mixers.
===== Analog Audio Mixer Path =====
Fear not, here's the diagram from the datasheet that allows one to make sense out of all those confusing opportunities:
{{:alc5632_mixer_path.png|}}
Understanding it doesn't require any special knowledge, here's a short legend:
* ''DAC'' is [[http://en.wikipedia.org/wiki/Digital-to-analog_converter|Digital to Analog Converter]], ''DACs'' module gets digital stereo signal via ''I2S'' bus from the CPU (''VoiceDAC'' module is left unconnected an ac100)
* ''ADC'' does the reverse and can be used to convert sound from inputs to digital form which is then sent over ''I2S'' to the CPU
* DMIC is a digital microphone, connected to special pins of the integrated webcam
* A triangle on the diagram means a sound amplifier
* A square marked ''Vol'' is an [[http://en.wikipedia.org/wiki/Attenuator_(electronics)|attenuator]] that a user can tweak to reduce the volume of the signal
* A square with ''M'' is a mute switch
* A circle with sigma is a module that mixes all the inputs together
* A trapezoid is a mux, a module that allows the user to select only one of the inputs to be connected to the output
===== Common usage scenarious =====
Here ALSA control names are used, if you're using alsamixer or other similar software you will not see "Playback" or "Mux" in the control names, that is normal.
==== Stereo playback on integrated speakers ====
Should be enabled:
* ''DACL2HP Playback Switch''
* ''DACR2HP Playback Switch''
* ''Int Spk''
* ''Speaker Playback Switch'' (i.e. unmute ''Speaker'')
Should be set:
* ''SpeakerOut Mux'' to ''HPOut Mix''
* ''SpeakerOut N Mux'' to ''RP/+R''
Master and speaker playbacks should be unmuted and set to the desired level.
Proper mono sound via MONO mixer or Speaker mixer is impossible to produce on unmodified hardware, see [[hw_problems#reversed_polarity_of_one_of_the_integrated_speakers]] for details. Luckily most usage scenarios do not require that anyway. You can swap polarity of connection of one of the speakers but then ''RN/-R'' would need to be used for the stereo output.
==== Stereo playback on headphones ====
Same as stereo playback on integrated speakers but with
Enabled:
* ''Headphone Playback Switch'' (i.e. unmute ''Headphone'')
Set:
* ''Left Headphone Mux'' to ''HP Left Mix''
* ''Right Headphone Mux'' to ''HP Right Mix''
To mute the internal speakers you can disable ''Int Spk'' or mute ''Speaker''.
==== Recording sound from integrated DMIC ====
This can be used to record sound from the digital microphone integrated in the webcam module, useful for e.g. VoIP
Selected for capture:
* ''DMIC En Capture Switch''
* ''DMIC PreFilter Capture Switch''
* ''DMICL Mix DMICL2ADC Capture Switch''
Set:
* ''I2SOut Mux'' to ''ADC LR''
Tweak ''DMIC Boost Volume'' and ''Rec Capture Volume'' to your needs.
==== Recording from external microphone ====
Selected for capture:
* ''Left Capture Mix MIC12REC_L Capture Switch''
Tweak ''Mic 1 Boost Volume'', ''Mic1 Capture Volume'' and ''Rec Capture Volume'' to your needs.
==== Save and Restore different sound settings ====
Don't frighten you do not need to memorize all the above settings.
If you select the settings in alsamixer according to your needs type on the command line:
# alsactl store -f
# alsactl store -f headphones.state
Now, if you want to switch over to your headphone settings next time simply type
alsactl restore -f headphones.state
Hence, you can save settings for internal speakers, headphones, mute all, etc.
If you do not want to type all the above to restore just create a little shell script (name it e.g. setsound.sh) to do that for you.
#!/bin/sh
# Set alsa sound to a predefined state
# save state via
# alsactl store -f .state
# call this this by
# ./setsound headphones
alsactl restore -f {$1}.state
make the file executable
# chmod +x ./setsound.sh
now you can set sound settings by simply typing
# ./setsound.sh headphone