Skip to content

Statically linked, linux, audio swiss army knife

Notifications You must be signed in to change notification settings

sideb0ard/audio-tool

 
 

Repository files navigation

OMAP audio-tool
---------------

The audio-tool is a swiss-army knife for testing and using audio on
OMAP.  It includes the ability to play and record simple wave files,
play test tones and impulses, and manipulate the ALSA mixer.

There also includes a "legacy mode" for backwards-compatibility with
the tinyalsa utils.

MANIFEST
--------

As stated before, the goal is to have ONE binary, 'audio-tool'.  But
for now we have:

TARGET BINARIES:

    audio-tool - The main audio-tool tool.

HOST BINARIES:

    generate-wave-tables - Generates C-source output with look-up tables
        for various waveforms.

BUILDING
--------

The Makefile builds statically linked binaries for the target
platform.  The binaries for the host platform are usually dynamically
linked.

To build for the host PC, do this:

   $ make

To build for the target device, do this:

   $ export CROSS_COMPILE=/path/to/arm-none-linux-gnueabi-
   $ make ARCH=arm

...and push the binaries to the device.

LEGACY MODE
-----------

The audio-tool may be used as a drop-in replacement for the tinyalsa
utils by creating symlinks to audio-tool.  In this mode, it accepts
the exact same command-line syntax as those tools.  To use this mode,
then you need to do this on your target device.

    # which audio-tool
    /usr/bin/audio-tool
    # ln -s audio-tool /usr/bin/tinyplay
    # ln -s audio-tool /usr/bin/tinycap
    # ln -s audio-tool /usr/bin/tinymix

You can then use those tools as you always have (with some of the
enhanced parameters that the audio team has been using interally, such
as the '-t duration' parameter.

LICENSING
---------

BSD (3-clause)

IDEAS AND FUTURE DIRECTIONS
---------------------------

* On unit tests, android's test tool looks for the last output
  line instead of the OS return code for pass/fail.  Make sure
  that we're compatible with that.

* Add support for using the mmap() API in the tests and/or
  play/cap.

* Support UCM

* Test multi-port configurations (e.g. play a system tone during
  mm playback.  Capture/playback at the same time over misc. ports.

About

Statically linked, linux, audio swiss army knife

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.6%
  • Makefile 1.5%
  • C++ 0.9%