Grasshopper

algorithmic modeling for Rhino

Hello,

I would like to visualize the notes of different music pieces in rhino/grasshopper for an university course. I've searched the forum and as far as I see it a "common" way to connect hardware sliders or buttons is to convert midi input to OSC in VVVV and then send the result to ghowl and visualize the result from there.

now I don't need to connect any physical device, basically i would like to extract music notes (and information like how long is a note or key pressed and so on) from a midi file and get the results into grasshopper. I'm used to grasshopper and plugins so this wouldn't be a problem but I've never used VVVV or processing or similar, is there a simpler way to achieve this ?

thank you,

martin.

Views: 5514

Replies to This Discussion

There are some experiments using puredata as an input processor to do that, it's also mentioned here:

http://www.grasshopper3d.com/group/ghowl/forum/topics/physical-slid...

Hello romazzino,

you can use Anvil Studio, or other similar software, to output your midi file, per track, as txt.

Then using gh native components you can access various events and values of the midi file.

cheers

alex

thank you very much

The hard part is a) converting the midi information into usable data and the remapping of the midi data to what you want it to do b) if you want to animate everything and have it exported to do the interpolation of the data and get the geometry exported. Especially the timing information is critical. If you want it to be in time even after exporting some sort of animation, you need to know the bpm of the midi file and fps of the animation to convert correctly.

There is a nice little tool called gnMidi, which can convert midi files to csv data, which can then be read straight into grasshopper. The nice thing is that it can combine note on and note off, thus giving you much cleaner data and just one line for one note event.

But its still quite a lot of work. I have spent the good part of the last 2 years perfecting this in Grasshopper (and other visual programming tools). If you want to do it right its a lot of work.

To give you an idea:

Top level, where you set the midi file and a module for each midichannel. Also exporting everything as animation:

Preparing data to be used:

Mapping midi data to parameters, including remapping and interpolation for animation:

The actual transformation of objects according to midi data:

Unfortunately, as I am doing this for work, I am not allowed to release the files, even though I would love to make them available publicly. Maybe one day..

Here is a little video demo of what it can do:

thank you so much for your help Armin ,

we want to apply music to a facad for a project , and what we want to do is moving some pannels while music is playing , ( now we are not intrested in making animation by grasshopper  ) but we want to be able to controle the movement of pannels

do you  have any other sugesstion ? 

You mean something like this: http://www.grasshopper3d.com/video/live-midi-in-grasshopper-using-o... ?

Well, I would love to tell you how to do it, but it would be a really long post and as I said I am not allowed to, because this is basically my job to develop those things. If you are interested you can look at some of our old work here: www.jhh.ch and newer things here: www.hansen.ch. You can hire us if you want ;)

Hi Alex,

I am trying to integrate the music with a simple movement. There is a video of what I have:

The speed of the wave changes when the music changes. I follow your previous steps and get the notes, volume, etc. Do you have any suggestion how to input the music into the movement? Thank you!

Jing

Hello Jing,

my suggestion was just about midi disassembly, since the op was looking to get access to specific data. As noted in previous answers there is a fair amount of work to go from there to something that moves. In a similar case i ended up using firefly plugin, which proved ok for what i was after.

best

alex

thank you very much, this is very helpful! :)

cheers martin.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service