TheTechnobear contributions


#17

no... I mean if you have a wavetable consisting of 128 waves each of 2048 samples, then when you use dynamic loading, then each file you specify has to be 128 x 2048. i.e. the 'structure' of the wavetable is the same.

theres a lot of bit shifting going on, and having some things constant improves efficiency... i suppose I could have variations which sacrificed efficiency for flexibility, so you could specify these things dynamically...

though there would be an interesting question about how the patch would know. I guess
one possibility would be a file naming convention (i think serum (?) does this) e.g. SINSAW_128_2048 = 128 waves of 2048 samples. (wouldn't help efficiency, but could be cool for just selecting files at runtime)


#18

Cool. I all ready converted a bunch to 128X2048 so that is great :slight_smile: Look forward to try the objects out later in the afternoon.

ABout the filenaming, when using the index object you have to follow certain rules. And that is fine with me and works perfectly. My WT's are called 128W001 128W002 etc. Then it is easier to switch between them with index object. Or else you have to make the patch unlive and write the new name of the new WT into the load objects and make the patch live again. That is just too complicated and destroys workflow.

To me it works perfectly when using indexing object. thanks again for implementing it on this object :slight_smile:


#19

Hey @thetechnobear :slight_smile:

I was playing around a bit with the wavetable play object you made.

It is pretty great. Thank you for it :slight_smile:

I was just looking at the code, because I am trying to add a reset phase function. This is good for bass sounds, for example.

But the code in sample rate looks alot different than from a regular phasor with reset and I didnt succed.

Is adding a reset inlet for the wavetable play object something you would consider implementing? Or a sync input maybe? Both can be used for resetting.

Jaffa

**EDIT: **
Actually I think I managed to get it working on my own now :slight_smile: I need to test it a bit further before posting it.


#20

I don't think there anything to it - just set the phase to zero.
the only 'oddity' I would expect, is audio glitches if you are also modulating the table.
(i usually only move to the next wave at the beginning of cycles, so that we can do it thru zero)

not got time this evening, but will take a look later


#21

As I mentioned I think I got it working :slight_smile:

I copied the code from a phasor with reset inlet. When reset inlet is triggered by the same source as the gate it is pretty much click free. Also way more consistent. And that is all I was looking for, consistency.

BTW you mention set the phase to zero. There is no phase button on the object. So not sure what to do here

@Sputnki @thetechnobear Here is the version I have now
wt play rst.axo (4.0 KB)


Jaffasplaffas contributions
#22

Maybe a k-rate retrigger would be more suitable, while a s-rate sync could be done directly inside the object (making it more easily alias-free)


#23

@Sputnki

Take a look at the one I have and tell me what you think. I think it works pretty well :slight_smile:


#24

I don't have my axoloti with me, so i can't test it, however i meant a reset inlet just like that, bravo!

I guess the sync implementation would be trickier, seeing all the effort johannes has put into bandlimiting the osc/saw sync object. I wonder if that could be ported from an object to another (i guess no, but who knows)


#25

Yeah sync might be trickier. Anyway, I am pretty sure it works. I tested it next to another wt osc and it seems to do the trick :slight_smile:

About the porting, I ave no idea. I am still very new at the coding. Just starting to get a hang of some of it.


#26

tb/seq/polyseq

Description: a set of objects for a polyphonic, polymetric, polyrhythmic step sequencer.

this was created as a seed for the Fellowship of Axo challenge

Version: 1.0.12

polyseq/polyseq - main sequencer with clock input
here we set the maximum number of tracks we want, and the maximum steps each track can have (we can use less by setting the number of steps on the track , see polyseq/write), and the number of values store per step.
(all values are 32bit int, but how you decode/encode them is up to you :wink:)

clock, its expected that you'll run the clock fast, as its going to be sub-divided by each track, according to the clock division. e.g you could run at 24ppqn , then put a clock division of 24 on a track , to get quarter notes. via polyseq/write

polyseq/write - allows track configuration (steps and clock division) and also to change step values
I know looks complicated, but its not :slight_smile:

simple cases:
a) change track parameters (most likely you'll want this)
feed a value into trkIdx to select the track
feed trkSteps the new number of steps for the track, and trkClkDivs the number of clock divisions (of the main clock)
THEN set the values by sending a pulse into trkSet.
(trkSteps must be less than maxSteps on the main polyseq/polyseq object)

b) changing step values
feed a value into trkIdx/stepIdx/valueIdx to select the track, step and value you wish to change
feed into stepValue the new value THEN set the values by sending a pulse into stepSet.
(simpler is to use polyseq/notectrl, see below)

note: when you change trkIdx, stepIdx or valueIdx the current values are sent out of the outlets, useful if for developing 'control interfaces'.

polyseq/track - outputs the tracks current step and a trig each time it changes, use to drive polyseq/read and/or polyseq/note

polyseq/read - returns the value for a given step (fed from polyseq/track)
(simpler is to use polyseq/note, see below)

polyseq/notectrl - allows users to enter note date for a step, use polyseq/note for playback

Note: polyseq/polyseq must be set to have at least 5 values.

polyseq/note - returns note data for a given step (fed from polyseq/track), setup by polyseq/notectrl

Note: polyseq/polyseq must be set to have at least 5 values.


Fellowship of Axo - Seeds of inspiration
#27

Hi, I struggle with this object. I get the events echoed only if I trigger gate with LFO, but the record doesn´t work for me. Can you point me to what I´m doing wrong?


#28

ive been meaning to 'tidy up' this object, its not as clear as it could be, and perhaps an easier interface to use.

basically, trig = clock, and gate = run
(so its trig that needs the lfo not gate)

have you checked the help page?

you need to be sending a clock into trig (I need to rename this to clk), gate is basically the 'run' signal, so you can just keep it 'high' if you want the automation to be recorded or play.


#29

thanks, it works perfectly, i forgot about the help page :slight_smile:


#30

Sounds nice. I really like it, but having problems using cause patches with that one included often disconnects.

I am thinking it might be related tothat it show all data of the patch in the log? I remember seeing inthe midi feedback object that it should only be used for testing cause it cause disconnects,,, And this does the same, so might be related :slight_smile:


#31

I'm not getting anything in the log... what do you mean?


#32

Ahhokay maybe my version is an old one. I got it very long time ago and copied it to loca library. That might be the reason :slight_smile:


#33

where can i find the help patch mentioned in polyseq description?
(„see help patch for details“)


#34

you can find the help files in the help menu (top right of main window) then library, then community folder, then tb\seq\polyseq\polyseq.axh

or by inserting the tb/seq/polyseq/polyseq object into your patch and then clicking on the small down triangle on the top left of the object, then choosing "help". This tip works for quite a few objects


#35

hello @thetechnobear, i found a bug in your cycle ad envelope and corrected it.
the inlets for modulating attack and decay were unconnected and thus not working. here's my correction:
cyclingADmod.axo (1.5 KB)


#36

Hi @thetechnobear I´m using your polyseq modules for making a Hardware Sequencer inspired on Moog Subharmonicon. I would like to control pitch and velocity of Note Contro modulel.
How could I put an inlet to put an external control of pitch and velocity? I know how to do it when I can see inside the module, but I can´t in your modules.