OTO BISCUIT - rebuild in axoloti


#9

Yes, and perhaps samplehold object with an osc/phasor in input for sample rate reduction.
For muted and inverted bits, I wrote an object last night.
I have a complete patch with bit depth reduction, sample rate reduction, muted bits and inverted bits, and 3 filters.
But my patch does not sound like the video...Blame my bitwises manipulations or filters ?

I post my patch tonight if I have time.


#10

sounds excellent, have you considered posting the subpatch in the community library?


#11

:smile:
Yes, but actually it's a draft. I would like to have your opinion before.
I have some patches for the community library, ..., but I have to write documentation before posting, ... if I have time.


#12

great, let me know if you want help testing, would be happy to lend a hand


#13

My draft... I'm not satisfied with the result. I can't understand why the sound is so different from the video. An idea ?

biscuitage.axo (827 Bytes)

GaoQuantize.axo (1.4 KB)

biscuitage.axh (15.0 KB)


#14

Serious candidate for this month Challenge :wink: !!! ??


#15

Yes, but after finding my problem ! :smile:
First, I apply bitwise operation on signed signal... I think it's not a good idea.
I must apply an offset in order to obtain a unsigned signal, apply bitwise operation, then apply an opposite offset to obtain signed signal.
But I must be careful when applying offsets, in order to avoid DC offset... (all bits muted, not produce Γ  0 signal after applying the last offset).
Work in progress...


#16

excited to give this a try!


#17

DC offset is corrected !
Here new patchs, not a OTO biscuit emulation but a patch with sample rate reduction and bitwise operations.

biscuitage.axo (859 Bytes)

biscuitage_demo.axp (7.4 KB)

biscuitage_demo2.axp (6.3 KB)


#18

Oops, some bugs and noises on biscuitage.axo.
Here a new version : one object for muted bits and another one for reversed bits.

biscuitage_m.axo (1.1 KB)
biscuitage_m.axh (5.5 KB)
biscuitage_r.axo (1.1 KB)
biscuitage_r.axh (5.5 KB)
BitCrusher.axp (4.0 KB)

BitCrusher.axp is the patch used for audio example.

With this object it's possible to clone a part of OTO Biscuit.
Note : Objects control signal input, for change bits depth or sample rate with lfo, envelope, etc.


#19

digging this so far, using it in a new patch and controlling the muted/inversed bits with an envelope, pretty interesting results!


#20

Really cool, you should definitely partecipate this month's competition!


#21

Yes, it's planned ! I have to explain how objects work before.
Thank you for your answer.


#22

any ideas relating to how to have the bit rate as a parameter rather than an attribute?


#23

Could you not just copy the sign bit before applying bitwise operations, then replace the sign bit as it was?

There's a useful post in this thread


showing how to do various operations on individual bits. I'm not sure if the sign bit is at position 0 or 31 (should be easy enough to find out though).

Just a thought.

a|x


#24

Be careful, the most significant bit (position 31) is the sign bit, but if it's set (negative), it extends...

decimal -1 is binary 1111111111111111
decimal  0 is binary 0000000000000000
decimal  1 is binary 0000000000000001

This is "two's complement", and is used (nearly) everywhere to represent negative integers.


#25

Ah, so bitwise operations would operate differently on the positive and negative halves of the waveform.

Will have to have another few read-throughs of that linked page. Not getting it, at the moment..

a|x


#26

Just got my Axoloti and a bitcrusher was the first use I thought to patch up.

Seeing the quantize object couldn't be adjusted in real time I've patched 12 instances via a couple of mux's to give 1 to 12 bit depth. Also added a crossfade to blend between the original signal and bitcrushed version.

Waiting on some stereo splitters before I can use it as an effect, so the patch has a sine generator as source for now.

The patch could be tidier with a 12 input mux. Not been able to get that working yet. I get an error possibly down to [buffer_index] being lower than the number of inlets I've made.


#27

Dude this is awesome!! How have I not seen this before. Great work!!


#28

Got my stereo splitters so I've been testing this out as an insert effect.

I've found using the usb power gives major noise issues once you go below 8 bit. Using the dc power jack this is solved,only issue I've found is a kind of "ghost note" sounds once there is no audio at the input. Bit like a 1 second delay but only applies to the last sound. Again this only appears below 8 bit.

Using the logic/decode/bin 8 object routed to 4 leds to give a display of the bit depth in binary is a nice addition.

I'm getting phasing artifacts when using the crossfade between dry and processed signal. Going to try and reduce this by introducing a delay to the dry signal.