This demo showcases the instrument building and MIDI/MPE control capabilities of the sonosthesia framework. In particular the following packages:
Note the raw MIDI functionality is presented in a separate demo project.
Note that to add those packages to your Unity project you will need to add the following scoped registeries to your Packages/package.json
file (Keijiro
only necessary for the com.sonosthesia.rtmidi backend).
"scopedRegistries": [
{
"name": "Neuecc",
"url": "https://package.openupm.com",
"scopes": [
"com.neuecc.unirx",
"com.cysharp.unitask"
]
},
{
"name": "Keijiro",
"url": "https://registry.npmjs.com",
"scopes": [
"jp.keijiro"
]
},
{
"name": "Sonosthesia",
"url": "https://registry.npmjs.com",
"scopes": [
"com.sonosthesia"
]
}
]
Note these builders can be used both in play mode or in edit mode.
A highly configurable keyboard builder. With configurable key shape and low/high note
Ghosting notes according to different scales to avoid accidental touches
Scaled instrument builders are in development allowing configurable scale and more control over the procedural placement of elements allowing the procedural creation of instruments such as harps and xylophones.
The procedural builder uses a configurable prefab which can handle the production of MIDI/MPE note streams. Currently pointer based and trigger (using physics) based interactions are supported. Pointers can use axis drag or pressure (available in PointerEventData) to map on to musical control parameters.
Currently implemented for pointers
Triggers in experimental state
Currently implemented for pointers
- Availability is not updated on auto kill
- Dynamics value generator needs debugging