<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soundbox/doc, branch alsa-loop</title>
<subtitle>Device to connect classic audio systems to the network</subtitle>
<id>https://cgit.xengineering.eu/soundbox/atom?h=alsa-loop</id>
<link rel='self' href='https://cgit.xengineering.eu/soundbox/atom?h=alsa-loop'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/'/>
<updated>2024-01-24T19:29:09Z</updated>
<entry>
<title>WIP: doc: Explain ALSA loop device use case</title>
<updated>2024-01-24T19:29:09Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-24T17:22:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=26444dbc9195c8eec0e6caa360d67d5c14d129c9'/>
<id>urn:sha1:26444dbc9195c8eec0e6caa360d67d5c14d129c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Rework user guide for streaming</title>
<updated>2024-01-21T08:19:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-21T08:19:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=38d6997e5f6bd725b28c8cc6ed28cda670a2e900'/>
<id>urn:sha1:38d6997e5f6bd725b28c8cc6ed28cda670a2e900</id>
<content type='text'>
The default streaming guide is now far away from the original taken from
the FFmpeg streaming guide.

Since the command can handle a lot of inputs its also not useful to send
sine waves to soundbox devices.
</content>
</entry>
<entry>
<title>doc: Add user guide for device discovery</title>
<updated>2024-01-20T20:55:22Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-20T20:55:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=090e063a539f6ee6e62e65ada619787930c31eac'/>
<id>urn:sha1:090e063a539f6ee6e62e65ada619787930c31eac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Add OpenRC service configuration</title>
<updated>2024-01-20T20:25:20Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-20T14:20:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=ce3aad39474789faa7e3c8fd49a6f401c8fa3c01'/>
<id>urn:sha1:ce3aad39474789faa7e3c8fd49a6f401c8fa3c01</id>
<content type='text'>
This makes sure the audio-receiving software `ffplay` runs all the time.
</content>
</entry>
<entry>
<title>doc: Split configuration section into subsections</title>
<updated>2024-01-20T14:12:42Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-20T14:12:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=e7f055deddf551c32de631c4579c53589ea14948'/>
<id>urn:sha1:e7f055deddf551c32de631c4579c53589ea14948</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Add lldpd configuration</title>
<updated>2024-01-20T11:05:15Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-19T15:33:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=75a661f088ff48b87c67af4ed14d8dc162e3bb93'/>
<id>urn:sha1:75a661f088ff48b87c67af4ed14d8dc162e3bb93</id>
<content type='text'>
This makes a soundbox device discoverable via the Link Layer Discovery
Protocol (LLDP). That way a client application can lookup the available
soundbox devices inside the network to display playback options.
</content>
</entry>
<entry>
<title>doc: Always use MP3 as audio codec</title>
<updated>2024-01-14T19:50:59Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T19:50:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=36341f1e9856e17ad00e3741bb5bc1224aadc225'/>
<id>urn:sha1:36341f1e9856e17ad00e3741bb5bc1224aadc225</id>
<content type='text'>
While transcoding to a lossy formate like MP3 is not recommended [1]
forquality reasons it has the advantage that alway UPD / Matroska / MP3
is used for soundbox. That way the stream can be stopped and started at
any time without re-launching ffplay on the soundbox device. This could
make the SSH connection to the soundbox not longer needed.

[1]: https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio#WhenshouldItranscodeaudio
</content>
</entry>
<entry>
<title>doc: Simplify streaming commands</title>
<updated>2024-01-14T19:48:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T19:48:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=6a05f26e4a7726fa719a55b5918b0262b27c02ba'/>
<id>urn:sha1:6a05f26e4a7726fa719a55b5918b0262b27c02ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Switch from RTP to Matroska and UDP</title>
<updated>2024-01-14T19:27:05Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T19:27:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=8a47aec3581f0272677ffbbbc9d488c50fbd973d'/>
<id>urn:sha1:8a47aec3581f0272677ffbbbc9d488c50fbd973d</id>
<content type='text'>
The Matroska format has to advantage that a stream can be stopped and
the restarted at any time without executing new commands on the soundbox
device.

Since Matroska and RTP have similar / redundant features [1] the
transport protocol is switched to plain UDP.

[1]: https://en.wikipedia.org/wiki/Comparison_of_video_container_formats#cite_note-22
</content>
</entry>
<entry>
<title>doc: Fix duplicated period</title>
<updated>2024-01-14T14:46:35Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T14:46:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=e94b3cc341a4a641ca41cc95f3b8ae907654e34a'/>
<id>urn:sha1:e94b3cc341a4a641ca41cc95f3b8ae907654e34a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Switch to multicast for streaming</title>
<updated>2024-01-14T13:14:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T13:14:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=a7dc6b07781cb7901e9bbcffbe0d5ffa1c690c73'/>
<id>urn:sha1:a7dc6b07781cb7901e9bbcffbe0d5ffa1c690c73</id>
<content type='text'>
This allows to stream to multiple devices at the same time. Nevertheless
it still works for a point to point stream.
</content>
</entry>
<entry>
<title>doc: Explain how to enable default RPi audio</title>
<updated>2024-01-14T13:10:35Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T13:10:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=afe7b5fb9921dd990719e5823a7fd30553d3ed23'/>
<id>urn:sha1:afe7b5fb9921dd990719e5823a7fd30553d3ed23</id>
<content type='text'>
The soundbox software should be portable to other Raspberry Pis without
the HiFiBerry DAC too.
</content>
</entry>
<entry>
<title>doc: Unify replacable parts of streaming command</title>
<updated>2024-01-14T11:22:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T11:22:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=41c73098b35dd820d22b557363fcd1aaed6133ae'/>
<id>urn:sha1:41c73098b35dd820d22b557363fcd1aaed6133ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Use native audio codec for streaming</title>
<updated>2024-01-14T11:04:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-14T11:04:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=0b0ca08ee8a4954c59ea2421f7e7dfcf1272baff'/>
<id>urn:sha1:0b0ca08ee8a4954c59ea2421f7e7dfcf1272baff</id>
<content type='text'>
The music streaming documentation used to enforce re-encoding via ffmpeg
to save bandwidth. This led to pretty poor audio quality. This is not
the purpose of soundbox. It is assumed that the user wants the highest
possible audio quality as default.
</content>
</entry>
<entry>
<title>doc: Add Alpine Linux config guide</title>
<updated>2024-01-14T10:44:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-06T09:50:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=27c2557c21cae2af48b9ba298149c6fe9cceb96f'/>
<id>urn:sha1:27c2557c21cae2af48b9ba298149c6fe9cceb96f</id>
<content type='text'>
Configuring the Alpine Linux operating system correctly for soundbox is
not trivial. Since it is very important it has to be documented in
detail.
</content>
</entry>
<entry>
<title>doc: Switch to tar-based installation</title>
<updated>2024-01-14T10:44:12Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-13T16:04:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=5f62cff66916db54f3be0c9fbc6198253ef7b6f0'/>
<id>urn:sha1:5f62cff66916db54f3be0c9fbc6198253ef7b6f0</id>
<content type='text'>
The tar-based installation is more difficult to explain but has the
advantage that the partition size is maximized from the beginning. This
is way easier than resizing the partition after the installation.
</content>
</entry>
<entry>
<title>doc: Add Alpine Linux installation instructions</title>
<updated>2024-01-12T21:02:02Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-05T21:14:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=bfbdcfad3489f943748fa584972d27c9255d365b'/>
<id>urn:sha1:bfbdcfad3489f943748fa584972d27c9255d365b</id>
<content type='text'>
This is currently the recommended OS installation for soundbox.
</content>
</entry>
<entry>
<title>doc: Change paragraph distance</title>
<updated>2024-01-06T19:50:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-06T19:49:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=e1acff9b0583e19dec4c27061c4bb4d16fe79d1b'/>
<id>urn:sha1:e1acff9b0583e19dec4c27061c4bb4d16fe79d1b</id>
<content type='text'>
There used to be no extra space between paragraphs which in combination
with no indentation was not useful.
</content>
</entry>
<entry>
<title>doc: Fix missing `-re` flag for ffmpeg streaming</title>
<updated>2024-01-05T21:03:23Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-05T21:03:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=3b7c474bebcdc79ec354859366673b441c8f90e1'/>
<id>urn:sha1:3b7c474bebcdc79ec354859366673b441c8f90e1</id>
<content type='text'>
This flag makes sure the file is streamed in native frame rate and not
e.g. way faster. This is the expected behaviour.
</content>
</entry>
<entry>
<title>doc: Switch from UDP port 1234 to UDP port 5316</title>
<updated>2024-01-05T19:58:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-05T19:58:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=cad96e8944a86df30376564dca15661ddef590a4'/>
<id>urn:sha1:cad96e8944a86df30376564dca15661ddef590a4</id>
<content type='text'>
This port should be used in the future as soundbox standard port.
</content>
</entry>
<entry>
<title>doc: Add example for FFMpeg MP3 streaming</title>
<updated>2024-01-05T11:03:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-05T11:03:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=90286663aa293deeb91bed3ae2319bc77a461467'/>
<id>urn:sha1:90286663aa293deeb91bed3ae2319bc77a461467</id>
<content type='text'>
This allows more testing than only streaming sine waves.
</content>
</entry>
<entry>
<title>doc: Add section 'Playing audio'</title>
<updated>2024-01-05T10:48:23Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-05T10:48:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=f2b47e8030fdfcd8c794d1e27ab1b35c7e87310c'/>
<id>urn:sha1:f2b47e8030fdfcd8c794d1e27ab1b35c7e87310c</id>
<content type='text'>
This documents a basic FFmpeg streaming example so that soundbox devices
can be tested.
</content>
</entry>
<entry>
<title>doc: Write section 'Versioning'</title>
<updated>2024-01-05T09:52:04Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-04T21:05:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=ce83411b44ffce77e57fb1b834c6008f4222a3fe'/>
<id>urn:sha1:ce83411b44ffce77e57fb1b834c6008f4222a3fe</id>
<content type='text'>
This section is important to communicate how to interpret version
numbers in the context of this device repository.
</content>
</entry>
<entry>
<title>doc: Build twice with LaTeX</title>
<updated>2024-01-05T09:07:04Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-04T20:44:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=15285f111eae401663a459344e99e4e351ea3207'/>
<id>urn:sha1:15285f111eae401663a459344e99e4e351ea3207</id>
<content type='text'>
This is required to build the table of contents and similar parts of the
document correctly.
</content>
</entry>
<entry>
<title>doc: Remove 'soundbox-' prefix from doc PDF</title>
<updated>2024-01-05T09:07:04Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-04T20:35:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=c2d8261aba307223d3f1edce3a88a4d212395e4a'/>
<id>urn:sha1:c2d8261aba307223d3f1edce3a88a4d212395e4a</id>
<content type='text'>
Inside the artifacts folder aswell as inside the source folder adding a
'soundbox-' prefix to files is uncommon. In both cases only the root level
folder should contain the name 'soundbox' to remove redundancies.
</content>
</entry>
<entry>
<title>doc: Add brief description for first chapter</title>
<updated>2024-01-03T13:21:59Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-03T13:21:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=207473d754a42f8969ce23ee20da0aeec54b4768'/>
<id>urn:sha1:207473d754a42f8969ce23ee20da0aeec54b4768</id>
<content type='text'>
</content>
</entry>
<entry>
<title>doc: Switch from LaTeX article to report</title>
<updated>2024-01-03T11:49:26Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-03T11:49:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=b9ecbb7c782fed6256ce2a0da80bde17a4c24fa9'/>
<id>urn:sha1:b9ecbb7c782fed6256ce2a0da80bde17a4c24fa9</id>
<content type='text'>
This document will be quite long. Thus the report document class is more
suitable.
</content>
</entry>
<entry>
<title>doc: Draft structure for PDF documentation</title>
<updated>2024-01-03T11:48:01Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-03T09:45:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=380cd37e628b8da6e21d11e1a69ca5d4c899c48a'/>
<id>urn:sha1:380cd37e628b8da6e21d11e1a69ca5d4c899c48a</id>
<content type='text'>
This draft should give an overview of the planned sections which is
useful to decide what should belong into the first sections and what
should be written in later ones.
</content>
</entry>
<entry>
<title>doc: Add automated PDF generation</title>
<updated>2024-01-03T11:03:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-02T21:52:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=a13b2b67711ba722301319d322f5d6233cbc77b2'/>
<id>urn:sha1:a13b2b67711ba722301319d322f5d6233cbc77b2</id>
<content type='text'>
The build system should convert the documentation source files
automatically to a single PDF file to make documentation generation
trivial.
</content>
</entry>
<entry>
<title>doc: Add soundbox-documentation.tex</title>
<updated>2024-01-03T11:03:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-01-02T21:37:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/soundbox/commit/?id=5273564397c2f4ba82e6d60d35a34e1c5666eb0f'/>
<id>urn:sha1:5273564397c2f4ba82e6d60d35a34e1c5666eb0f</id>
<content type='text'>
This LaTeX document should contain the full device documentation for
soundbox. It will not cover aspects about the source or how to build.
This should be covered inside the README of this repository. Everything
else will be part of the resulting documentation PDF file.
</content>
</entry>
</feed>
