Code Monkey home page Code Monkey logo

vl.gameaudioplayer's Introduction

VL.GameAudioPlayer

High level command based audio player for vvvv Gamma. Tested with vvvv 2021.4.12 stable.

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

Video tutorial

NOTE - The advanced architecture has been simplified since the video. Check the Advanced Architecture helppatch.

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 specific needs for working with lots of dialog (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 panning. 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.

Changelog

  • 1.0.4 Simplified the advanced workflow with ChannelCommand stateless operations. Find them under Advanced in node browser.
  • 1.0.3 improved helppatches, improved dispose, fixed incorrect duration calculation for queued items
  • 1.0.2 improved helppatches
  • 1.0.1 improved helppatches, added function for MediaStatus command to continuing following the same player while next media has the same path.
  • 1.0.0 initial release

Licence

MIT

Special Thanks

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

vl.gameaudioplayer's People

Contributors

tobyklight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

vl.gameaudioplayer's Issues

Wrong media in the Animation helppatch

Because it plays a whole song you don't see the 'end of phrase' (Exit) bang

While at it maybe worth demonstrating how to get data fpr a sequence of media regardless of which mediakey you use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.