<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tangara-fw/src/tangara/audio/processor.cpp, branch main</title>
<subtitle>Tangara firmware</subtitle>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/'/>
<entry>
<title>move SampleProcessor buffers to external RAM</title>
<updated>2025-04-14T07:27:40+00:00</updated>
<author>
<name>Be</name>
<email>be.0@gmx.com</email>
</author>
<published>2025-04-14T07:27:40+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=ff811ba810eadbed447acdbf6d5291164d75cd9d'/>
<id>ff811ba810eadbed447acdbf6d5291164d75cd9d</id>
<content type='text'>
This increases CPU usage by ~2% for the audio_conv task, which I
think is an acceptable tradeoff. The Speex resampler still
makes its own allocations in internal RAM.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This increases CPU usage by ~2% for the audio_conv task, which I
think is an acceptable tradeoff. The Speex resampler still
makes its own allocations in internal RAM.
</pre>
</div>
</content>
</entry>
<entry>
<title>Play TTS files in response to TTS prompts, but it's legible now</title>
<updated>2024-09-11T02:57:04+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-09-11T02:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=542ebc65317ac4744a4b96c3131dace5bda10314'/>
<id>542ebc65317ac4744a4b96c3131dace5bda10314</id>
<content type='text'>
 - input files are upsamples and padded to stereo before playback
 - any in-progress playback is cancelled before playing a new file
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - input files are upsamples and padded to stereo before playback
 - any in-progress playback is cancelled before playing a new file
</pre>
</div>
</content>
</entry>
<entry>
<title>Some minor cleanup, docs, assertions</title>
<updated>2024-08-27T23:45:19+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-08-27T23:43:41+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=8f4e1ece7512c2b911491d87edc475b803c3989c'/>
<id>8f4e1ece7512c2b911491d87edc475b803c3989c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Timeout when writing output samples throughout the audio pipeline</title>
<updated>2024-08-27T23:45:19+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-08-27T11:17:53+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=f253d2ee7568b61ce2fab962f7328a50e2da6adf'/>
<id>f253d2ee7568b61ce2fab962f7328a50e2da6adf</id>
<content type='text'>
This allows the audio pipeline to remain responsive even when the drain
buffer has completely filled. This in turn means that you now see the
track info in the 'now playing' screen change if the current track
changes whilst you are paused.

Since I was fucking around a lot in the audio processor anyway, I also
added mono-&gt;stereo expansion so that playing mono tracks on Bluetooth no
longer destroys your ears.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows the audio pipeline to remain responsive even when the drain
buffer has completely filled. This in turn means that you now see the
track info in the 'now playing' screen change if the current track
changes whilst you are paused.

Since I was fucking around a lot in the audio processor anyway, I also
added mono-&gt;stereo expansion so that playing mono tracks on Bluetooth no
longer destroys your ears.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a PcmBuffer abstraction for handling source draining</title>
<updated>2024-05-31T01:52:19+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-05-31T01:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=f84474d94d3618b9dc2581b72aea768052a40dd7'/>
<id>f84474d94d3618b9dc2581b72aea768052a40dd7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Count samples going in and out of the drain buffer</title>
<updated>2024-05-08T06:03:03+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-05-08T06:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=265049c5192cf0ce862c7db7b4745636afb6c17b'/>
<id>265049c5192cf0ce862c7db7b4745636afb6c17b</id>
<content type='text'>
This is a more accurate way of knowing which track is playing when, and
also simplifies a lot of fragile logic in audio_fsm
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a more accurate way of knowing which track is playing when, and
also simplifies a lot of fragile logic in audio_fsm
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve decoder's interface to accept streams</title>
<updated>2024-05-07T04:19:19+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-05-07T04:19:19+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=b242ba998699208c87dc066158964de0866b61e2'/>
<id>b242ba998699208c87dc066158964de0866b61e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
