Search - User list
Full Version: CHOPS bottleneck trim channel by value
Root » Houdini Lounge » CHOPS bottleneck trim channel by value
andrewlowell
Ok, ran into a handup. Maybe there is an obvious way someone else has done that I'm not thinking about. I'm trying to actually trim a channel based on a trigger. Meaning, once the trigger happens, the channel will start there … also maybe shorten by a return to zero as well.

I've gone through the count, trigger, trim, shift, fan, hold, etc and haven't found a good way to do it.

This is to save memory when generating tones. So, once a trigger value is hit, I want to start the channel there (then use a shift to put it at zero).
andrewlowell
or, I thought of another way … is there a way to get the time when a certain value is reached?
puma.snyder
didn't really understand your first approach but for the second part, try the expression CHOP with something like
if($V==1,$F,0)

Hope this helps
Achim
andrewlowell
this method seems to be time dependent … I'm trying to copy synthetically generated audio onto midi notes, this seemed to be very memory intensive with my earlier attempts.

Actually what I'm trynig to do now is to do an expression to separate every note change on it's own channel, and only do one copy stamp per channel. It seems to be working, then switching things up with a stamped delete operator to select the channel info that the copy will go on.

Originally I was thinking to stamp the channel length which would be dependent on the note, so my synth would only need to generate a certain length, but there doesn't seem to be a good way to asertain the length and time of a certain chop value??
puma.snyder
Sounds like a job for the lookup CHOP. Feed your incoming midi stuff into a count CHOP, set it to increase count by time “while on” and reset to zero on “on to off”, enable timeslice mode. Pipe this into a lookup CHOP, and feed your CHOP holding your audio into the other input.

So whenever any midi note is “on”, the count CHOP increases the matching channels by time (as long as the note is on). Then the lookup plays back your non-timesliced audio.

later
Achim
andrewlowell
ah-ha very cool thank you. That's how I can get the length of a value! Lookup, increase by time / reset to zero. That will really help.

One thing I don't understand … I've looked all though the documentation (maybe I'm looking in the wrong place?) What exactely IS time slice?
puma.snyder
Have a look here [derivativeinc.com] for an explanation from some old touch designer docs.
malexander
You can also use the Voice Split CHOP, which was originally designed to split a track containing a series of phonemes into different tracks for the Voice Sync CHOP. It's designed for audio, which will probably help in this case.

If you have multiple recorded tones in one track, this will split them out into separate tracks, or if you don't want this, just set the Min Pause Length to a large number of seconds.
andrewlowell
ah, thank you very much for those docs … are there any more??

Also thank you for the info on the voice split, I acutally needed to split up a MIDI file into individual notes (by default it merges similar note pitches). I think this will be just the thing.

well, currently I have about half of this synthesiser completely reconstructed using chops …

http://www.propellerheads.se/products/reason/index.cfm?fuseaction=get_article&article=closeupsubtractor [propellerheads.se]

being a former audio engineer, I think it's amazing how powerful chops is for audio … when did these features come into maturity??

I don't think these features are used enough, I can tell from the documentation. Of course issues like these will stop it from being even close to as fast as Reason's synth but the advantage is that sound can be triggered with any number of things in a 3D program such as impacts, particles, composite effects, etc
malexander
being a former audio engineer, I think it's amazing how powerful chops is for audio … when did these features come into maturity??

Houdini 3.0, for the most part. Since then, CHOPs has been incrementally updated for character and dynamics, but audio processing has remained pretty much the same (not a huge demand for improvement). The last thing added was the 3D spatial audio stuff (sound/mic objects, SpatialAudio & Acoustic CHOPs), which still works but has developed a few bugs over the years (object occlusion doesn't work as well as it used to).

Anyways, glad you're having fun with it
andrewlowell
I thought it would have been some time ago.

I've already gotten the microphones to work but haven't tried the occlusion stuff yet. Actually I think I found a bug where the “sound” object will only read a chop in from the chops part of the program and not from a chops network in other context.

what was the origional purpose of microphones? If it was sound I'd assume the reason they aren't used much is because in a film pipeline they are totally different departments, and also since dedicated audio software is much more efficient for folley.

I'm thinking more along the lines of using the microphones linked to characters to do crowd simulation, and characters inherenting motion and reacting from each-other via chops.

I do think they'll be great for all kinds of creative sound/music ideas though and I've demo'd Boomer labs with 3ds Max and Houdini's recording features are far superior.
andrewlowell
ok, so the voice split is doing just about everything I need this particular function to do … the problem is that I'm not sure how I could get the channels go shift back to their origional position once I've applied my various functions.

one of the problems I'm having is that the data isn't necessarily coming from one channel but they are all getting assigned similar names and I can't access local variables it seems when assigning output names. It would be great if there was some way to name the output channels based on the index that they were extracted from
andrewlowell
ok got it, the $C on the shift saved the day.
andrewlowell
got the microphone inheritance idea to work, it's actually very efficient and easy to set up, adding occlusion objects could also be very useful

so, here's a way microphones can be used for things other than audio (so keep them current please

http://www.andrew-lowell-productions.com/andrew-lowell-productions/download/05_microphoneRecordMotionIntensity.mov [andrew-lowell-productions.com]
andrewlowell
Many thanks to whoever fixed the “sound object's” ability to now read in CHOPs from other chop networks not contained within /ch !!!!!!

in H9
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB