Skip to content

Releases: anokta/barelymusician

barelymusician v0.3.1

18 Feb 23:27
Compare
Choose a tag to compare

Changes:

  • Added BeatsFromSeconds and SecondsFromBeats functions to the Musician API
  • Added a simple LfoEffect for amplitude modulation
  • Added control slope support to all effects
  • Added a new PerformerDemo in Unity that makes use of Performer directly
  • More bug fixes and improvements

Full Changelog: v0.3.0...v0.3.1

barelymusician v0.3.0

05 Jan 20:28
Compare
Choose a tag to compare

Changes:

  • Added Daisy platform support (#123)
  • Added VS Code tasks
  • Created reference components that make use of Instrument and Performer (#122):
    • An Arpeggiator component that can play instrument notes in sequence
    • A Repeater component that can play instrument notes in a repeating sequence
  • Refactored the API to use handles everywhere (#121)
  • Refactored the custom effects and instruments to make them more easily extensible
  • Revamped the Unity integration with the new API
  • More bug fixes and improvements

Full Changelog: v0.2.0...v0.3.0

barelymusician v0.2.0

22 Apr 14:03
Compare
Choose a tag to compare

Changes:

  • Added effects that can be attached to instruments (#119)
  • Refactored the C++ API to use reference types (#118)
  • Extended CMake support to include all examples (#117)
  • Minor bug fixes and improvements

Full Changelog: v0.1.0...v0.2.0

barelymusician v0.1.0

05 Mar 01:00
Compare
Choose a tag to compare

This is the initial release of barelymusician! 🐰

barelymusician is a real-time music engine that is used to generate and perform musical sounds from scratch in a sample accurate way.

Supported platforms: Linux, OSX, Windows, Android, and a native Unity game engine plugin.

Features:

  • A Musician class to manage the real-time music engine. The musician governs the global tempo for all musical components.
  • An Instrument class to create and control musical instruments in real-time. Instruments can:
    • Play notes with pitch and intensity.
    • Modify their control values with an optional automation slope that is synced to the global tempo.
    • Modify per-note control values in a similar way while playing a note.
    • Set opaque data (which can be useful to pass audio sample data).
    • Trigger callbacks for note and control change events.
  • A Performer class to create and perform musical tasks in real-time. Performers can:
    • Create recurring tasks to be triggered in a loop with modifiable properties (such as a metronome tick).
    • Schedule one-off tasks to be triggered some time in the future represented in musical beats according to the global tempo.
    • Start and stop their playback to trigger their tasks.
    • Modify their position and other properties during playback.
  • InstrumentDefinition and TaskDefinition structures to define custom instruments and tasks to be used in the music engine. In addition:
    • Three pre-defined instrument types are implemented and included for reference, namely:
    • A Metronome component is implemented and included for reference.
  • Bazel and CMake targets for multi-platform builds.
  • A fully-featured Unity game engine integration with native plugins for each supported platform.
  • Example code with scenes and binaries to demonstrate all the features above.

Limitations:

All features aside, there certainly are rough edges here and there throughout the project, although the core functionality is intact. This is especially true when it comes to ease of use, hence the 0.1.0 versioning. :)

That said, more things are yet to come to make use of the engine in more practical ways, which surely includes the adaptive music features from the legacy implementation, so it comes full circle.

See for reference: anokta/barelyMusicianLegacy


Full changelog: https://github.com/anokta/barelymusician/commits/v0.1.0