Gigoteur / UnicornConsole

Unicorn Console: create quick fantasy game in Rust/Python/Lua/Rhai/Wasm !
MIT License
905 stars 47 forks source link

Audio support #5

Closed hallucino closed 1 year ago

hallucino commented 7 years ago

Currently we don't have any audio support, let's add one !

proman21 commented 7 years ago

Could be possible to use something like Sunvox tracker to provide an music engine? It has a C interface and provides very powerful creation system. I think that it could be a easy way to let carts make their own music while reducing the work required to provide a music engine.

Of course, it might provide more features than needed, and could impact the performance of the system.

hallucino commented 7 years ago

Well my idea is to support classic audio format (MIDI/WAV/etc) and not to have a built in modular synthesizer in the project, and so to use external one.

rwmpelstilzchen commented 7 years ago

Hi,

I want to thank you for PX8. I follow its development and it’s quite impressive. 8-bit + FOSS + programming the carts in Python = ♥

About this particular idea, IMHO it is not such a good idea, because:

I hope you will reconsider the idea of playing WAV/MIDI files as audio support :-). I’m sorry I cannot offer actual code for implementing this.

Júda

hallucino commented 7 years ago

@rwmpelstilzchen yes sure I agree with you. I will add basic support like prototracker, mod/mml format. But I want to have also high level format too. Both are not incompatible 👍

rwmpelstilzchen commented 7 years ago

Thanks :-)

hallucino commented 7 years ago

My plan is the following:

hallucino commented 7 years ago

Support for libksnd is added via https://github.com/Gigoteur/chiptune-rs.

rwmpelstilzchen commented 7 years ago

Great news!

When I open it in Klystrack it plays much faster and in a higher pitch, though.

hallucino commented 7 years ago

@rwmpelstilzchen It is possible ! I will add the possibility to access all options via the API

hallucino commented 6 years ago

Audio support is working now. I kept only klystrack deps + sdl