User Tools

Site Tools


doc:appunti:linux:audio:audio_recording_tmb113_e

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:audio:audio_recording_tmb113_e [2020/12/28 08:43] – [Setting recording volume with PulseAudio] niccolodoc:appunti:linux:audio:audio_recording_tmb113_e [2020/12/28 17:09] (current) – [Recording with PulseAudio parecord] niccolo
Line 1: Line 1:
-====== Audio recording with the Acer Travelmate TMB113-E ======+====== Audio recording with the Acer TravelMate TMB113-E ======
  
-How to record audio using a **wireless microphone** connected to the audio jack of an **Acer Travelmate TMB113-E**, running  **Debian GNU/Linux 10 Buster**. The microphone is a **[[wp>Lavalier_microphone|lavalier]]** one, with an **UHF** (630 MHz) belt transmitter and a receiver monted on a **1/4" TS jack**.+{{acer-travelmate-wireless-microphone.jpg?480 |Wireless Microphone on the Acer TravelMate}} 
 +How to record audio using a **wireless microphone** connected to the audio jack of an **Acer TravelMate TMB113-E**, running  **Debian GNU/Linux 10 Buster**. 
 + 
 +The microphone is a **[[wp>Lavalier_microphone|lavalier]]** one, with an **UHF** (630 MHz) belt transmitter and a receiver mounted on a **1/4" TS jack**. I am mainly interested in recording using **command line tools**. 
 + 
 +===== Electrical connection ===== 
 + 
 +I used an headset/microphone **split cable** to connect to the **3.5 mm CTIA audio jack** of the Acer TravelMante and a **self-made cable** to adapt the **TRS 3.5 mm** mic jack to the **1/4" TS jack**. The overall pinout is as follow: 
 + 
 +^ 1/4" TS female jack  ^ Signal         ^ 3.5 mm TRRS male jack (CTIA) 
 +|                      | Not connected  | **Tip**                       | 
 +|                      | Not connected  | **Ring**                      | 
 +| **Sleeve**           | Ground         | **Ring**                      | 
 +| **Tip**              | Microphone     | **Sleeve**                    |
  
 ===== Problem detecting the external microphone ===== ===== Problem detecting the external microphone =====
Line 73: Line 86:
 ===== Setting the recording volume with PulseAudio ===== ===== Setting the recording volume with PulseAudio =====
  
-I used the PulseAudio mixer **pavucontrol** to set the recording volume level: it turned out that a value of **16463** (corresponding to 25% of the slider, or -36.00 dB) is the best setting for normal speach. At the ALSA level (lower level interface used by PylseAudio) it means a **Capture** level of **100** and a **Mic Boost** of **0**. This is a table of value correspondence between PulseAudio and ALSA (notice that it is specific to this PCI sound card):+I used the PulseAudio mixer **pavucontrol** to set the recording volume level: it turned out that a value of **16463** (corresponding to 25% of the slider, or -36.00 dB) is the best setting for normal speach. At the ALSA level (lower level interface used by PulseAudio) it means a **Capture** level of **100** and a **Mic Boost** of **0**. This is a table of value correspondence between PulseAudio and ALSA (notice that it is specific to this PCI sound card):
  
 ^ ALSA                      ^ PulseAudio                        ^ ^ ALSA                      ^ PulseAudio                        ^
Line 79: Line 92:
 | Capture 100, Mic Boost 20 | Volume: 26092 /  40% / -24.00 dB  | | Capture 100, Mic Boost 20 | Volume: 26092 /  40% / -24.00 dB  |
 | Capture 100, Mic Boost 51 | Volume: 41353 /  63% / -12.00 dB  | | Capture 100, Mic Boost 51 | Volume: 41353 /  63% / -12.00 dB  |
 +
 +You can check the correspondence between **PulseAudio** and **ALSA** levels by executing **alsamixer**, **pavucontrol** and **pacmd list-sources** commands. The settings you make in PulseAudio will be reflected in ALSA, and vice-versa.
 +
 +===== Recording with PulseAudio parecord =====
 +
 +I want to use the **PulseAudio** subsystem to record the audio; I don't want to use the ALSA kernel-level interface, which needs direct and exclusive access to the device.
 +
 +Using the command **pacmd list-sources** you can discover the **name** of the **device.class** of type **sound**, the current **volume** level, the **base volume** and the **ports** (microphones) availables.
 +
 +
 +The recording volume should be a vaule between the **base volume** and **65536** (corresponding to 100%, or 0.00 dB). Every different hardware should be tested to find the best settings to get a clear and loud sound, but to avoid clipping (out of scale samples).
 +
 +<code>
 +pacmd list-sources
 +2 source(s) available.
 +    index: 0
 +        name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
 +        ...
 +        properties:
 +                device.description = "Monitor of Built-in Audio Analog Stereo"
 +                device.class = "monitor"
 +                ...
 +  * index: 1
 +        name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
 +        volume: front-left: 26092 /  40% / -24.00 dB,   front-right: 26092 /  40% / -24.00 dB
 +        base volume: 5206 /   8% / -66.00 dB
 +        ...
 +        properties:
 +                device.class = "sound"
 +                ...
 +        ports:
 +                analog-input-internal-mic: Internal Microphone (priority 8900, available: no)
 +                ...
 +                analog-input-mic: Microphone (priority 8700, available: yes)
 +        active port: <analog-input-mic>
 +</code>
 +
 +**Beware** that with the audio card of the TMB113-E, the port **analog-input-mic** refers to the external microphone when that one is connected (or forcibly connected by hdajackretask), but the same name refers to the internal microphone when the audio jack is disconnected. In fact the **analog-input-internal-mic** only exists if there are two microphone ports.
 +
 +Once you understand the output of **pacmd list-sources**, it is very simple to activate the recording using a command line script:
 +
 +<code bash>
 +#!/bin/sh
 +SOURCE='alsa_input.pci-0000_00_1b.0.analog-stereo'
 +PORT='analog-input-mic'
 +VOLUME=16463
 +pacmd set-default-source "$SOURCE"
 +pacmd set-source-port "$SOURCE" "$PORT"
 +pacmd set-source-volume "$SOURCE" "$VOLUME"
 +pacmd set-source-mute "$SOURCE" 0
 +parecord --verbose --device="$SOURCE" --channels=1 --fix-rate foobar.wav
 +</code>
 +
 +The result is a **44100 Hz, 16 bit little-endian, mono** audio file, quite satisfactory for quality and low background noise.
  
 ===== Microphone plug/unplug events ===== ===== Microphone plug/unplug events =====
doc/appunti/linux/audio/audio_recording_tmb113_e.1609141417.txt.gz · Last modified: 2020/12/28 08:43 by niccolo