Skip to content

Audio API #158

@mateli

Description

@mateli

Design and implement a audio API.

Playing sound over the network or using a sound card has the shared problem that a high level API is needed. As such controlling the playback of sound is a bit tricky because setting the current tone or frequency to play adds a lot of latency. Instead controlling what sound file to play and probing player status is more efficient. And this is how many widely used sound API:s work.

This is a plan to implement this in multiple steps:

  1. Implement enough of FujiNet NOS in the emulator to have a shared filesystem. This is important because shuffling data from file storage to the sound API would be inefficient. To be clear the emulator should EMULATE FujiNet NOS not run it inside the 6502 CPU, like DOSBox emulates dos rather than running it inside the emulator.

  2. Use the emulator to create a reference implementation of a NOS sound API. The control of playback has to be good enough for games and not just a music player frontend. This should be as hardware agnostic as possible. Creating and using a variant of the API should work as well on the C64 as on Atari.

  3. Create an SDK for adding audio playback to applications and games.

  4. Create real FujiNet implementation of this API, with server software that can play audio on any sufficient device.

  5. Extend emulator capacity to utilize an actual FujiNet for audio playback. This is probably not possible in a browser but on the desktop it should be fully doable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions