Tiar / SmashedTransistors Contributions


#143

Tip about phase modulation

see example menu: Help -> Library -> Community -> tiar ->gain -> DCA_used_for_PM


One issue with phase modulation happens when using fast envelops on the modulator.
That causes glitches because of discontinuities of the phase.

The tiar/gain/DCA objects differs from other VCA and amplifiers. It effectively update its gain when the incoming signal is near zero. This avoids the glitchs while keeping the sharpness of the attack.


#144

tiar/osc/noisin

see the help patch to get an idea: menu: Help -> Library -> Community -> tiar -> osc -> noisin.

This object generates a noisy sine wave, i.e. a band of noise.
The noise depth can be controlled by noise inlet and param
The module includes a DCA controlled by amp inlet and param

Technically, the effect is caused by random frequency modulation. The trick is that this modulation only occurs when the derivative of the sine wave is near zero, this way, the bandwidth can be controlled.


#145

Thumbs up. Very interesting :slight_smile:


#146

I like that. I’ve always liked synth sounds with a lot of noise in them, and this is a good example.

Nice work!

a|x


#148

great objects!

really easy to setup thanks heaps for this!

any chance there could be a scope only mode? so the scope would display on all four lines without a title? we could have mode==2 do this :slight_smile:


#149

That's a good idea.
I do not have Axoloti+OLED fitted at the moment.
But I will make a few mini stackable expanders based on the Axoloti in the next months that will have OLED + 4 pots.
I will be able to add this feature by then.


#150

great, thanks! hmm, i looked at your font file, nicely done! it made me think. maybe i'll roll my own with "graphic parts", lines, edges, solid filled, all empty, half full etc. that way one could draw simple stuff on the oled.

or asked in a different context, how hard would it be to write an object that reads an array of:

64x32 bits ( to display a "picture" (or a file with predefined arrays that can be selected via an inlet) based on your earlier comments a 128x64 array seems not doable, right? (without adding double buffering and cpu increase)

the array would be two dimensional, 4 bytes in height, 8bytes in depth (turned 90 degrees as your letters are)
or read a one dimensional array like this:
byte, byte, byte, byte <- first two columns of display (spanning all height)
byte, byte, byte, byte <- second columns
etc. you get the idea.

would be great to display simple graphic stuff like this.


#151

I'm really having fun with the display these days, but I do find myself tangled in the strings a bit.
As the OLED screen is limited to 11 caracters, it would be great to have some kind of scrolling string object, as illustrated in this next image.

Otherwise I've made a big measure counter using ascii art type of display on all 4 lines (it works well and looks not too bad).But I've never used so many mux and demux objects since having this screen :slight_smile:


#152

I wanted to make something very simple and low on RAM and CPU.
I don't think it is worth the effort to make something more complicated with such low resolution display with two-state-pixels (no graphic anti aliasing possible).

But you can give it a try.
The basic organisation of the display is 8 horizontal pages, each page being a band of 8x128 pixels.
In my code, I calculate the contents for the pages on the fly, thus, I avoid double buffering and save SRAM.


#153

That's a nice idea,
I think that it could be possible to do this.
I'm not experimenting with OLED displays these days, but i will come back to this topic next month.


#154

noise/cymb

see: menu: Help -> Library -> Community -> tiar -> noise -> cymb

A noise source useful in generating cymbal type of sounds.

(A rising edge on the boolean input changes the "seed" of the generator, it helps simulating hitting a cymbal on different places).

Generating cymbal like sounds is something quite challenging.
I fond a few papers in Sound on Sound about the topic:
https://www.soundonsound.com/techniques/practical-cymbal-synthesis
https://www.soundonsound.com/techniques/synthesizing-realistic-cymbals

I experimented quite a lot with these, but i was not convinced by the result i obtained.

Thus i listened to cymbal sounds and looked at sonograms to find what characteristics i wanted for a noise source.

  • lots of spectrals peaks and notches
  • beatings and pseudo random variations of the amplitude of the peaks
  • slow evolving position of peaks

To obtain these characteristics with low memory (no samples) and low CPU (no "physical" modelling),
cymbal uses 4 congruential pseudo random generators.

  • These pseudo random generators are used as complex waveform generators so, it is spectrally rich with lots of peaks and notches.
  • each pseudo random generators is reset with a different period (that produces beatings).
  • the reset value slowly changes with time, this makes the sound evolve with time
  • the 4 pseudo random generators are doubled with twin generators offset by half a period, this trick enforces the spectral peaks and notches.

Note that it is a noise generator, it can be used with dynamic filters and other objects to synthesize convincing cymbal - or other - sounds.


#155

You can try
menu: Help -> Library -> Community -> tiar -> string -> scroll


CaptainBurek Contributions
#156

noise/pink9octs

see: menu: Help -> Library -> Community -> tiar -> noise -> pink9octs

A low CPU pink noise generator.


#157

noise/forbac

see: menu: Help -> Library -> Community -> tiar -> noise -> forbac

This is a colored noise generator capable of some comb filter like sounds with low CPU and RAM.

It is based on a congruential pseudo random generator (overflow is not a flaw in this case)

r = r * 69069 + 1     (r being a 32 bit integer)

which can be reversed with a little bit of old black magic (also known as modular linear algebra)

r = (r - 1) * -1511872763

with these formulas it is possible to go forward and backward in the pseudo random sequence. (hence the name).
By doing so and by inverting some polarities it is possible to render sort of comb filtering effects.


#158

tiar/oscBnk/paraOpt and Osc_Bnk_I

see: menu: Help -> Library -> Community -> tiar -> osc -> Osc_Bnk_I and paraOpt

These are optimized oscillator banks to simulate String Machines

paraOpt is optimized with octave doubling, no LFO inputs and octave phase locked oscillators (to replicate specificities from some eminent strings).

Osc_Bnk_I help patch has been updated.


#159

tiar/PIT/oscLight and tiar/PIT/oscLightTri

Low CPU oscillators based on "pre integrated table" aliasing limiting.

oscLight is a low CPU oscillator.
oscLightTri contains three slightly detuned oscillators.

See the test patches in
menu: Help -> Library -> Community -> tiar -> PIT
oscLight
oscLightTri
oscLightTriPoly : an example of bright and smooth polyphonic synth :cake:

[edit] moved to tiar/PIT


#160

tiar/oscBnk/DyadBLI

just try menu: Help -> Library -> Community -> tiar -> oscBnk -> DyadBLI

This is a string machine object based on dyadic trains of band limited impulses.
High quality anti aliasing and 96 note polyphony.


Streichfett Exposed (Adults Only)
#161

tiar/filter/string1

see Help -> Library -> Community -> tiar -> filter -> string1

a low CPU multitap filter that can be used to add a stringy touch to a sawtooth.


This is based on sparse FIR filters.
These filters consists in a short multitap delay line.
Delayed signals are added and substracted to generate the output.
If the tap positions are genuinely chosen, the spectral response of the filter can be quite interesting.

Here is preset 6 (inpulse response and spectral response 0 to 24kHz):


#162

tiar/oscBnk/BLITstringFilter

96 note polyphony at 22%CPU
multitap filter of the BLITs before the integration solves many integration issues (drifting).
But it sounds more "hollow" than DyadBLI.

[update]
3 different objects that differ by

  • Improved output sparse FIR filters
  • octave impulse scheduling
  • LFO dispatch on notes

#163

Patch: "384"

File -> Library -> community -> tiar -> strings -> 384
Bright paraphonic synth... 384 oscillators for a single filter.