Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exploration: Use 2 dimensional data as source for music generation #110

Open
2 of 7 tasks
oubiwann opened this issue Jun 13, 2021 · 0 comments
Open
2 of 7 tasks

Exploration: Use 2 dimensional data as source for music generation #110

oubiwann opened this issue Jun 13, 2021 · 0 comments
Labels
Milestone

Comments

@oubiwann
Copy link
Contributor

oubiwann commented Jun 13, 2021

Use perlin/simplex noice to generate multiple "layers" to be used to control various (arbitrary) axes:

  • pitch / velocity
  • freq / resonance
  • attack / delay
  • sustain / release
  • R/L balance
  • Up/down positioning (binaural support)
  • Chord progressions (could be done with banding / gradations)

That works for a single instrument at a time ... for every instrument, you could have different layers for the various attributes (big storage jump), or you could use the same layers for each instrument and just use values at different distances from a given point (i.e., a 2D ball -- in the formal maths sense -- around a given point to determine which instruments are played).

Papers of possible interest:

Depends on:

Specific scenarios to explore:

  • Map image data to velocity, send that as MIDI velocity
  • Map graded image data to notes (e.g., in a scale, across a range of octaves), send that as a MIDI pitch
  • Panning will be trickier:
    • first, maybe build up something in Element that receives MIDI CC and controls the volume
    • then figure out what CC to send in order to control said volume
    • coordinate these CC codes to lower and raise volumes of L & R to emulate panning
@oubiwann oubiwann added the epic label Jun 13, 2021
@oubiwann oubiwann added this to the 0.5.0 milestone Jun 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant