summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/uaudio.4 4.html
blob: 0b32d1c40f51c8ce33a22184c14c0345478b3f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<table class="head">
  <tr>
    <td class="head-ltitle">UAUDIO(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">UAUDIO(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">uaudio</code> &#x2014; <span class="Nd">USB audio
    device driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">uaudio* at uhub?</code>
  <br/>
  <code class="Cd">audio* at audiobus?</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">uaudio</code> driver provides support for USB
    audio class devices.</p>
<p class="Pp">A USB audio device consists of a number of components: input
    terminals (e.g. USB digital input), output terminals (e.g. speakers), and a
    number of units in between (e.g. volume control). The following types of
    units are handled by the <code class="Nm">uaudio</code> driver and are
    accessible via the mixer (see <a class="Xr">audio(4)</a>) interface:</p>
<dl class="Bl-tag">
  <dt id="mixer"><a class="permalink" href="#mixer"><i class="Em">mixer</i></a></dt>
  <dd>A mixer has a number of inputs and one output. Each input has a control
      that determines its volume in the output. The name of the control is
      <code class="Li">mix</code><var class="Ar">N</var><code class="Li">-</code><var class="Ar">S</var>,
      where <var class="Ar">N</var> is a number that identifies which mixer it
      is and <var class="Ar">S</var> which input.</dd>
  <dt id="selector"><a class="permalink" href="#selector"><i class="Em">selector</i></a></dt>
  <dd>A selector unit selects one of multiple audio sources such as mic-in and
      line-in. The name of the control is
      <code class="Li">sel</code><var class="Ar">N</var><code class="Li">-</code><var class="Ar">S1S2S3...</var>,
      where <var class="Ar">N</var> is a number that identifies which selector
      unit it is and the sequence of <var class="Ar">Sn</var> indicates
      candidate units for the audio source.</dd>
  <dt id="feature"><a class="permalink" href="#feature"><i class="Em">feature</i></a></dt>
  <dd>A feature unit changes the sound in some way, like bass, treble, mute, or
      volume. The name of the control is determined in a heuristic way. If the
      unit changes the sound to a speaker output terminal, the names of the
      controls may be <code class="Li">outputs.speaker.bass</code>,
      <code class="Li">outputs.speaker.treble</code>,
      <code class="Li">outputs.speaker.mute</code>,
      <code class="Li">outputs.speaker</code>, or likewise.</dd>
  <dt id="processing"><a class="permalink" href="#processing"><i class="Em">processing</i></a></dt>
  <dd>A processing unit does one of a number of audio processing functions
      (e.g., channel up-down mixing, Dolby ProLogic, or chorus effects). The
      name of the on&#x2013;off control is
      <code class="Li">pro</code><var class="Ar">N</var><code class="Li">.</code><var class="Ar">M</var><code class="Li">-enable</code>,
      where <var class="Ar">N</var> is a number that identifies which processing
      unit it is and <var class="Ar">M</var> which kind. Depending on the type
      of processing unit there may be other controls as well.</dd>
  <dt id="extension"><a class="permalink" href="#extension"><i class="Em">extension</i></a></dt>
  <dd>An extension unit performs some unspecified audio processing The name of
      the on&#x2013;off control is
      <code class="Li">ext</code><var class="Ar">N</var><code class="Li">-enable</code>,
      where <var class="Ar">N</var> is a number that identifies which processing
      unit it is.</dd>
</dl>
<p class="Pp">For more information the USB Audio class specification is
    indispensable reading.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">audio(4)</a>, <a class="Xr">usb(4)</a></p>
<p class="Pp"><cite class="Rs"><span class="RsT">USB Approved Class
    Specification Documents</span>,
    <a class="RsU" href="http://www.usb.org/developers/docs/devclass_docs/">http://www.usb.org/developers/docs/devclass_docs/</a>.</cite></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">uaudio</code> driver appeared in
    <span class="Ux">NetBSD 1.5</span>. Support for USB Audio Class 2.0 devices
    appeared in <span class="Ux">NetBSD 11.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">There is no support for multiple-endpoints audio stream, adaptive
    recording, async playback, and TYPE-II/III formats.</p>
<p class="Pp">There is the possibility that a device has multiple mixer items
    which have the same name.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">May 21, 2024</td>
    <td class="foot-os">NetBSD 10.1</td>
  </tr>
</table>