VL.GameAudioPlayer

VL.GameAudioPlayer

High level command based audio player for vvvv Gamma.

Install from nuget
In Gamma go to top left menu>Manage Nugets>Command line and type
nuget install VL.GameAudioPlayer

Video tutorial

Features

  • Aims to reduce the complexity of getting audio playback into your app while maintaining good performance.
  • Loads and plays media without blocking your main thread
  • Removes headaches of managing player instances and building state machines for straightforward background music tasks.
  • Simple organisation paradigm from video games with three main categories of media: Sound Effects, Music and Dialog
  • Supports advanced workflows to simplify collaboration with composers and import from audio software (eg Ableton)
  • Use loops of music and play loops in sequence
  • Potentially cross-platform (only tested on Windows so far)
  • Documented through interactive helppatches
  • Extract BPM and Bar information for visualisation
  • Includes original test media (also released under MIT licence, although if you use these in a project a credit as composer would be appreciated…)

image

Expectations

  • Only plays out the default sound device, no ASIO
  • Only plays audio files, no recording or live inputs
  • No realtime effects, beat detection or FFT
    (If you need these functions see VL.Audio
  • No multitrack support
  • Not intended for tight sync with video files.
  • Does not support MP3 (due to underlying library limitation)

Dependencies

Status

  • 90% complete and working
  • PlayDialog functionality is there but not tested properly because I didn’t have a use case. I can imagine there are needs here eg managing localisation or linking mediakeys to dialog data for subtitle display. If someone has a project with a dialog usecase maybe you could contribute to this?
  • Positioning functionality is just left to right pan, in theory the underlying library supports 3D positioning. Again I didn’t have a usecase during development so if you’ve got one and you would like to contribute please get in touch.

Licence

MIT

Special Thanks

All those in the vvvv chat for help with various issues during development.

12 Likes

UPDATE: looks like the cross platform functionality with sfml is not working as hoped.

I don’t have time at the moment but somewhere down the track I will look into it.

hi there,
i just looked into the GameAudioPlayer. Looks really great. It has stuff what I need for my project at the moment. Like triggering multiply Audio Files. Having a handling for disposing the Audiofiles and handling lots of audios called in a game like situation.
But I need to go multichannel track out. Like I have 6 mono Audio tracks out. This is not support yet, is it?

The underlying library SFML doesn’t really support proper multitrack AFAIK. I don’t think they will add it. They aim to provide a basic sound player that works cross platform (as one part of a large game engine package) rather than a high end multitrack DAW engine.

VL.Audio offers much better functionality in terms of routing tracks, mixing, ASIO as well as adding live inputs etc.

What you can do is trigger multiple mono (or stereo) tracks to play at the same time and it may sound ok for a limited time. Would have to test on your hardware and CPU workload to see how it goes.
But it’s not proper multitrack playback and it can go out of sync.