SirSickSik Contributions


#462

NEW MODULE

EDRUM

"DR1"

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Can make anything from basskick, snare, hihat, cymbal etc..
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.


#463

Hmm. Cant seem to find your new HQ sample modules? Did an update. Restarted and re-updated. Still nothing. Could you doublecheck please? And thanks for the demo projects!!
:slight_smile:


#464

same as before, they can be found on github, as I've STILL not updated.. LOL


#465

Ah! Sorry! Last time I wrote that, I was referring to the old non HQ version that I couldn't find:) but now I can find them. Now I just need your new hi fi amazingness version!:wink:
Thanks!


#466

Downloaded the objects and placed them in my objects folder, and got a couple of these types of errors. Am i doing something wrong?
Thanks:)

Error reading object, try relaxed mode /Users/TRJ/Documents/axoloti/axoloti-contrib/objects/sss/table/samplerPlayerHQ.axo
java.lang.ClassNotFoundException: is-copy-enabled emoji-size-boost
java.lang.ClassNotFoundException: is-copy-enabled emoji-size-boost
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.simpleframework.xml.strategy.Loader.load(Loader.java:50)
at org.simpleframework.xml.strategy.TreeStrategy.readValue(TreeStrategy.java:163)
at org.simpleframework.xml.strategy.TreeStrategy.read(TreeStrategy.java:102)
at org.simpleframework.xml.core.Source.getOverride(Source.java:360)
at org.simpleframework.xml.core.Factory.getConversion(Factory.java:207)
at org.simpleframework.xml.core.Factory.getOverride(Factory.java:139)
at org.simpleframework.xml.core.ObjectFactory.getInstance(ObjectFactory.java:63)
at org.simpleframework.xml.core.Composite.read(Composite.java:139)
at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
at org.simpleframework.xml.core.Persister.read(Persister.java:625)
at org.simpleframework.xml.core.Persister.read(Persister.java:606)
at org.simpleframework.xml.core.Persister.read(Persister.java:584)
at org.simpleframework.xml.core.Persister.read(Persister.java:543)
at org.simpleframework.xml.core.Persister.read(Persister.java:521)
at axoloti.object.AxoObjects.LoadAxoObjectsFromFolder(AxoObjects.java:249)
at axoloti.object.AxoObjects.LoadAxoObjectsFromFolder(AxoObjects.java:214)
at axoloti.object.AxoObjects.LoadAxoObjectsFromFolder(AxoObjects.java:214)
at axoloti.object.AxoObjects.LoadAxoObjects(AxoObjects.java:306)
at axoloti.object.AxoObjects$2.run(AxoObjects.java:351)
at java.lang.Thread.run(Thread.java:745)


#467

you dont need to copy it... @johannes did a merge yesterday.

please can I strongly advise people NOT to start copying things from github into there local libraries.
this is not how the community library is intended to work, and can cause spurious errors, especially if objects are later updated..

if you want these objects you should wait until we merge them... if you want them quicker, then you should try to convince @SirSickSik to move to 1.0.11, as I have kindly asked him to do for months now.

Im a bit confused really, seems a case of one off small effort by @SirSickSik , against repeated effort by @johannes or I ( to keep merging the branches) and users copying files around...

fyi, unfortunately this merge cant be done automatically, as it it fails, it could potentially leave 1.0.11 in a 'bad state', which would then affect all users on the released version (1.0.11), so this is not really an option.

does raise the question of what we do with upgrades though, if some users can't move away from test versions, what do I do when we have 1.0.11 to 1.0.12? where its entirely reasonable for someone to stay on 1.0.11 as its released.

EDIT: oops, sorry a bit off-topic, we should probably discuss this elsewhere, when we get close to 1.0.12


#468

yeah sorry, I'm lazy about the update.. I'll try to get myself to update before starting any new project. Though, got to work now

I've made one last module then (just syncronised) on the old version:

NEW MODULE

DISP

"scopeRG"
scope with rate control and gain (it's a pain in the ears to get a full wave in the native scope)


#469

I think 1.0.11 is just as stabile as 1.010. There is not much difference. Dont be scared :wink: I am usually a bit slow on the updates but this one worked fine for me. I had a few patched made in 1.0.09 and updated to 1.0.10 and 1.0.11 that dont work. Very few. But from 1.0.10 to 1.0.11 I dont see any problems.


#470

ok, Ive done a merge with this change in it... so now would be a good time to move :wink:


#471

I did the update. everything seems to went well :slight_smile:


#472

THUMBS UP :wink: 20 characters


#473

MODULE UPDATE

OSC

"guitarTable" and "guitarTableOsc"

I broke up the guitarOsc into 3 seperate parts, instead of 2.
Now my monophonic table allocator should be used to store the guitar-waveform. This allows different "waveformcreator" modules to write to the same table (planning on making a flute too).

You can now set your own size of the waveform,even being able to create a huge table for a "perfect" waveform.

The guitar table "creator" now also has a subdivision to create harmonic overtones with a stepsize smaller then the root frequency.
The modulatable controls on the oscillator module now have linear interpolation to reduce distortion while modulating.


#474

NEW MODULE

ENV

"syncEnv"

ADSR envelope generator with tempo-synced attack, decay and release times.
Connect the clock to the sync input and trigger the envelope with the gate input.
Division makes the time segments shorter by dividing the "beat-length".
The A, D and R controls then multiply the time by whole integers, creating slower slopes based on the sync tempo.


#475

NEW MODULE

PATT

"rndWeightNote"

Weighted random note generator
2 modes:
-random: randomly chosen with each trigger at the trigger input.
-repeating: the incoming count selects notes from a randomised table.

-for each note in the octave you can set the weighted chance that this note-value will show up at the random outputs.
-if a chance-control is zero, the note will not be selected by the randomiser.
-if only one chance-control is above zero, only this note will be played.
-if more then 1 note is above zero, the ratio between the controls will be the weight of the chance of these notes being played.
-8 of these chance-tables can be made (eg. one for each chordmode plus one extra)

inputs:
-trig: updates the "random" output to a new random value depending on the random-weight of each note.
-rnd: randomises the internal tables (set length with "maxlength" attribute and the amount of tables with the "maxpatterns" attribute).
-count: connect a counter or pattern generator to step through the randomised table. Count will be wrapped when above "length".
-length: set the maximum value till where the incoming count/pattern-output will come. Maximum is "maxlength" attribute.
-maxOct: sets the maximum octave which the randomised or repeating note outputs can reach.
-minOct: sets the minimum octave which the randomised or repeating note outputs can reach.
(to cover only octave "zero", set both to 0)
-pattern: selects one of the randomised patterns to use for the "repeating" output.
-chancepatt: selects which chance-pattern is used to select the chance of each note to be selected by the random values.

CHANCE PRESETS:
-save: press save to save the chance-table to a file on your SD-card (set filename using a filename module->string folder)
-load: press load to load a chance-table from your SD-card
-filename: set the filename you want the chance-tables to be saved to/loaded from.


#476

NEW MODULE

TIMER

"SyncPulse"
Generates a single pulse after a rising edge on trigger input.
The pulse-length depends on the time in-between triggers, so it's a tempo-synced pulse-length.
The length-control sets the amount of the time in-between triggers that the pulse will be high.


#477

NEW MODULE

FILTER

"LPos"
a 2x linear oversampled 12dB filter with resonance.
2 modes for the resonance:
-normal (loads of saturated-resonance!)
-resonance is first ringmodulated with itself, which creates a kind of "octaver" effect-> a sine multiplied with itself will create a new sine one octave higher.
in the resonance loop an extra HP filter is added to remove the DC-offset of the ringmod and to create the resonance in the first place..
So although it's a single module, in fact it has 5 filters inside..


#478

NEW MODULES

TABLE

"primeCreate"
creates a file on your SDcard containing the first 1024 primes.
It will save a file to the root folder-> 0:/1024primes.tab
This module only needs to be used once, after this the file will be on your SDcard for future use!
So just load it into a patch, press play and the file is created. After this you won't need to use this module again.

"primes"
Loads the 1024primes.tab file on your SDcard into the SDRAM memory to be used by the reader module.

"primeRead"
selects a prime from the "primes" allocation module.
As this is a seperate module, you only need to have one allocation module and have multiple prime-selectors.


#479

NEW MODULES

FILTER

"combinor"
2 combfilters combined with a differential LP/HP filter.
used to mix 4 different signals, 2 for low frequencies and 2 for high frequencies. Due to use of differential subtractions of the filters from the original inputs, each input will fill up different parts of the audio spectrum.

combfilter 1 has input 1 and 2 as inputs, but input 2 is subtracted, creating a positive combfilter response for input 1 while having a negative combfilter response for input 2. (when the volume of one's peaks is high, the other's peaks will be low).
The same is done for combfilter 2, but this uses input 3 and 4. Here, 4 will be the negative combfilter response.

The two combfilters are then fed to a Lowpass filter after which the 2nd combfilter will be subtracted to get a HP response for this channel. So the 1st combfilter only has the low part of the spectrum and the 2nd combfilter will be in the high part spectrum.

The combfilter frequencies are controlled with "pitch1" and "pitch2" respectively
The LP/HP filter cutoff frequency is controlled with "cut"

Both the combfilters as well as the filter have feedback control:

-The feedback of the combfilters is controlled with feed1 and feed2 respecively.

The filter resonance can be added to two positions:
-before the combfilter, creating lots of resonance and weird harmonic-shifting behavior->res1 control
-after the combfilter, back into the filter itself-> res2 control

MUX

"smthRotator4A"
audio version of the smooth rotator for 4 audio-input and -output channels.


#480

if anyone needs to know a source for functions to use when coding:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/BABFFEJF.html


#481

NEW MODULES

DIST

"Ssquare"
is a variation on the "expCurveA" module, producing 2 s-curves: one for the positive range and one for the negative range by using the audio input as a modulation for the exponential-control.

"saturator" and "saturatorSt"
mono and stereo distortion modules for soft-squaring signals.

FILTER

"endBand"
stereo filter module with both lowpass and highpass filters with independent cutoff controls.
Bands that are excluded from the output can be mixed back using the "lowshelf" and "highshelf" controls, to create a softer slope.