jacqueline
485e9adfce
Performance tweaks for smoother tunes
...
- Pin the decoder task to APP_CORE to reduce context switches
- Increase sample buffer sizes
2 years ago
jacqueline
f3c5eec025
Rename the main audio tasks to be more sensible
2 years ago
jacqueline
c635d5011c
Put more audio pipeline wiring in control of the audio fsm
2 years ago
jacqueline
4e27de21e4
clean up a bunch of obselete audio code
2 years ago
jacqueline
a4ba7350a7
Fix docs nits, avoid recalculating frame length
2 years ago
jacqueline
06283e0714
Fix issues with timing stereo streams
2 years ago
jacqueline
c37ccb9851
Reintroduce track timer, now relying more on codecs
2 years ago
jacqueline
958160aa54
Use the libspeexdsp resampler
...
AFAICT it runs a little slower? but it's fixed point, and has much
better understood audio characteristics.
2 years ago
jacqueline
d8fc77101d
Give codecs complete control of their input files
2 years ago
jacqueline
6c3501dbcb
Flesh out opus decoder. it doesn't work! i hate opus.
2 years ago
jacqueline
93ccf11fc5
Investigate and improve core pinning for resampler
2 years ago
jacqueline
c38754401b
Downscaling working!
2 years ago
jacqueline
60f7677132
Do our own resampling
2 years ago
jacqueline
3511852f39
Add very limited resampling (it's slow as shit)
2 years ago
jacqueline
cdaa2ac97a
Add duration for flacs
2 years ago
jacqueline
485eed2890
use libtag duration where available
2 years ago
jacqueline
97bd3be892
clang-format
2 years ago
jacqueline
10120f9a92
ux fixes
2 years ago
jacqueline
b05db70c14
Fix premature end of track
2 years ago
jacqueline
9b1b401dcb
big cleanup of new encoder + stream buffer types
2 years ago
jacqueline
f94be3db2f
make event queue go faster
2 years ago
jacqueline
d8194135bb
Do time tracking without floats
2 years ago
jacqueline
80d7df9109
fuck off
2 years ago
jacqueline
39f7545cd5
wire up the playing screen with some real data
...
Includes implementing song duration calculation for CBR MP3 files
2 years ago
jacqueline
cde8002df4
Fix (i think?) mysterious overly large reads in libmad
2 years ago
jacqueline
b58b072d2d
Add current playback timestamps
2 years ago
jacqueline
acccd822f0
back to back flac playback is working :)
2 years ago
jacqueline
c6bb42cdd2
song -> track
2 years ago
jacqueline
a2c1dfbabd
Add vorbis and flac decoders, flesh out codec interface
...
vorbis doesn't quite work yet, not sure why. will pick it up again
later.
2 years ago
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2 years ago
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
2 years ago
jacqueline
8a2a2d2265
Get basic audio playback going again
2 years ago
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
2 years ago
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2 years ago
jacqueline
4bff06c76c
Drop himem audio buffers (for now?)
...
For some reason the spinlocks required now block forever? Very odd.
On the plus side, this turned out to be the issue that was stopping the
audio pipeline from running on the app core.
2 years ago
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
2 years ago
jacqueline
5ac4d3949c
Generalise worker tasks, and centralise task priorities + stacks
...
Includes making the display driver use a worker task for flushes, so
that our double buffering actually does something useful /facepalm
2 years ago
jacqueline
130009eb14
Pin audio pipeline to the app core
2 years ago
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
2 years ago
jacqueline
731b2cfa77
working isr-based sink, but still grainy
2 years ago
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
2 years ago
jacqueline
561f9d2a07
Ensure the sink buffer is large enough to not fully drain during
...
playback
2 years ago
jacqueline
7a54ff0df9
WIP track down new pipeline memory issues
2 years ago
jacqueline
40a9734b04
Redo pcm registers to include pages
2 years ago
jacqueline
3836768bb8
new pipeline working(?), but the dac eludes me
2 years ago
jacqueline
7c6fd654f5
New pipeline building, still needs proper control
2 years ago
jacqueline
a9531c86a4
mostly single task pipeline
2 years ago
jacqueline
47ae601d41
Tidy up pipeline and use arena capacity to test for overruns
2 years ago
jacqueline
941bafca17
Add a memory arena for the audio pipeline
2 years ago
jacqueline
12d2ffdab7
Add logging to the DAC
2 years ago