Microphone Components

The microphone domain contains common functionality shared across the microphone platforms.

Base Microphone Configuration

Configuration variables:

  • on_data (Optional, Automation): An automation to perform when new data is received.

Microphone Source Configuration

A microphone source configuration is used by components to ensure that it receives audio in the required format.

Configuration variables:

  • microphone (Required, ID): The microphone to use for input.

  • bits_per_sample (Optional, int): The bits per sample to use as input to the component. May be restricted by the component to a specific value.

  • channels (Optional, list): A list of 0-indexed channel numbers enabling them to use as input to the component. The total amount may be restricted by the component. Defaults to 0, the first channel read by the microphone.

  • gain_factor (Optional, int): The gain factor to apply to audio read from the microphone. Ranges from 1 to 64. Defaults to 1, no gain.

Microphone Actions

All microphone actions can be used without specifying an id if you have only one microphone in your configuration YAML.

Configuration variables:

id (Optional, ID): The microphone to control. Defaults to the only one in YAML.

microphone.capture Action

This action will start capturing audio data from the microphone. The data will be passed to any components listening and will be available in the on_data trigger.

microphone.stop_capture Action

This action will stop capturing audio data from the microphone.

microphone.mute Action

This action will apply a software mute to the audio data from the microphone before passing it to any listening components.

microphone.unmute Action

This action will disable applying a software mute initiated with microphone.mute.

Microphone Triggers

microphone.on_data Trigger

This trigger will fire when new data is received from the microphone. The data is available as a std::vector<uint8_t> in the variable x. This data is the raw microphone audio and includes all the read bits per sample and channels.

microphone:
  - platform: ...
    on_data:
      - logger.log:
          format: "Received %d bytes"
          args: ['x.size()']

Configuration variables:

  • id (Optional, ID): The microphone to check. Defaults to the only one in YAML.

Microphone Conditions

All microphone conditions can be used without specifying an id if you have only one microphone in your configuration YAML.

Configuration variables:

id (Optional, ID): The microphone to check. Defaults to the only one in YAML.

microphone.is_capturing Condition

This condition will check if the microphone is currently capturing audio data.

microphone.is_muted Condition

This condition will check if the microphone is currently apply a software mute.

Platforms

See Also