mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-11-10 10:11:29 +01:00
[i2s_audio] Add more options to speakers and microphones (#4166)
This commit is contained in:
parent
20cf2ac200
commit
42ca53f43a
@ -40,13 +40,14 @@ Configuration variables:
|
||||
- ``external``: Use an external ADC connected to the I²S bus.
|
||||
- ``internal``: Use the internal ADC of the ESP32. Only supported on ESP32, no variant support.
|
||||
|
||||
- **channel** (*Optional*, enum): The channel of the microphone. One of ``left`` or ``right``. Defaults to ``right``.
|
||||
- **channel** (*Optional*, enum): The channel of the microphone. One of ``left``, ``right``, or ``stereo``. If ``stereo``, the output data will
|
||||
be twice as big, with each right sample followed by a left sample. Defaults to ``right``.
|
||||
- **sample_rate** (*Optional*, positive integer): I2S sample rate. Defaults to ``16000``.
|
||||
- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. Note that while set to ``32bit``, the samples
|
||||
will be scaled down to 16bit before being forwarded.
|
||||
One of ``16bit`` or ``32bit``. Defaults to ``32bit``.
|
||||
- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. Note that while set to ``24bit`` or ``32bit``, the samples
|
||||
will be scaled down to 16bit before being forwarded. One of ``8bit``, ``16bit``, ``24bit``, or ``32bit``. Defaults to ``32bit``.
|
||||
- **bits_per_channel** (*Optional*, enum): The bit depth of the audio channels. See the datasheet of your I2S device for details. Defaults to ``bits_per_sample``.
|
||||
- **use_apll** (*Optional*, boolean): I2S using APLL as main I2S clock, enable it to get accurate clock. Defaults to ``false``.
|
||||
- **i2s_mode** (*Optional*, enum): The I²S mode to use. One of ``primary`` or ``secondary``. Defaults to ``primary``.
|
||||
- **i2s_mode** (*Optional*, enum): The I²S mode to use. One of ``primary`` (clock driven by the host) or ``secondary`` (clock driven by the attached device). Defaults to ``primary``.
|
||||
- **i2s_audio_id** (*Optional*, :ref:`config-id`): The ID of the :ref:`I²S Audio <i2s_audio>` you wish to use for this microphone.
|
||||
- All other options from :ref:`Microphone <config-microphone>`
|
||||
|
||||
@ -54,7 +55,7 @@ External ADC
|
||||
------------
|
||||
|
||||
- **i2s_din_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I²S ``DIN/SDIN`` *(Data In)* signal, also referred to as ``SD/SDATA`` *(Serial Data)* or ``ADCDAT`` *(Analog to Digital Converter Data)*.
|
||||
- **pdm** (**Required**, boolean): Set this to ``true`` if your external ADC uses PDM (Pulse Density Modulation) instead of I²S.
|
||||
- **pdm** (*Optional*, boolean): Set this to ``true`` if your external ADC uses PDM (Pulse Density Modulation) instead of I²S. Defaults to ``false``.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -24,7 +24,6 @@ This platform only works on ESP32 based chips.
|
||||
- platform: i2s_audio
|
||||
dac_type: external
|
||||
i2s_dout_pin: GPIOXX
|
||||
mode: mono
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
@ -34,12 +33,21 @@ Configuration variables:
|
||||
- ``external``: Use an external DAC, for example the NS4168, or UDA1334A.
|
||||
- ``internal``: Use the internal DAC
|
||||
|
||||
- **channel** (*Optional*, enum): The channel of the speaker. One of ``left``, ``right``, ``mono``, or ``stereo``. If ``stereo``, the input data should be twice as big,
|
||||
with each right sample followed by a left sample. ``left`` and ``right`` mute the unused channel, while ``mono`` plays the same samples on both. Defaults to ``mono``.
|
||||
- **sample_rate** (*Optional*, positive integer): I2S sample rate. Defaults to ``16000``.
|
||||
- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. Note that while set to ``24bit`` or ``32bit``, the samples
|
||||
will be scaled up from 16bit before being forwarded. One of ``8bit``, ``16bit``, ``24bit``, or ``32bit``. Defaults to ``16bit``.
|
||||
- **bits_per_channel** (*Optional*, enum): The bit depth of the audio channels. See the datasheet of your I2S device for details. Defaults to ``bits_per_sample``.
|
||||
- **use_apll** (*Optional*, boolean): I2S using APLL as main I2S clock, enable it to get accurate clock. Defaults to ``false``.
|
||||
- **i2s_mode** (*Optional*, enum): The I²S mode to use. One of ``primary`` (clock driven by the host) or ``secondary`` (clock driven by the attached device). Defaults to ``primary``.
|
||||
- **i2s_audio_id** (*Optional*, :ref:`config-id`): The ID of the :ref:`I²S Audio <i2s_audio>` you wish to use for this speaker.
|
||||
- **timeout** (*Optional*, :ref:`config-time`): How long to wait after finishing playback before releasing the bus. Defaults to ``100ms``.
|
||||
|
||||
External DAC
|
||||
************
|
||||
|
||||
- **i2s_dout_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I²S DOUT (Data Out) signal.
|
||||
- **mode** (*Optional*, string): The mode of the I²S bus. Can be ``mono`` or ``stereo``. Defaults to ``mono``.
|
||||
- **i2s_audio_id** (*Optional*, :ref:`config-id`): The ID of the :ref:`I²S Audio <i2s_audio>` you wish to use for this speaker.
|
||||
|
||||
For best results, keep the wires as short as possible.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user