eh2k / squares-and-circles

squares-and-circles is an alternate firmware for the Eurorack module O_C, targeting Teensy 4.

Home Page:https://eh2k.github.io/□●/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BETA TEST - FEEDBACK

eh2k opened this issue · comments

commented

WORK-IN-PROGRESS: At the moment where are not all engines in this repo. Feel free to leave me a message / feedback or any hints in this issue. More engines will follow.

HINT:

If the POGO Pin is soldered - cover the bottom of the teensy with insulating tape - all other pins are compatible with T4 to T3 (see pjrc). Be careful with connecting USB and power at the same time - if you have VIN/VUSB connected.

POGO Pin: https://www.modwiggler.com/forum/viewtopic.php?p=2867702#p2867702

FIRMWARE:

WebFlasher

Hey there! first of all, absolutely appreciate the work you've put in here! An amazing use of existing hardware and the GUI is very well thought-out, love the menu system and visualization of values.

some things I'd be very happy to see (possibly as settings or simple defines in the source-code?):

  • set long-press duration for menus
  • be able to set encoder / sw button (short-, long- and hold-)functions
commented

@modularev thank you for the first feedback. I have reduced the "long-press-duration" duration from 1s to 0.5s in the latest_firmware. At the moment I trying to avoid hardwarespecific settings in the "application" layer. The "Engine::OnEncoder" method is overridable - I think I have to introduce long-press there - e.g. for resting to defaults...

commented

Is there a way to calibrate the knobs as mine seems to be in the opposite direction? I recall in the ornament and crime this is in the calibration menu.

commented

Also, for mine ... Channel 2 CV is sequencing the v/oct of Channel 1. Also, how do you get the reverb machines to work? Do you patch the sound into one of the channel inputs?

commented

Hello @djdoz, thank you for your feedback. I have added a "hardware setup procudurce" in the latest firmware. You can change the encoder direction and test also your CV inputs there. "AUDIO_PROCESSOR" Machines like "Reverb or Resonator" are getting the audio input from the "left" neighbor machine. The output from the neighbor will be replaced, so you can have stereo output (like a Insert-FX). The CV-input can be setup-ed as "aux-input" to patch additional signal into the audio-processors.

hi, very interesting project, made me finally utilise my abandoned t4:)
I would like to ask about current/future midi implementation, having cc control over all parameters could nicely compensate the lack of jack inputs.
Also noticed that in models where is not the same amount of parameters on each side, like m-osc/resonator, you can click with the right encoder to empty space - that should probably cycle just between the 2 available.

commented

Hello @wtkdwc, thank you for your feedback. I did some midi refactoring in the latest firmware - check: https://github.com/eh2k/squares-and-circles#midi-control. Have also to fix the "empty-parameter-selection-state" - well noticed ;-).

commented

Thanks @eh2k for the quick turnaround!

One question, in the TR/CV test screen, I'm seeing the below values,
TR0 0 CV0 +0.06V
TR1 0 CV1 +0.04V
TR2 0 CV2 +0.04V
TR3 0 CV3 +0.02V

Is it possible to calibrate the CV values?

commented

Hello @djdoz - sorry - there is no callibration at the momenent (but in my todo list).

Haven't had a chance to try this yet (teensy 4.0 on the way!), but just wanted to throw in there that a macro control that could map the CV in to arbitrary other params for each machine would be killer.

Also, a copier that allowed any copies to share params (e.g. so you could have 4-oscs with pitch and 3 other params modifiable by CV).

commented

Hello @naught101 - cv is V/OCT per default, but can also be modulation to any parameter of the track or as audio-aux for effects.(https://github.com/eh2k/squares-and-circles#machine-config-per-track).

As I understand the "copier" is like a "single cv modulating multiple parameters across tracks" ?

@eh2k:

For the first part, what you're describing is assignable CV. What I'm suggesting is a way to make a macro/superknob that modfies any/all other params by some arbitrary amount, e.g. with M-OSC, maybe you could have:

  • Timbre = 0.2 + 0.4 * macro
  • Color = 0.9 - 0.3 * macro
  • FM = 0.2 - 0.05 * macro
  • Assign CV to macro

Where each param's first value is set in the current config screen, and the macro coefficient is set in a macro screen. This would make it possible to use CV to get much more diverse modulation.

Yes, the copier idea would be basically that there are 2-4 copies of this track/machine that share 2-4 CV-parameter assignments, but each parameter's base value (CV=0) can be independently set per track/machine.

@naught101 @eh2k
maybe more manageable would be adaptation of modulation config from mk2 analog elektrons, where you have page for each cv in with up to four targets (machine+parameter) and attenuverter for each of these modulations

Yes, @wtkdwc that sounds like a much better suggestion that could encompass both of mine in one feature.

commented

@wtkdwc @naught101
thanks for the suggestions - cv-macro-modulation is definitively in the todo-list.

Thanks for this awesome new firmware! Really appreciate the work going into this.

Would it make sense to mark the stereo machines in the menu somehow? When i first tried out the clap i thought something broke because the kick i had on the other channel obviously stopped playing. I figured that the clap is stereo quite quickly and probably should have taken a look in the manual. On the other hand putting (stereo) behind the corresponding machines shouldn't be a problem right? 😊

commented

hello @fxwiegand, thank you for your feedback. Stereo makes the whole thing a bit complicated - on the other hand it's really nice especially with effects. I think the whole thing would be more self-explanatory - if it was visible somehow - maybe a small icon in the corner. I think the clap behavior is still a bug. Actually only fx-engines should overwrite the neighbour signal. I think non-fx engines should logically become mono (if the neighbor is not free).

@eh2k thanks for update, nice to see the progress, have to try the midi:) btw is there some parameter in the platformio to build it with display upside down, as was flip_180 in o_c?

commented

Hello @modularev, @djdoz, @wtkdwc, @naught101, @fxwiegand

I have just uploaded a new squares-and-circles version.

The highlight are the modulations - I think this brings the whole thing to a new level.

If you hold down the encoder the modulation popup is shown for the selected parameter.
At the beginning I wanted to implement only the CV-voltage as source, but I quickly got the idea to use the triggers for sample-and-hold, and then only the trigger for generating random values. I'm currently trying to see if I can push the randomness even further - it's a pity that the number of parameters is limited. I hope the whole thing is still understandable and not overcomplicated. Beside the selection of the modulation source there is only one parameter (attenuverter).

New modulations can be added in the code similar to the engines (https://github.com/eh2k/squares-and-circles/blob/main/src/modulations.cxx).

I also changed the logic of the config page. Now you can select any TRIG-Inputs or CV-Inputs for an engine/track. So you can e.g. pass the V/OCT signal for all 4 engines with one CV-input.

On the top right you can see which outputs are used by the engine.

The whole parameter logic was also refactored. I hope I didn't add any new bugs.

I think I have to make another youtube video - demonstrating the modulations.

I wish you a lot of fun with the firmware - and a nice weekend.

Hey!

Just wanted to say that I've been having an absolute blast with Squares And Circles!! I made a little jam/cover and used this for the drums, would be nice if you could give it a listen :D https://www.youtube.com/watch?v=3MqSL9IBduc

I look forward to trying out this new update. Also, knowing CV calibration is on the horizon is reassuring.

The only issue (outside of CV tracking) that I've been facing with the firmware is that I can't for some reason use drum sounds on both channel 0 and 1; loading a drum engine on channel 1 mutes channel 0 and I don't know how to avoid that... But its still an amazing firmware nonetheless!

Looking forward to seeing all the progress! :D <3

commented

@angiamusic, thanks. I have watched your jam - nice! - it is funny - I could swear I also hear the synths, although you say you used it only for drums!

I think the issue you are describing "stereo handling non fx tracks" is already fixed in the latest firmware.

commented

Just had a play with the new firmware, the randomisation is really a nice touch, especially on drums to give it a bit of variation.

commented

For me personally, random modulation is more useful in practice than CV. Thinking a little further, I think a small sequencer with variable step lengths (Randuencer ©) that can be assigned to the parameters as modulations would make the whole thing even more interesting.

commented

@eh2k
Just got this up and running. Its amazing!!! Thanks for your hard work on this.
Im very much looking forward to having calibration implemented as I'm having some trouble with pitch when using oscillator engines.
The drums are so good though. Wondering if it would be possible to have a level control for all the drum engines?
Also would it be possible have a mixing option to allow engines to choose an output? Id love to be able to set up a multi oscillator or a set of drums and have the come out of one output.
Lastly I have 2 o&C's and they sit side by side. I can see with your firmware the screen brightness is much lower that the original firmware. Is this possible to adjust?

commented

@adh82,
thank you for your feedback.

  • Calibration is in progress (I am currently considering a small "optional" MOD - it should be possible to lower the DAC range to -5...5V simply by adding an additional resistor - 100K parallel to R14 on uOC).
  • Level control: In the latest firmware it is already possible add extra gain on individual outputs (https://github.com/eh2k/squares-and-circles#machine-config).
  • Mixing option: This is really tricky - i don't have a simple solution for this - especially if you add stereo or panning etc.. I am however thinking about adding something similar to the modulation-popup to effect-engines, which allows you to feed in different channels (instead of just the neighboring channel).
  • Display brightness: The next update will include a setting option for this. If someone wants to set the brightness in other O_C / T_U firmware, you can do it this way: https://github.com/eh2k/temps_utile-/blob/master/soft/t_u_REV/src/SH1106_128x64_driver.cpp#L253
commented

@eh2k, do you think it is feasibile to import the Befaco Noise Phetora algorithms as machines in squares & circles?

commented

@djdoz

I have just looked at the source code of befaco. Unfortunately, the algorithms are based on the Teensy Audio Library and are distributed under GPL. The sound generation is not completely digital, and would probably be rather unspectacular on the OC without the additional analogue filters.

Theoretically, it should be possible to use the Teensy Audio Library in some way (implement a class based on AudioStream or AudioConnection). You just have to redirect the AudioStream frame-wise into the buffer array in the engine-process-method.
But it could be difficult, because of DMA, the whole timing and dependencies to other libraries.

At the moment, for example, all algorithms/engines are hardware-independent and can also be run on a PC (for testing purposes, etc.). With the Teensy Audio Library, this would IMHO no longer be possible.

At the moment I try to avoid GPL code, because I want to keep the option - to make "closed source" engines possible. I think the trend is more towards contributing with e.g. small closed-source "free-ware" engines instead of completely "open sourcing" the algorithms.

commented

@eh2k thanks for looking into this and the detialed response.

commented

Hello all,

after some work I want to slowly finish the beta phase, and share the release candidate version with you.

Besides the setup procedure (ADC/DAC calibration and display settings) I have mainly extended and optimized the modulations.

Modulations are now instantiated for each parameter individually - i.e. envelope or LFO with individual frequencies and settings per engine parameter are possible.

Two new FX engines have been added ( Gated-Reverb, Reverb-HP-LP - the algorithms are based on FV-1 emulation ).
It is now also possible to virtually mix the input signal of an FX engine from different engines.

Furthermore I have extended the documentation / readme.

I hope there are no new bugs added so far - it is really time-consuming to test the whole thing. I would be pleased for simply reporting back here that e.g. the calibration worked. I have only one module, where I have modded the DAC output to -5V/+5V lately.

commented

Wow, nice update! Will give this a try.

So, it is possible to port SPIN FV-1 algos onto this now? Does it support both mono and stereo effects?

Also, do you calibrate the module first and then perform the -5V/+5V mod or the other way around? And how would you verify that the -5V/+5V is working. I've triggered some sounds without the mod and by monitoring the waveforms on an oscilloscope it seems like it rarely exceeds -3V/+3V.

commented

@djdoz

Perhaps "based on FV-1 emulation" is misleading. The algos must be compiled, and can be "linked" as static libs. (similar to faust, but this is a another project by me so far). The effects are stereo.

You have to callibrate again after modding. I think you can use the CV|V/OCT Engine to verify the voltage on the output with a multimeter. Or using a OSC|Waveforms and increasing the output-gain would show the maximum/distortion on an oscilloscope.

I got mine up and running yesterday - great fun! So happy that you released an update with calibration. I ran through the cal procedure - worked great.

Question - I want to use USB midi - normally for an arduino, you select serial-midi or something like that when you compile. Is there a way to do this with the .hex file and the teensy loader?

commented

@oldmanfury

Thank you for your feedback.

You can define build_flags in the platformio.ini file. Currently there is USB serial active: build_flags = -DUSB_SERIAL. Theoretically you could change the Flag to USB_MIDI, and pushing the byte stream from USB to the machine::midi_handler->midiReceive(). The initialization should be done in the main function. I think you still have to set the TR1 to midi in the IO-Configuration, so it should no matter the byte stream coming from TR1 or USB. Feel free to open a new Issue for this. (At the moment I am not planning to support USB midi)

commented

I was just wandering if i2c control would be possible to implement?
Could see this being super fun with the Monome Teletype and the disting EX ops.

https://llllllll.co/t/teletype-disting-ex-integration/33929

I was just wandering if i2c control would be possible to implement? Could see this being super fun with the Monome Teletype and the disting EX ops.

https://llllllll.co/t/teletype-disting-ex-integration/33929

Hardware mod on a software alternative? Serioulsy though I'm looking at what I can add to the EuroPi when I can get the components to build one. Looking at i2c rotary encoders, sliders, etc.

commented

Hello @adh82, @n0ahg

A note in advance - a control via midi on the TR1 is implemented - although I must honestly say that I do not use this at all lately.

Regarding i2c control - there are still various pins on the back of the Teensy 4.0 - but it is not so easy to connect them. If you had e.g. the second SPI port - besides control e.g. additional peripherals like ADC, DACs or a communication with another controller would be possible. Alternatively it is possible to put a Teensy 4.1 instead of the 4.0 on it - with that e.g. an uO_C expansion module on the left side would be conceivable - Teensy 4.1 is generally interesting for me because of the additional RAM, the USB host connection as well as the SD card.

Further conceivable hardware mods:
I thought about leaving out the right encoder and using the pins as an interface for extended UI - the pins would work as 2 serial inputs and one output.

commented

Hallo all,

there is a new RC firmware version 0.0j available (2022-04-24-firmware_0.0j.zip).

Besides some bugfixes, you can now configure a quantaizer for each cv-input. (https://github.com/eh2k/squares-and-circles#machine-io-config).

Thanks for your feedback.

Can you point me at the location (in the many, many files) of the default calibration values? It would be nice if I could keep the calibration from update to update - takes a while, since it is so thorough!

commented

@oldmanfury,
you don't need to re-calibrate after an update. If you press [left] on startup - you will enter the calibration-page - the old values are still there loaded. After finishing the setup procedure - the values are saved and an empty patch is loaded.

Fantastic! Was afraid that doing that would trip up my previous cal.

A feature request (is this the right place for that?) - being able to send the 4 engines to any of the 4 outputs would be really handy. There are times where I'd like all four on one channel, just so I don't have to use a dedicated mixer module prior to routing the audio elsewhere. Just a 'output' row where you select A,B,C,D would be great. Maybe that would make the reverb modules more versatile too - just route the signals you want reverbed to C or D (if the reverb is using those outputs).

commented

How do I add my own Spin fv-1 algorithms onto this?

Which dattorro reverb was implemented? Do you have the original spin fv-1 assembly language file so that I am able to maybe figure this out?

I assume this is implemented here, https://github.com/eh2k/squares-and-circles/blob/main/src/faust/rev_dattorro.hxx and https://github.com/eh2k/squares-and-circles/blob/main/src/faust/rev_dattorro.dsp

commented

@djdoz

fv-1 algorithms can't be added easily at the moment. I have used an experimental toolchain for this, which I currently do not make available as open source. I am currently pursuing an approach that will make this possible later on.

The "Rev-Dattorro" is from Faust - you have to install the faust compiler, that translates faust-code to c++ (the files you mentioned). The algorithm can be found in the reverbs.lib - https://github.com/grame-cncm/faustlibraries/blob/master/reverbs.lib#L494

commented

Hello all,
I have created a separate issue regarding output routing/mixing. You are welcome to discuss or make suggestions.

By the way - since yesterday there is a new module on ModularGrid: https://www.modulargrid.net/e/modules/browser?SearchName=squares+and+circles&SearchShowothers=1&order=newest

commented

@MidiSlave - no problems with grids triggers (5V impulse, 1ms duration)

@eh2k
Great work, thank you for this amazing contribution !
I don't know if I should post this here
I'd like to create an engine with polyphonic midi control, is it possible for now ? I guess it should happen in the Process function, but there seem to be only one MidiNote object in the ControlFrame definition. Is there another variable I can reach from the process function which can give me the overall midi state ?

commented

Hello @jrachedi,
thank you for the feedback.
I have now reworked the API again in the "dev" branch (there are some midi optimizations included). I plan to transfer the "dev" branch to the "main" in the next few days/weeks. If you want to do something in advance just use the "dev" branch - I think this is what you are looking for: https://github.com/eh2k/squares-and-circles/wiki/Code-Snippeds#midiengine.
If you notice anything that doesn't work as expected - just create a new issue.

@oldmanfury how did you go with USB midi?
@eh2k It would seem the trigger expander i'm using is only really capable of sending minimum 5ms triggers but only the extra OH trigger input doesn't like it.

@oldmanfury how did you go with USB midi?
Great! - latest development version USB midi seems to be working. Kind of amazing having 4 synth engines accessible via midi from my teletype / i2c2midi combo!

@oldmanfury I bet it is. are you talking about RC 0.0j ? mine is not showing up as a device.

commented

@MidiSlave UsbMidi ist currently only enabled in a dev branch - I am still testing/fixing/optimizing. I have also refactored the triggering. Basically you will be able to use any input (TR and CV) as a trigger or as additional accent in the next RC 0.0k ...

You are doing fantastic work here. I am having great fun playing with the modulation menus - really nicely designed.

Thank you !

Love this firmware! I’m not sure if there’s room left for much more but I was wondering if a couple of things would be possible.

  1. Modulate the volume/output gain with cv or midi velocity.
  2. Save a limited number of presets that recall entire machine settings (ideally to be able to switch between 4 track drum machine vs 4 voice poly with out manually reassigning midi channels etc each time. Perhaps holding both encoders could open some save/patch menu.

I’ve been experimenting with the dev branch/usb midi. I’ve had to filter out clock as it’s triggering the machines. Program changes aren’t functioning yet. Also I’m still getting strange behaviour with the 707/909 Open Hi Hats. A short digital noise instead of the OH sound.

Polyphonic plaits/braids is wonderful.

you’re a legend

commented

Hello all, thank you very much for your response...

After a little break, and some testing I would now provide the latest version RC0.0k:


Changes (see also updated project README):

  • Lowlevel refactorings
    • USB-Midi enabled
    • Midi settings relocated to a separate "Midi-Settings" page -> press left+right
      • Hint: Shortcut for "patch saving" changed to "press both encoders"
      • if no midi clock, an internal clock is active ( BPM settings)
    • Trigger/CV behavior
      • In Addition to the trigger, a configurable "accent" event was introduced (eg. for Closed/Open HiHits)
      • all inputs (TR+CV) can be used as triggers or accents
      • optimized trigger-rising-edge detection on CV input
    • Modulations refactoring
      • Sample&Hold removed...
      • Modulation trigger configuration relocated as modulation-parameter (T1-4,C1-4, '!' = default engine trigger)
  • Engines
    • New:
      • Midi/Monitor,
      • Midi/Clock,
      • Midi/VAx6 (6-Voice Virtual Analog, only controlled by MIDI)
    • Optimizations/Cosmetics:
      • Drums/TR909-Ride - trigger+accents ..
      • M-OSC/Chord - chord selection by name (17 JON_CHORDS)
      • FX/DelayEngine - delay time by midi clock / internal clock
      • Here and there optimized parameter ranges... (HiHats/Samples)

If you are experiencing any unexpected behavior, please make sure you are using this firmware. The best way reporting as separate issues. Unfortunately, I can't reproduce some of the reported problems - so I suspect they are related to older firmware versions.

However, please try the following link to flash the firmware directly from the browser (tested on Chromium):

https://eh2k.github.io/□●/flash/?ver=RC_0.0k

...have fun jamming!

Thank you for keeping the development going on this fantastic firmware.
I just tried the web flash tool and it worked for me. I was able to load both versions into my []&o but only v0.0j would load. 0.0k hangs at the loading screen. Currently running 0.0j with no problems. I don't have USB midi set up , so no further feedback.

commented

@scuzzphut - thank you for the hint.

I have updated the firmware again - i hope the problem should not occur with 0.0k2 (press CTRL+F5 in the browser, if still 0.0k is listet).

https://eh2k.github.io/□●/flash/?ver=RC_0.0k

Background: With the 0.0k version, the patch memory block has changed. So the current version cannot load the old patch in some cases - consequently, an message "PATCH restore failed" should now appear. The calibration memory block is not affected.

0.0k2 worked. I got the patch restore failed message , then the module booted up as normal. Thanks !

That flash installer is super cool. Way easier than going through Visual Studio! I also really like the midi-page vs. scrolling through each engine.

commented

@oldmanfury
Yes, flashing via the browser is cool and can still be expanded. If that works well (any feedback welcome), something with individual samples, waveforms etc. would be conceivable. After some back and forth, I also think that a separate midi-page is better, because you don't change these settings very often and there could be more settings in the future.

Future request for the midi page is CC selection for mods!

I have built 3 x squares&circles (one is missing the display, it broke in an unfortunate series of events).

Flashing (0.0k2) and calibration went smooth. Now to learn to use them, (and O_C + hemispheres).
pcbs from jlcpcb - parts except teensies mostly from china - ebay & aliexpress - panels 3d-printed by me.

Thank you!

Is it possible to enter setup/calibration without (power cycle+[left]) ?

Please add screen blanking / screensaver to reduce pixel fading over time.

IMG_20220706_071952

IMG_20220706_101221
This oled shows fading of commonly used pixels after 1.5 year.

commented

@jpnielsen

not bad - You can't have enough of the OC_s, by layering you could easily use all four channels for a fat stereo snare with FX etc. Five OCs is really nice, it would be cool to see them all in action in a YouTube video ;-).

Damn - you make me need more OCs too - testing would be much easier if you could compare between two versions directly.

Setup/Callibration - Press both encoders in the machine-selection-page (not guaranteed for future versions).

I noticed the symbolic link to the drum roms in the eprom folder doesn't automatically download on git clone nor is it included in the release source, but you can manually get it from https://github.com/eh2k/vintage-drum-roms/ otherwise will recieve build errors when it can't find the roms.

commented

@v0idkr4ft
it is a git submodule - you need a git submodule update --init after cloning.

Is anyone else experience a tuning offset on the synth machines ? Even with the quantizer on (to make sure it's not my input v/oct signal that's the problem) I am experiencing synth engines about a half semitone high.

I've run the DAC calibration routines a couple of times, but no difference. Weird.

Second point - the new calibration routines you've written are tremendous - so much easier than the original O&C routines - nice work eh2k.

commented

@scuzzphut, thanks for the feedback.

I think the assumed 48kHz output on the Dac is slightly different in reality. I should analyse a recording on the PC and somehow measure the frequency. If someone here likes to compile the firmware, the kSampleRate adjusting would be worth a try - it is possible the hint in the comment below is the cause. However, this constant adjustment would only affect the synths that are based on plaits.

I have 3 O&Cs, so I'll try the Teensy in the other 2 just to eliminate that element and report back here.

Just swapped the Teensy around and tested. All 3 O&C exhibit a tuning offset (to varying degrees) when using a quantized v/oct input signal. I'm guessing this is down to ADC / DAC calibration and I'm going to suggest adding a coarse and fine tune to each chromatic engine.

Hi!

I see that you removed s&h in one of the last releases. But I already updated my s_c to the latest firmware and I can't determine what was wrong with s&h.
So now I just want to know if there is a way to use s_c for the s&h function in the latest version? Maybe this engine is in the plans?

Thanks!

commented

Hi @spiilmusic, during the last modulations refactoring, I removed s&h because I don't really use it myself, and thought it might not be missed. Previously, there were four s&h modulations that were hardcoded to tr-x and cv-x - this would have to be rethought with the current version. But in principle it's exactly the same as the RND modulation where you use the CV value instead of the rand() value. I'll have to see if I can put it back...

@eh2k thanks for the reply!
I'm mainly about using s&h as the CV engine so we can use the sampled value in other modules. I think it might be useful. I just sold my Kinks and have now noticed that I am missed its s&h

commented

@spiilmusic, as I understand - please correct if not: A "direct" s&h engine similar to the CV/VOLTAGE would probably exactly what is missing…..from my point of view also more user-friendly compared to the previous „indirect“ modulation usecase ?

@eh2k Yes, that's exactly what I mean.
I wish I had time to contribute into this cool project.

Hello,
I got my O_c working and i am wery happy with the squares and circles :) I have just started so will use some days to learn it.
If it is dooable with the teensy 4 i would love if there where a version of the copier machine in it, some time in the future. I see that it has a quantizing function. Is it posdible to use one machine only as a quantizer?
Best regards
Arnfris

commented

Hi @Arnfris

At the moment, there is no real sequencer, but you can use the CV:V/OCT engine for some use cases. With pitch modulations, for example, you can quantize the CV via S&H or trigger the RND (in the latest firmware the pitch modulation is also quantized). For simple quantization, use the CV:V/OCT engine and set the quantizer in the IO-Config. If you use the Midi-Input, you also have a Midi-to-CV.

Hello,
Great :) (I have to spend some rime in learning the module). It is wery nice to own a module that is under development. :)
Regards
Arnfris

Have a little bit problems when returning from screensaver.
DSC08703

Thanks for all your work on this! Just wondering if it's a possibility down the track to get finer (internal) modulation values on pitch (to achieve a subtle vibrato)?

0.0N4 is now on the Teensy and for the moment it looks good. I can see the menue on the screen. Will screw it now into my rack and in a few hours we will see.

Hi eh2k. I hope you are well. Is there any way to have the oscillators give a constant output when there is no trigger input selected ? i.e. the same way an analog oscillator would (and I think that Braids does this as well - it only needs a trigger input for the more percussive models, but the VA models just drone away happily without a trigger)

I am a couple of firmware revs behind, so I might be missing something. Thanks !

I answered my own question by accident. Setting the trigger input to the same CV as the V/Oct is the charm.

commented

@scuzzphut

I am unsure whether i have understood your question correctly. In principle it is possible with the M-OSC engines to set the decay to maximum (VCA-off), so that the oscillator permanently outputs something.

But here is my thought about it:

With the M-OSC engines the decay exists since the beginning, before I introduced the modualtions with envelope, LFO etc. At the moment I'm thinking about replacing the decay by a "level" parameter like in the latest "Noise" engine. There is only one level parameter (no decay or attack). The "level" parameter can be controlled e.g. by a trigger and envelope modulation or LFO or a simple CV input - in principle like with an external VCA... @ALL - if you like this idea, please thumbs up for this post.

Hi eh2k, I am having a lot of fun with Square and Circle. I flashed the FW to 0.0N4 yesterday and there seems to be a problem with T1 and it does not recognize the trigger.
T2-4 are working fine, and only when I set T1 to TRIG-INPUT, there is no sound.
When I reset the FW to its previous state, it works fine, so I think it is a bug in the software. Please respond to our request. Thank you!

commented

@oguu-san, thanks for the feedback.
I suspect it is the same case, see Channel one gate input not working...

@eh2k I see! It seems that the Midi inputs and triggers were mixed up. Thank you for your prompt response!

Very impressive what you have done - so much packed into an 8HP module! The UI becomes familiar after a few hours of playing with the module and there is so much to explore here. So far I haven't found anything that seems like a bug.

I've tried MIDI input on T1 and so far its not working for me. I have not tried the USB MIDI but will give that a go. The MIDI section of the docs could be expanded - not completely clear to me how you assign MIDI to an engine, if you can trigger the drum voices from MIDI (if so what notes are triggers?), explanation of how to set up program change messages etc.

An idea is to expand the ROM drum sounds if there is flash left. The individual sounds in that engine could be triggered via MIDI notes general MIDI style. Some nice eye candy would be to show modulations moving the parameter dials.

Thank you so much for the time you have spent on this project. You've put new life into a classic Eurorack module with the amazing Teensy 4!

Hello eh2k,

uploaded yesterday the latest 0.0N4 firmware and I'm using it on a hardware that was hosting Hemisphere and Benisphere without problems.
I'm still figuring my way around it a bit, but I seem to have come across a problem with the T&H CV modulation. Basically what happens is that the triggers are shifted by one value, so:

  • Op: T&H-T1 is triggered by T2
  • Op: T&H-T2 is triggered by T3
  • Op: T&H-T3 is triggered by T4
  • Op: T&H-T4 is triggered by nothing

Am I missing something or is there an actual problem?
Thanks, enjoying it very much so far!!
N.

Thanks so much for this. I'm actually looking forward to using my O&C for the first time in ages.

As noted in one of the issues, the unit boots with T1 set to - so it doesn't actually trigger. took a minute to find the menu but overall the layout is fantastic, even without the DAC resistor mod, this sounds great.

More than thrilled, will report bugs if I find them

Hello,
I am wery fond of this module. I was wondering if there is any plans to include a probability function in it? (Something like branches).

Hello,
Tried to play 4 oscillator engines at the same time and the module doesn't seem to like it very much. Having 2 is fine, 3 is almost critical and some sort of digital artefacts start to appear. To be clear I'm talking here about the MI implementations.

Also pitch was a bit glitchy and getting out of control every now and then. I was sending a mix of envelopes being sampled and held by the intellijel shifty, for context.

Impressive work on it, thank you

Hey there! Just flashed the latest build (0b2fe87) to jam with and try out the new noise modes, etc.

There's a small bug I noticed: rotating either encoder on the "GND/---" machine causes a crash / reboot. Accidentally tripped over this a couple times when I was first setting up! Seems like a trivial fix, so I didn't open a new issue.

Hi @djphazer, thanks for the hint - it's more or less fixed already, was a null pointer access once again ;-)

A little preview of the upcoming "commit": I've synced the plaits code last week, and I'm currently exploring the update. Besides other minor things I have optimised the behaviour of the encoders - e.g. the parameters change is 1/128 per step if the increments don't immediately follow each other, otherwise 1/24 per step is used. I still have to test this a bit, and will push it over the next few days.

Hey I've just flashed today (0b2fe87) and trying to DXFM but it says "listening on [C1] Data 0000 of 4096". Sorry if i've missed something obvious! but I'm wondering how to load patches/banks etc. love your work. NES_Noise is really cool :)

@MidiSlave the Webflasher can load additional machine data over USB. I was just playing with the DxFM engine myself.

Hello everyone,
a new update 4b7f38d has just been pushed.

For me, one of the highlights is the encoder handling - I wonder why I didn't think of optimizing it earlier.
Beside many minor optimizations there are two new engines:

  • Synth/ClassicVAVCF is one of the new plaits engines, similar to the Virt.Analog. However, I have placed them under "Synth" category near to "Open303" and not under "M-OSC" (Marko oscillators).
  • Synth/DxFM_BNK1-3, these are the presets that are included in the latest Plaits update - the Synth-Engine is, however the MSFA engine (which is also used by the Dexed project). The MI-SixOpEngine sounds a bit different though, especially the playing of the envelopes is special (I haven't really understood yet how this is triggered exactly).

There are more new plaits-engines, but I want to understand them first before I make them available. Thanks to Emilie for releasing the sources...

If no bugs are reported in the next time, I would like to tag this as a new release.
Would be happy to get some feedback from you - e.g. What do you think of the latest Claps?.

🖖

WebFlasher

re the latest Claps - didn't pay attention to when it was made stereo, but i like it. The last few drums have some HEX numbers instead of names - strange but no big deal.

So far, I haven't found any bugs.

Enjoying □□●●

commented

@jpnielsen thanks testing.

The claps were based on samples and pitch+filtering before. Now these are 100% models based on the RC-808 parameters and some extras.
A clap consists of several layers of different filters/VCA envelopes. I took this a bit further, and added some sort of randomness. The hex number in the clap name is the seed for the "random" function.
Here is a nice video how a 909-claps is modeled: https://www.youtube.com/watch?v=05zIiXSIcJE

Hi @eh2k !
I have been fiddling around with S&C past versions (circa 2022) for few monthes, but found a strange issue with last version (508de0e) : the CV/V/OCT engine outputs a lower voltage (with an approximative ratio of 0.66 of what it should be) than the one written on the bottom of the screen. On the other hand, when I do the calibration, the output voltage is the same than the one displayed. I investigated on this and I guess something strange is happening in the "push" function of the machine binary, as I traced the cv value and it is coherent until that call. Once again, the hardware shouldn't be involved as the calibration process outputs the displayed voltage.
Am i missing something ?
Thanks again for the work
Best regards
j.

Hi @eh2k

I was wondering if it's possible to get a frequency locking feature like the new plaits firmware has (and some of the alternative firmwares) so that the Pitch parameter sweeps through octaves instead of chromatically. Even cooler would be an octave feet selector à la cs-80. Anyway just an idea. Love your work!

First off, thank you for this incredible firmware. To say I'm impressed is an understatement. The idea that I can roll a thick four voice drone with internal modulation in 8hp is crazy.

One bit of feature feedback - setting the modulation amount to a fine tuned value is difficult with the behavior of the displayed knob indicator. For example, if I want to only very slightly detune each of the four voices with an LFO. Even a single notch on the display might be (or feels like) too much. Would it be possible to have an option for the Amount to instead display a 0 for 'center position' and then negative or positive values for the amount? For example, -50 or 50.

On the modulation screen, it seems like all the 'clicking' interactions are used (button presses, encoder presses) so I'm going to can my other idea of "fine / coarse adjustment". ;) (ie: changing a mode so you could either dial in whole number or say, decimal values).

But just the first option would be great. Thanks.