Genius Eurorack Module

Yes, those bells have a separate exciter (filtered noise with an envelope) and resonator models. And there’s gain parameter that sets exciter’s strength (not sure if patch exposes it)

1 Like

Thanks for posting this in the forum @kilchhofer. There should be no need to upgrade the firmware.

I think in the video the sound was recorded straight out of the Genius, only going through the headphone output of a Mix 02. You should be hearing the same on yours.

How have you got it connected, are you using a line level output from your rack?

You could try listening to the digital output directly on your computer, by using the Genius as a USB audio source.
I like to use Audacity for this, it’s easy to set up. Simply select OWL-GENIUS as your input audio device, change the recording sample rate to 48000, then hit record.

And yes @antisvin is right, the bell size is fixed, just like on a real church bell! But there are different ones to choose from, not just the English and French. There’s a Russian bell (part of the Triple Entente) - and you can make your own too. Would be cool to make a carillon… Oh wait, maybe someone did!

The djembe is an example of a tuned physical model where the fundamental can be changed. Another is the human voice models, and they’re really fun!
I found that some of the physmodels examples and docs appear to be a bit off, I was intending to submit a PR with a few updates. But it’s a fantastic library to use.

Yes absolutely, and in fact in the FAUST code the exciter and resonator are separate. I was intending to try this out, but ran out of time and wanted to get the patch done. If you experiment with this, let us know how it goes!

1 Like

that’s how the bell patch sounds here, unfortunately not the same as in the video :frowning:
i try to update the firmware tomorrow, i think i’m on 22.3

oh wow cool, so excited to try this all out!

superb, i definitely will try, but judging from earlier experiences in all thing code related i’m very bad at this, let’s see how difficult faust is for me !

Thanks. I compared it to the Genius on my desk and… it sounds much the same. There must be some regression between when the video was recorded and the current version of the patch and libs. I will investigate, to find out what’s happened to those lovely, sustained resonances.

Could that be due to FAUST version downgraded when building them in web patcher?

ok thanks! and also, i don’t have a second bell on the second gate in/button.

I thought it might be the FAUST version. But digging deeper it looks like the difference is due to the optimised transcendentals. It seems that I had temporarily disabled these while working on some recent FAUST updates, around the same time I made the bells patch and video.

So it appears that the slight loss of precision from using optimised exp functions makes a huge difference to the sound of the physical modelling bells. Maybe this is not so surprising. But I’m a bit surprised still! It’s a really interesting and kind of accidental result.

Here’s a recompiled version with std::powf:
Bells.syx (87.1 KB)

We don’t have an easy way to load patches directly from file in the ‘official’ web interface, this is something that would be good to add. Meanwhile you could use this hacky web i/f. Go to Choose files under Patches, select Bells.syx (download it first!), then click Run, or Store if you want to save it in a slot.

Would also be great to have the option to turn optimised maths on/off in the online compiler. Or even the offline one!

No english bell on the right output? What about the djembe, do both buttons work?

Here’s a Waveguide string experiment based on Henrik von Coler’s nice post:

I added the ‘Sustain’ parameter because I found that the duration of the excitation impulse made a big difference to the sound.

And from your suggestion @kilchhofer I’m summing the sustained button impulse with the audio input as the exciter, so you can send it your own excitation signal.

1 Like

so today i tried to update the firmware on the genius, i think i managed it but i lost all patches, now my genius is empty and i can’t find the example patches. can someone please point me to these patches, or am i wrong and they are in the patch-library??
sorry, i’m very new to this all and it’s a bit hard to navigate and find the correct ressources:)
and thanks @mars for the recompiled bells, i will try them asap! and to answer your questions: no, no english bell on the right output and no djembe on the right button!
cheers

update: bells now work, thanks @mars !

@mars where can i download the factory patches for the genius?

Martin hasn’t published them in patch library yet, but the sources are available in his patches repo

1 Like

Hi there, I recently ordered a Genius and I have a few questions that I can’t seem to find answers to in the online documentation. 1. Approximately how many patches / how much disk storage is in the unit? 2. Is there a specific midi channel for controlling the device and are there specific default Midi CCs for the parameters in the unit? Can this be managed or determined in the unit settings? If not, I guess that’s my sly way of making a feature request :wink: Thanks for all you do! --Chad

40

8 Mbytes for patches and resources

It’s listening to all channels by default. There is a settings that makes it listen only on particular MIDI channel, however I think that saving settings might be broken with current firmware version.

1 Like

Is there a way to access the Genius firmware with a hardware debug interface like ST-Link?

Yes, it’s certainly possible, but requires soldering a debug header to your Genius (I think it’s not there as very few people mess with firmware here) and a cable or a custom adapter to connect to debug probe. Connecting debugger to other OWL boards (OWL1/2, Xibeca) is much easier. May I ask what do you want this for?

I have a project called CLAMS (Command Line Algorithmic Music System). There’s not much of a plan yet but I can give some highlights:

  • CLAMS will be an interactive interpretive system based on Forth. The intended use case is livecoding / algorithmic composition / digital sound synthesis on microcontrollers using serial communications over USB.
  • CLAMS will target Arm Cortex M microcontrollers. The goal is to run on the Electro-Smith Daisy, the Teensy 4.1 and the Raspberry Pi Pico. The initial implementation will be for the Raspberry Pi Pico, which is the least powerful of the three boards.

I just discovered the OWL platform and its associated hardware yesterday and I’m considering adding it to the target hardware list. I may not need a hardware debugging capability, given that Forth allows interactive access to the hardware, assembly / disassembly and examining memory / registers. But the Daisy and Pico H and HW have debug connectors on them if I need them.

This is all in the early research / planning phase. I have Daisy and Pico hardware already and ran across the OWL platform yesterday via another search. I was looking for Eurorack DSP / effects modules and found the Befaco Lich. From there I discovered the OWL platform and the Genius, which seems like a more powerful device.

I should add that I don’t currently have any Eurorack hardware, just desktop synths. So the Witch would be a better fit for me musically than either the Lich or the Genius. Is there a debug connection on the Witch?

OWL patches are compiled as standalone programs with stack pointer in a specific address. The firmware copies the generated code to expected address and executes it. Then patch runs until it ends processing next audio buffer and blocks until firmware gets another buffer of audio ready. Patch code is executed inside RTOS thread and firmware effectively controls its execution. Shared memory is used for communication between patch and firmware code (exchange pointers to data, parameters, pass callback functions both ways).

Because of this isolation, only firmware accesses ARM hardware directly. The patch itself contains only the DSP code. When you try debugging it, you can use ST-LINK and gdb with firmware code, but the patch is seen as some blob inside RTOS. The point is, you can’t debug patches themselves (only firmware) and you probably don’t need to make a custom firmware to run a FORTH interpreter on it. With OWL3 (Genius, Xibeca) you can build a patch up to 512kb in size.

There’s no support for serial USB in firmware, but Martin was adding keyboard input a while ago.

Regarding hardware selection, it would make more sense to use Genius as you’ve suggested, simply because it contains a display. Another OWL device that includes an OLED display is Magus, but it’s running with STMF4 MCU rather than H7 as on Genius. As you haven’t ordered it yet, you probably can get a debug connector soldered and the necessary adapter added if you write a comment about it in your order details.

Btw, you’ve mentioned Daisy here and I should mention that I’ve made an unofficial fork of OWL firmware that runs on it. However, none of the supported devices contain USB host ports.

How big a patch can I build in an OWL 2 device? 512KiB is more than enough.

[quote]
There’s no support for serial USB in firmware, but Martin was adding keyboard input a while ago.
[\quote]

What kind of keyboard?

The Magus is listed as out of stock. I’m pretty sure the F4 is sufficiently powerful for what I’m doing as long as there’s space in RAM for the Forth dictionary. A 16-bit Forth will work for what I’m doing and that only needs 64KiB. And I don’t need a display on the device, but If the Magus exists that would be better than the Witch for my musical workflow.

And If I go Eurorack I will need to buy a case and find a space in my tiny apartment for a soldering station. The upside of Eurorack is that I’d only need one Forth interpreter module / control voltage processor and I could do that on any programmable device that had the connectivity.

Thanks! If I decide to go with the Genius I’ll do that.

I have a Daisy Field, two Daisy Pods and three Daisy Seeds. All have USB connectors. Is the lack of USB host port something that can be done in the firmware?

144 kB

Any standard USB HID keyboard.

The firmware supports it, but you’d have to make a custom project that configures available peripherals. I’ve only mentioned this in case if you have any need for keyboards or anything else connected to USB host port that doesn’t exist there unless you make a custom board. Anyway, discussing Daisy doesn’t belong to this forum.