Creating Compound Textures?

Started by mesayre, November 18, 2016, 07:53:16 PM

Previous topic - Next topic

mesayre

Hey all,
   I'm working on a piece that makes quite a bit of use of CDP's texture programs.

   I would like to create a texture that alternatives between different motifs, and still allows all the various parameters that are part of the TMOTIFS program.

   At the moment, the best way I can think of to do this is to assemble each of the motifs on their own, then combine them using one of the texture programs. But this sacrifices some flexibility. For instance, I would like to repeat the motif at higher and lower pitches without necessarily changing its duration. This is possible with TMOTIFS but wouldn't be if I used a pre-made motif and pitched-shifted it.

   I suppose the other method is to create two separate audio files and mix them. That's probably what I'll do for now, but it's not ideal.

Perhaps I'm missing something here. Is there a way to do this that I'm not seeing?

loganmcbroom

#1
I don't know of any way to do this entirely within the notedata file, although I don't claim to be an expert. (Self plug warning) You could try using my front-end for this if you're on windows, it was designed for more in depth programmatic tasks. It's hard to say exactly how without knowing exactly what you're looking to do, but either of the methods you mention would be well suited to it. Here is an example script for mixing tmotif textures:


--Utility for getting single channel from stereo input
getmetatable('').__index = function( str, i ) return housekeep_chans( 1, i, str ) end

ndbase = "60\
#4\
0 1 0 0 0\
1 1 0 0 0\
2 1 0 0 0\
3 1 0 0 0\
"
nd1 = ndbase .. "#6\
0.000 1 63 70 0.4\
0.167 1 62 65 0.3\
0.334 1 60 60 0.3\
0.500 1 62 65 0.4\
0.667 1 60 60 0.3\
0.834 1 59 55 0.3\
"
nd2 = ndbase .. "#6\
0.000 1 59 70 0.4\
0.167 1 60 65 0.3\
0.334 1 62 60 0.3\
0.500 1 60 65 0.4\
0.667 1 62 60 0.3\
0.834 1 63 55 0.3\
"

return
modify_loudness( 4, "-l.7",
submix_merge( "-s8",
texture_tmotifs( 5, {altar_text(nd1,nd2)}, 6, 1,
1, 1,
60, 60,
60, 84,
0, 0, 1, 0, 2,
1, 1,
f[1][1] )))


You could also write functions to generate the notedata strings. If you want more details I'll post more info. It's worth noting that it generates those textures in parallel, so it's especially fast in this kind of application.

mesayre

Thanks for the response.

I ended up just simplifying my idea and using one motif at different pitches - I found I was able to get the musical effect I wanted using Texture Ornate, looping through a set of only two pitches, which gave me the alternation I was seeking (same interval sequence, but transposed).

Perhaps your front end would be helpful in a situation like this, as the chief difficulty in creating multiple textures and mixing them would be coordinating the breakpoint files so they line up as intended. Handling this inside another program would take care of that.

This is Lua, right? Is there a place where I can find documentation/setup instructions for that front end? I admit I'm a total Lua noob. Perhaps I'll give it a try down the road.

Thanks

loganmcbroom

Kind of, I have a readme that I think is reasonable in here along with the newest version. And yes it is Lua, it's a fantastic language for this application.

https://drive.google.com/file/d/0BxzJlrC6KHmxaEJDcFNKZ0N0RVU/view?usp=sharing