mirror of
https://github.com/esphome/esphome-docs.git
synced 2025-02-26 03:24:21 +01:00
Guide on creating and including sound clips to be played by the i2s Speaker component. (#3718)
* Add files via upload * Add files via upload * Update audio_clips_for_i2s.rst * Update audio_clips_for_i2s.rst * Update audio_clips_for_i2s.rst * Update index.rst missing link to the speaker component (this page is well hidden!) and added the link to the guide. * Update audio_clips_for_i2s.rst Dots on i * Update audio_clips_for_i2s.rst updated links * Update audio_clips_for_i2s.rst xxd link for anything else but Linux... * Update index.rst links in this format are strange. * Update audio_clips_for_i2s.rst And again... links are weird. * Update audio_clips_for_i2s.rst --------- Co-authored-by: H. Árkosi Róbert <robreg@zsurob.hu>
This commit is contained in:
parent
cdb3b5cad4
commit
67e5ba0c19
@ -92,4 +92,6 @@ Platforms
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/guides/audio_clips_for_i2s`
|
||||
- :doc:`/components/speaker/i2s_audio`
|
||||
- :ghedit:`Edit`
|
||||
|
58
guides/audio_clips_for_i2s.rst
Normal file
58
guides/audio_clips_for_i2s.rst
Normal file
@ -0,0 +1,58 @@
|
||||
.. audio_clips_for_i2s:
|
||||
|
||||
Create audio clip files for use with I²S Speakers
|
||||
=================================================
|
||||
|
||||
It is possible to create sound clips to include in your build to use with I²S speakers. No need for a media player component!
|
||||
|
||||
- Using `Audacity <https://github.com/audacity/audacity>`__, convert audio to WAV, mono, 16kHz, Unsigned 8bit PCM
|
||||
|
||||
.. figure:: /guides/images/save_as_wav.png
|
||||
:alt: Audacity export dialog
|
||||
:height: 200
|
||||
:align: center
|
||||
|
||||
- Convert again, this time with `SOX <https://github.com/chirlu/sox>`__.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
sox startup.wav --bits 8 --encoding signed-integer --endian little startup_again.raw
|
||||
|
||||
- Now convert it into a hexadecimal string using `xxd <https://github.com/ckormanyos/xxd>`__ into a C++ file.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
xxd -i startup_again.raw startup.c
|
||||
|
||||
- The resulting file needs a modification in the start line:
|
||||
Open in an editor and change
|
||||
``unsigned char startup_again_raw[] = {…[SNIP]…}``
|
||||
to
|
||||
``std::vector<unsigned char> startup_raw = {…[SNIP]…}``.
|
||||
|
||||
Now you can rename the file to startup.h, put it inside the esphome configuration directory and put it in a include in your device config like this:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
includes:
|
||||
- startup.h
|
||||
|
||||
Now you can define using the audio clip using the following:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- speaker.play:
|
||||
id: speaker
|
||||
data: !lambda return startup_raw;
|
||||
|
||||
Enjoy!
|
||||
|
||||
HowTo by [NUT].
|
||||
|
||||
See also
|
||||
--------
|
||||
|
||||
- :doc:`/components/speaker/index`
|
||||
- :doc:`/components/speaker/i2s_audio`
|
||||
- :ghedit:`Edit`
|
BIN
guides/images/save_as_wav.png
Normal file
BIN
guides/images/save_as_wav.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
Loading…
Reference in New Issue
Block a user