Skip to content

jbat100/sonosthesia-unity-packages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sonosthesia-unity-packages

Introduction

This repository contains Unity packages for the Sonosthesia project. It aims to provide modular and composable tools to create immersive and interactive audio visual experiences.

Demo Applications

A number of demo applications provide example usage for these packages

Packages

Signals

Signals are the main building blocks of the Sonosthesia framework architecture. They are based on UniRx data streams and used to generate, modify, map, receive and transfer data between different components. Signals are templated to allow for use with any value type.

Channels

Channels are an extension of the MIDI channel concepts, which create and destroy UniRx data streams dynamically. Channels are templated to allow for use with any value type.

Mapping

Mappings allow signals and channels to be connected to each other, potentially accross heterogeneous data types. They are used to create data flows accross different domains (sound, MIDI, graphics, touch).

Input and Interaction

Interactions in XR are crucial to the project, multi modal interaction is encouraged.

Procedural Graphics

MIDI

Sound

Instruments

Miscellaneous

Installation

These packages are hosted on npm and have a dependency on UniTask and/or UniRx. In order to add them to your dependencies, you must add the following scoped registeries.

{
  "scopedRegistries": [
    {
      "name": "Neuecc",
      "url": "https://package.openupm.com",
      "scopes": [
        "com.neuecc.unirx",
        "com.cysharp.unitask"
      ]
    },
    {
      "name": "Sonosthesia",
      "url": "https://registry.npmjs.com",
      "scopes": [
        "com.sonosthesia"
      ]
    }
  ]
}

Some packages require additional scoped registeries, namely

{
  "scopedRegistries": [
    // ...
    {
      "name": "Keijiro",
      "url": "https://registry.npmjs.com",
      "scopes": [ 
        "jp.keijiro" 
      ]
    }
  ]
}
{
  "scopedRegistries": [
    // ...
    {
      "name": "Hadashikick",
      "url": "https://package.openupm.com",
      "scopes": [
        "jp.hadashikick.vcontainer"
      ]
    }
  ]
}