<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [

<!-- Process this file with docbook-to-man to generate an nroff manual
     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
     less'.  A typical entry in a Makefile or Makefile.am is:

manpage.1: manpage.sgml
	docbook-to-man $< > $@
    
	The docbook-to-man binary is found in the docbook-to-man package.
	Please remember that if you create the nroff version in one of the
	debian/rules file targets (such as build), you will need to include
	docbook-to-man in your Build-Depends control field.
-->

<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>Philippe</firstname>">
<!ENTITY dhsurname   "<surname>Coval</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate      "<date>May 29, 2010</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1). -->
<!ENTITY dhsection   "<manvolnum>1</manvolnum>">
<!ENTITY dhemail     "<email>rzr@gna.org</email>">
<!ENTITY dhusername  "Philippe Coval">
<!ENTITY dhucpackage "<refentrytitle>JAAA</refentrytitle>">
<!ENTITY dhpackage   "jaaa">

<!ENTITY debian      "<productname>Debian</productname>">
<!ENTITY gnu         "<acronym>GNU</acronym>">
<!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>


<refentry>
<refentryinfo>
<address>
&dhemail;
</address>
<author>
&dhfirstname; &dhsurname;
</author>
<copyright>
<year>2003</year>
<holder>&dhusername;</holder>
</copyright>
&dhdate;
</refentryinfo>
<refmeta>
&dhucpackage; &dhsection;
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>

<refpurpose>
JACK and ALSA Audio Analyser
</refpurpose>
</refnamediv>


<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>

<arg><option>-h</option></arg>

<arg><option>-C <replaceable>nchan</replaceable></option></arg>

<arg><option>-J</option></arg>

<arg>
<option>-A</option>
 <arg><option>-d</option><replaceable>device</replaceable></arg>
 <arg><option>-r</option><replaceable>rate</replaceable></arg>
 <arg><option>-p</option><replaceable>period</replaceable></arg>
 <arg><option>-n</option><replaceable>nfraqs</replaceable></arg>
</arg>

</cmdsynopsis>
</refsynopsisdiv>


<refsect1>
<title>DESCRIPTION</title>

<para>
<command>&dhpackage;</command> 
 is an audio signal generator and spectrum analyser
 designed to make accurate measurements.
</para>
</refsect1>


<refsect1>
<title>OPTIONS</title>

<variablelist>

<varlistentry>
<term><option>-h</option></term>

<listitem>
<para>Show summary of options.</para>
</listitem>

</varlistentry>

<varlistentry>
<term><option>-C</option></term>
<listitem>
<para>Number of channels (1..8) [4</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-J</option></term>
<listitem>
<para>Use JACK</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-A</option></term>
<listitem>
<para>Use ALSA (with following options)</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-d</option> <replaceable>device</replaceable></term>
<listitem>
<para>Alsa device [hw:0.0]</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-r</option> <replaceable>rate</replaceable></term>
<listitem>
<para>Sample frequency [48000]</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-p</option> <replaceable>period</replaceable></term>
<listitem>
<para>Period size [1024]</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-n</option> <replaceable>nfrag</replaceable></term>
<listitem>
<para>Number of fragments [2]</para>
</listitem>
</varlistentry>

</variablelist>

<para>Either -J or -A must be given.</para>

</refsect1>


<refsect1>
<title>INTERACTIVE CONTROL</title>

<refsect2>
<title>Input :</title>
<para>Select on of the four inputs.</para>
</refsect2>

<refsect2>
<title>Frequency and Amplitude :</title>
<para>
These two sets of buttons set the display view.
One of these six buttons, or 'Bandw', 'Peak', or 'Noise' discussed below, has an orange LED at its left side.
The LED indicates the 'currenty selected parameter' that usually can be modified in three ways :
<itemizedlist>
<listitem>
<para>
by typing a new value into the text widget, followed by ENTER
</para>
</listitem>
<listitem><para>
by using the '<' or '>' buttons to decrement or increment,
</para></listitem>

<listitem><para>by mouse gestures</para></listitem>
</itemizedlist>
</para>

<refsect3>

<title>Frequency :</title>

<para>
Buttons 'Min' and 'Max' set the min and max displayed frequencies.
If either of these is selected then 
<itemizedlist>
<listitem><para>a horizontal Drag Left changes 'Min'</para></listitem>
<listitem><para>a horizontal Drag Right changes 'Max'</para></listitem>
</itemizedlist>
</para>

<para>  
Button 'Cent' is the frequency at the middle of the x-axis.
Button 'Span' is 'Max' - 'Min', changing this value preserves 'Cent'. 
If either of these is selected then

<itemizedlist>
<listitem><para>
a horizontal Drag Left changes 'Cent'
</para></listitem>

<listitem><para> a horizontal Drag Right changes 'Span'
</para></listitem>
</itemizedlist>
</para>

<para>
Button 'Cent' can also be set by Clicking in the frequency axis scale.
</para>

</refsect3>

<refsect3>
<title>Amplitude :</title>

<para>
Button 'Max' is the maximum value on the y-axis.
Button 'Range' is the range of the y-axis.
If either of these is selected then

<itemizedlist>
<listitem><para>a vertical Drag Left changes 'Max'</para></listitem>

<listitem><para>a vertical Drag Right changes 'Range'</para></listitem>
</itemizedlist>

</para>

<para>
So for the last four mouse gestures, a Drag Left will scroll the display, while a Drag Right will zoom in or out.
Maybe I will add and automatic selection of the axis based on the direction of the mouse gesture.
</para>

</refsect3>
</refsect2>

<refsect2>
<title>Analyser :</title>

<para>
The analyser is based on a windowed FFT.
Actually the windowing is performed by convolution after the FFT, and combined with interpolation.
The windowing and interpolation ensure that displayed peaks will be accurate to 0.25 dB even if the peak falls between the FFT bins.
More accurate measurements can be made using the markers (see below).
</para>

<para>
Button 'Bandw' sets the FFT length, and hence the bandwidth of the analyser.

Depending on this value, the size of the display and the frequency range, you may sometimes see two traces.

This happens when the resolution of the analyser is better than the display, so that one pixel contains more than one analyser value.

In that case, the blue trace is the peak value over the frequency range represented by each pixel, and the gray one is the average value.

The first one is correct for discrete frequencies, and the latter should be used to read noise densities.

There is no mouse gesture to change the bandwidth.
</para>

<para>
Button 'VidAv' or video average, when switched on, averages the measured energy over time.
This is mainly used to measure noise.
The averaging length increases over time, to a maxumum of 1000 iterations.
Changing the input or bandwidth resets and restarts the averaging.
</para>

<para>
Button 'Freeze' freezes the analyser, but not the display, so you can still scroll and zoom or use the markers discussed below.
</para>
</refsect2>


<refsect2>
<title>Markers :</title>

<para>

Markers are used in order to accurately read off values in the display.
There can be up to two markers, set by clicking at the desired frequency inside the display.
When there are two markers, the second one will move with each click, while the first remains fixed.
Measured values for the two markers, and their difference in frequency and level are displayed in the upper left corner of the display.
</para>

<para>

Button 'Clear' clears the markers.

</para>
<para>
When 'Peak' is selected, clicking inside the display will set a marker at the nearest peak.

The exact frequency and level of the peak are found by interpolation, so the frequency can be much more accurate than the FFT step, and the level corresponds to the true peak value regardless of display or analyser resolution.
</para>
<para>
When 'Noise' is selected, clicking inside the display will set a noise marker.

The noise density (energy per Hz) is calculated and displayed.

</para>
</refsect2>

</refsect1>


<refsect1>
<title>SEE ALSO</title>
<para>jackd (1)</para>
</refsect1>


<refsect1>
<title>WWW</title>
<para>http://www.kokkinizita.net/linuxaudio/</para>
</refsect1>


<refsect1>
<title>AUTHOR</title>
<para>
This manual page was written by &dhusername; &dhemail; for the &debian; system (but may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the &gnu; General Public License, Version 2 any later version published by the Free Software Foundation.
</para>
<para>
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
</para>
</refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

