Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streaming sample playback enhancement #106

Open
stevesims opened this issue Dec 12, 2023 · 0 comments
Open

Streaming sample playback enhancement #106

stevesims opened this issue Dec 12, 2023 · 0 comments

Comments

@stevesims
Copy link
Contributor

It's currently technically possible to stream audio to the VDP for playback. This is done by sending the first few blocks of a sample across to a VDP buffer, marking that buffer as being a sample, kicking off playback of that sample, setting the desired complete playback duration, and then continuing to send over blocks of the sample. So long as the z80 keeps up sending data across to the VDP in principle the sample playback should work and play to the end. (if it doesn't keep up, playback will loop, which will be slightly odd)

The down-side to this approach is that this will eventually fill the VDPs memory.

A proposed solution to this would be to mark a sample as "disposable" - and to throw away memory blocks once they have been played.

Support for this would likely require the buffered command API to allow the deleting of individual blocks. When playing back samples of this proposed format, on reaching the end of a block sample playback system would just delete that block (which would always be at block index zero).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant