blob: f339e20cbafd0a675c439090697b5cf4e81f8df8 [file] [log] [blame]
.. _audio_app-sample:
Intel® S1000 2-Way Audio Sample Application
###########################################
Overview
********
This sample application demonstrates audio capture and playback on an
Intel® S1000 CRB.
The application uses the following drivers
- DMIC driver (For microphone audio capture)
- I2S driver (For audio input from host,
audio output to host and audio output to codec)
- Codec driver
Intel® S1000 is the master on the I2S interfaces.
The host is a slave on I2S and is expected to send and receive audio at a
sampling frequency of 48KHz, 32 bits per sample.
This sample application captures 8 channels of audio one from each of the
8 microphones.
The first 2 channels are buffered and forwarded to the host.
Simultaneously, 2 channels of audio from the host are buffered and forwarded
to the codec.
This bidirectional forwarding of audio demonstrates a 2-way audio stream
between S1000's microphones/audio line-out and the host.
After the app starts, one may use the ALSA aplay/arecord commands on
a Linux host connected to S1000 over the I2S bus to play and record the audio.
``aplay -f S32_LE -r 48000 -c 2 -D <Device> <WAV file to Play>``
``arecord -f S32_LE -r 48000 -c 2 -D <Device> <WAV file to Record>``
Requirements
************
This application uses an Intel® S1000 Customer Reference Board (CRB)
with a circular 8 microphone array board.
The Microphone array board contains a TI TLV320DAC3101 DAC for line-level
Audio output.
Cable Rework
============
A rework of the host to CRB cable is required for playing audio from host.
Pin 12 needs to be wired to Pin 29 on the 40-pin connector of the cable.
.. image:: ../i2s/cable_rework.png
:width: 442px
:alt: Cable rework to play audio from host
Building and Running
********************
.. zephyr-app-commands::
:zephyr-app: samples/boards/intel_s1000_crb/audio
:board:
:goals: build
:compact:
Sample Output
=============
Console output
--------------
.. code-block:: console
[00:00:00.342,117] <inf> audio_io: Starting Audio Driver thread (0xbe0142c4)
[00:00:00.342,117] <inf> audio_io: Configuring Host Audio Streams ...
[00:00:00.342,123] <inf> audio_io: Configuring Peripheral Audio Streams ...
[00:00:00.343,631] <inf> audio_io: Initializing Audio Core Engine ...
[00:00:00.343,632] <inf> audio_io: Starting Audio I/O...