Jump to content
vegardaarhus

Audio channel to controll motion from MotionFX.

Recommended Posts

Hi. Im using Motion FX --> Noise in translate/rotation channel to controll objects. Im wondering how i could controll motion from an audio track? 
in stead of using noise i would like to replace it with an incoming audio track.

Anyone tried this before?

 

Share this post


Link to post
Share on other sites

Yes, you can do that. The Envelope CHOP is useful to extract a much lower frequency curve from the volume, while the Pitch CHOP can be used to extract the dominate pitch of the audio. You can use either (or both) to affect the object.

Instead of using noise, substitute a FIle CHOP and load your audio through that. Then use the Envelope or Pitch CHOP to filter it. You will likely need to scale or smooth the channels to get the animation results you're looking for.

  • Like 2

Share this post


Link to post
Share on other sites

I also like to use Trigger to "find" beats above some threshold and generate "new beats" generated by this node's specifications. Another nice chop is Area ... I use it to drive noise's offset. With Area CHOP, the offset then doesn't go forth and back, but goes on and on ... each beat the noise travels a bit ... which is nice. Also Spring, Jiggle (needs three channels, but you can fake it), Delay (creates Echo). I have used few of them here, you can investigate:

 

Share this post


Link to post
Share on other sites

Hello, Is there a way to get the specific frequencies out of a given music file. like, piano sounds, drums and voice? Or would you say that if you want to those values, lets say drums only, you'll have to have these sounds separately.

thanks

Share this post


Link to post
Share on other sites

Hi Marco. Unfortunately, for example, one tone of piano contains many frequencies, not just the fundamental one.

You can see that in this video:
https://www.youtube.com/watch?v=5xjD6SRY8Pg

Drums are even "worse", they contain many frequencies:
image.png.960ae67e36c8e93349d38a8c2ac4c376.png

(source: https://www.soundonsound.com/techniques/synthesizing-drums-snare-drum)

So, in the music, frequencies of instruments overlap. There are tools, which try to recreate MIDI from the Waveform (Ableton has "Audio to Midi". I have heard, that Melodyne should be even better).

AFAIK, they use the spectrum analysis internally. You may try this free tool, to generate Spectrograms:
https://sonicvisualiser.org

Maybe there are new tools, which use Machine Learning to analyse the spectrum, and detect the instruments? I don't know. But you can see, that this subject is not that simple. For example, our brain can easily "read" the rhythm. But for computer, detecting the BPM is not so easy.

Share this post


Link to post
Share on other sites

Ah thanks Ikoon.

I was afraid I couldn't just pick a frequency for just the drums and voice. Thanks for detailed explanation.

I noticed that MOPs actually uses the COPS nods and such. Just installed it, did a small tutorial about it. MOPS seems to give a better overview on the controls from CHOP. So this might work :)

Probably will dive into sonicvisualiser later

Thanks again Ikoon

t 

Share this post


Link to post
Share on other sites

Hello all,

This topic is exactly what i'm working on this week. I have a simple basic question about this, once the CHOP node system is complete, how can I "connect" the network result to the offset channel or whatever parameter in other nodes? Is it through something like writing this snippet (../CHOP/test) on the parameter line?

Any help would be appreciated. Thanks.

Share this post


Link to post
Share on other sites
Posted (edited)

Hi Rival, here in this thread, there are few examples:
https://forums.odforce.net/topic/27815-chops-vex-and-the-future-of-chops-in-houdini/

A] If you only want to drive one parameter with one channel, then there are two common solutions:

  1. in the chop network, set the "export prefix" and "channel name", so that they together add up to a parameter path
  2. type the chop() expression in the parameter, and reference the channel's address


The first method is like "push (export) or affect something out of chops". All the "export magic " is done in chops, the target parameter just gets affected.
The second method is something like ... "pull (read) something from chops".

I attach them in a hiplc file.

First method:

image.thumb.png.2c6a6136394d6794072c173d560bbdc9.png

 

Second method:

image.thumb.png.29562ca97147770d5112424c2bc7e995.png

 

First method, but both channels in one node:

image.png.ecc5680cbddaa45358af7f8e95d90d28.png

 

B] If you want to affect geometry attribute, then there is this tandem of nodes:

  1. https://www.sidefx.com/docs/houdini/nodes/chop/geometry.html
  2. https://www.sidefx.com/docs/houdini/nodes/sop/channel.html

 

chop.hiplc

Edited by ikoon

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×