Few questions from a newbie
-
@ScreamingWaves I'd take the time to improve the file naming, that way the auto-mapping will be super quick. I'd also put each drum type in a separate sampler.
Example file name structure:
drumType_micPosition_lowVelocity_highVelocity.wav
Or if you want HISE to automatically calculate the low/high velocity for you, just put a single value for the velocity level starting at 1.
For example:
snare_mic1_vel1.wav
,snare_mic1_vel2.wav
,snare_mic1_vel3.wav
But at this stage I wouldn't even think about mic positions. Just play around with two different drum types in two different samplers for now, with a few velocities and 1 mic.
-
I watched your multimic sampler tutorial and followed every step and i made the first scripts in the project, thank you so much!
then i added another sampler for the snare, i thought it would work just by adding the reference to the new sampler but it didn't. so i copied all the previous scripts changing the name of the sampler but now no purge button is responding. what did i do wrong?
KICK sampler has 3 channels, snare just 2Content.makeFrontInterface(1200, 800);
//Get sampler
const var smpKickin = Synth.getChildSynth("smpKickin");//Purge button
const var btnPurge = [];for (i = 0; i < 3; i++)
{
btnPurge[i] = Content.getComponent("btnPurge" + i);
btnPurge[i].setControlCallback(purgeMicPosition);
}inline function purgeMicPosition(component, value)
{
local idx = btnPurge.indexOf(component);local micName = smpKickin.asSampler().getMicPositionName(idx); smpKickin.asSampler().purgeMicPosition(micName, value); local idx = btnPurge.indexOf(component);
}
//Get sampler
const var smpSnare = Synth.getChildSynth("smpSnare");for (i = 0; i < 2; i++)
{
btnPurge[i] = Content.getComponent("btnPurge" + i);
btnPurge[i].setControlCallback(purgeMicPosition);
}inline function purgeMicPosition(component, value)
{
local idx = btnPurge.indexOf(component);local micName = smpSnare.asSampler().getMicPositionName(idx); smpSnare.asSampler().purgeMicPosition(micName, value); local idx = btnPurge.indexOf(component); Console.print(idx);
}
-
@ScreamingWaves Can you wrap all that code in code tags so it's easier to follow? This button
-
This post is deleted! -
@d-healey Content.makeFrontInterface(1200, 800); //Get sampler const var smpKickin = Synth.getChildSynth("smpKickin"); const var smpSnare = Synth.getChildSynth("smpSnare"); //Purge button const var btnPurge = []; for (i = 0; i < 3; i++) { btnPurge[i] = Content.getComponent("btnPurge" + i); btnPurge[i].setControlCallback(purgeMicPosition); } inline function purgeMicPosition(component, value) { local idx = btnPurge.indexOf(component); local micName = smpKickin.asSampler().getMicPositionName(idx); smpKickin.asSampler().purgeMicPosition(micName, value); local idx = btnPurge.indexOf(component); } for (i = 3; i < 2; i++) { btnPurge[i] = Content.getComponent("btnPurge" + i); btnPurge[i].setControlCallback(purgeMicPosition); } inline function purgeMicPosition(component, value) { local idx = btnPurge.indexOf(component); local micName = smpSnare.asSampler().getMicPositionName(idx); smpSnare.asSampler().purgeMicPosition(micName, value); local idx = btnPurge.indexOf(component); }
-
@ScreamingWaves As always I would suggest starting simpler. A mic mixer is quite complicated and if you are trying to modify code to do something it wasn't designed to do, you really need to understand it well.
That said, here are some pointers to get you started. You can't have two functions or two variables with the same name in the same scope. Uniqueness is very important in programming.
For example you have two functions both called
purgeMicPosition
, and within them you have two variables calledidx
.Check out my scripting 101 video, it will give you a quick overview of some of these kinds of things. Also in the HISE documentation there is a link to a Javascript beginner's course which will help.
-
Hi! i watched your 101 scripting in hise video, some js tutorials and i finally understand something about scripting and so i was finally able to program all the purge buttons!
I added more gain, pan, saturation and compression knobs, peak meters and all is working fine so far!
now I'm wondering: is there a way to split the output channels of the plugin and use some as mono and some as stereo?
-
@ScreamingWaves Can you tell me more about what the goal is?
-
if that's possible i'd like to send the kick, snare, tom, floor, wurst mic, hihat, ride and crashes to their own mono outputs and save the left over outputs lfor stereo room and OH, so when the end user will convert the virtual instrument to audio tracks they will have all the tracks separated.
If that is not possible i can route the cymbals close mics to the overhead output to blend in, but the first option would be more flexible
-
@ScreamingWaves All outputs from HISE are stereo pairs, so I don't think you can have true mono outputs. You'd need to use individual left and rights of a stereo out.
The routing is pretty straight forward, didn't I demonstrate this in one of the mic mixer videos? - I haven't seen them in a while so can't recall.
-
yes the routing is easy. but it theres no way to use individual channels to then pan them mono, that's why i asked if maybe it was possible to split them with scripts. if not it's not a big deal.
Thank you so much for your replies! -
@ScreamingWaves You can use simple gain modules (or a script FX) to pan a stereo signal to one side.
-
i tried that, but the signal will be either left or right if the outputs are designed to be stereo. It would be an option (for the end user) to print into audio and then split L &R to have 2 mono channels. did you mean that?
-
@ScreamingWaves I'm not following. If it's a mono signal then it cannot be panned, it's only going to come out of one side. I think I'm missing something simple.
-
you meant to send for example kick to out 1, and snare to out 2, right? doing that i use 2 outputs instead of 4, and i could save some outs the cymbals. But the outputs of the plugin are designed to be stereo, so when the user will bounce the tracks on the daw, he will get anyway out 1 and 2 as stereo track that can be split and panned in the center in a daw it's a workaround, but not so practical
-
@ScreamingWaves Ah I see what you're saying. Yes from the user's pov they'll get a single stereo track with different drums on each channel. If it was me I would just use stereo outs for everything.