same level for playback and capture in alsamixer

Discussion in 'General Discussion' started by dan, May 28, 2014.

  1. dan

    dan New Member

    Joined:
    May 28, 2014
    Messages:
    2
    Likes Received:
    0
    Good evening.
    I'm using a UDOO 2 core for a specific mic/speaker application.
    In alsamixer if I set the volumes for playback the same happen for the capture.
    In this way I can hear the microphone directly from the speaker but I need to avoid this, but if I lower the volume, the microphone becomes mute even on the application.
    On other machines we have, usually we set a different mic audio level for playback and capture. How we can obtain the same on the UDOO?
    Thank you.
     
  2. darwingrosse

    darwingrosse New Member

    Joined:
    Feb 26, 2014
    Messages:
    1
    Likes Received:
    0
    Bump on this - I cannot capture with the microphone without it also being directly output the speaker.

    Any ideas?
     
  3. dan

    dan New Member

    Joined:
    May 28, 2014
    Messages:
    2
    Likes Received:
    0
    Anyone has a fix for this? Thankyou
     
  4. fetcher

    fetcher Member

    Joined:
    Mar 9, 2014
    Messages:
    166
    Likes Received:
    20
    I think there's an error in how the UDOO's kernel sound driver labels its mixer variables-- they don't match up with actual audio paths within the vt1613 codec chip. That "MIC Recording" setting should not actually affect recording at all, and the fact that this control shows up in both the Capture and Playback settings (appearing twice on 'alsamixer -V all') is the result of another bug in the AC97 driver.

    Have you tried making a recording with that slider turned all the way down? There may still be some faint bleed-through into the output, since the driver unfortunately doesn't expose the "MUTE" control that would completely isolate an input from the line-out mixer, but it may be low enough to avoid echo or feedback.

    Take a look at the data sheet for the VIA VT1613 chip-- google for "vt1613_r100" to find it. On page 8 of the PDF, there's a block diagram showing audio signal paths, and which mixer controls affect each, labeled by AC97 register ID in hex (these are defined starting on page 15).

    Notice that the signal path from the microphone input (MIC1/MIC2, upper-right) to the ADC does not pass through any microphone-specfic volume control, only through a toggleable 0dB/+20dB boost, then an input-selector analog mux (1A), then a master recording-gain control (1C) that applies to all inputs. None of these adjustments are exposed by the UDOO's audio driver, and what's labeled "MIC Recording" is really register 0E, on the monitoring/feed-through path between MIC-in and Line-Out. Recording-gain is fixed, and so is the off-by-default boost. If ou want to change it, you'd have to edit the kernel source (linux/sound/soc/codecs/vt1613.c) and recompile!

    The AC97 spec defines a separate "microphone recording gain" (register 1E, if I remember right), but the VT1613 chip on the UDOO doesn't implement this. It has only the single recording level control, fixed at kernel compile time. I'm going to try and improve this driver if I can, since I've added line-inputs to my board and would like to be able to switch between them without rebooting.

    Anyway, don' t believe those misleading labels in alsamixer. See how things go after turning down the MIC control all the way.
     
  5. Mark Chien

    Mark Chien New Member

    Joined:
    May 26, 2015
    Messages:
    3
    Likes Received:
    0
    Hi,

    I am using UDOO quad. On the contrary to Mr. dan, I have to hear the microphone directly from the speaker. I use the latest Udoobuntu with Unico kernel. I cannot hear the sound from microphone even I increased the volume of "Mic Recording". Even I added Mute control in vt1613.c to turn on/off bit 15 of 0Eh, I still cannot hear the sound from microphone. Would please teach me how to do?

    Thanks in advance.
     

Share This Page