acids-ircam / nn_tilde

Other
324 stars 36 forks source link

nn~ and external data? #35

Open RVirmoors opened 1 year ago

RVirmoors commented 1 year ago

hi! nn~ is amazing, thank you!

i was wondering if there's any way to integrate a nn~ object with something like a score etc. My concrete use case is importing a .mid file and then playing it back in a "humanized" way via a ML model.

right now I can think of two ways to get this done:

  1. adding a Tensor buffer to my .ts model, and streaming/serializing the MIDI events into it from Max. This seems like a lot of work and could be finnicky.
  2. modifying the nn~ object to include .mid loading and sequencing. This would effectively be a fork of nn~, and would maybe be hard to keep in sync with the main project?

i guess the ideal would be some sort of plug-in system that allows us to extend the capabilities of the nn~ object, without modifying the core cpp.

i'll probably go with option #2 above. Do you have any advice, is there something I'm missing?

cheers & keep up the great work!

denlecoeuche commented 1 year ago

Hi,

Just a quick idea: play the midi file in the most basic sounding way in Max and route the resulting audio to nn~ to perform timbre transfer. Would that work?

Le 23 janv. 2023 à 14:47, grig @.***> a écrit :

 hi! nn~ is amazing, thank you!

i was wondering if there's any way to integrate a nn~ object with something like a score etc. My concrete use case is importing a .mid file and then playing it back in a "humanized" way via a ML model.

right now I can think of two ways to get this done:

adding a Tensor buffer to my .ts model, and streaming/serializing the MIDI events into it from Max. This seems like a lot of work and could be finnicky. modifying the nn~ object to include .mid loading and sequencing. This would effectively be a fork of nn~, and would maybe be hard to keep in sync with the main project? i guess the ideal would be some sort of plug-in system that allows us to extend the capabilities of the nn~ object, without modifying the core cpp.

i'll probably go with option #2 above. Do you have any advice, is there something I'm missing?

cheers & keep up the great work!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

RVirmoors commented 1 year ago

Hi, Just a quick idea: play the midi file in the most basic sounding way in Max and route the resulting audio to nn~ to perform timbre transfer. Would that work?

that's not a bad idea, i could send in click~s and have nn~ respond to them. The only problem is, it would be causal i.e. have no knowledge of the future. Whereas I kinda want to have the whole score "in mind" when I go through the piece. But I'll think about it, thanks!