Benisphere Suite is a continuation of Hemisphere Suite, an alternate firmware for Ornament and Crime, featuring a dual-applet framework with dozens of different modular functions.
C++ 96.91%C 2.05%R 0.16%Python 0.79%Shell 0.02%Makefile 0.08%
LowerRenz applet appears to have some bugs vs Hemispheres1.8A
Issue 1: Right hemisphere locked to left โ adjusting settings on the right hemisphere does not have any effect. When LowerRenz is loaded on the left, it responds to Freq and Rho adjustment (which apply to the right hemisphere even when the left hemisphere is occupied by another applet).
Issue 2: Within one hemisphere, X & Y outputs are identical, instead of their expected pseudo-independent behaviour. In combination with Issue 1, all 4 outputs are identical.
Sequence5 is a brilliant little app for when you need a small sequencer, but I wonder if it would be possible to extend it to a more traditional 8 steps. Now that you've implemented the reset to all sequencers and given that you can ignore a step by setting its value to 0, that would make this a really powerful sequencing tool. UI-wise, I think that 8 sliders could still be comfortably displayed in half screen, as is used by your ProbMeloD app.
While testing all of the reset code changes I came across an issue when Annular Fusion was in the right hemisphere and getting clock forwarding from the left. When receiving reset at the same time as the clock it would occasionally fall off time, likely because the clock being forwarded wasn't getting there in time. However using a stack cable to send the clock to both sides individually worked without any issues.
For now, the solution is to not use clock forwarding if you are using reset on the right hemisphere, but simply send the same clock to both hemispheres. In the long run, it would be good to cut down on clock forwarding time so this is no longer an issue.
When I swapped out ENABLE_APP_ENIGMA for another app in OC_options.h I get the compile error 'OC::Strings' has not been declared
It looks like OC_strings.h is only included in APP_ENIGMA.ino, but is needed for OC_calibration.ino to compile.
Moving the line #include "OC_strings.h" from APP_ENIGMA.ino to o_c_REV.ino seems to fix it.
The current behavior for reset in most applets is to set things back to the first step. This is a pretty analog approach, but is probably not the expected behavior, as the next clock will move it to the second step rather than playing the first one. If possible, applets should be updated so that if they are reset while not receiving a clock, the first clock they receive plays the first step.
Hi, I'm trying to hook up a MIDI keyboard, but it's not really playable because the MIDI In app doesn't handle overlapping keys well:
The gate signal is always cleared when a note off message is observed, it should only be cleared once all keys have been released (once the number of note off messages equals the number of note on messages). Even a few milliseconds of overlap while switching from one note to the next clears the gate, so this really prevents using a keyboard at all.
The note signal is always the most recent note observed, intuitively it should always output the most recently pressed key that is still being held
I haven't thought about how velocity or the other signals should behave, I only tried these two
The latest production branch does not build out of the box with all fullscreen apps enabled. I figured that at some point you started using Platform.io to reach smaller file sizes.
Shouldn't this be mentioned in the readme?
HI, thanks for your amazing work! Quick question about the BootsNCat app, I see that in the commit 7a3de55 you left it in but disabled in case it would interest someone. Would it be possible to have both BootsNCat and the new BugCrack app enabled at the same time? If so, would I need to disable any other app in order to make space for BootsNCat? Many thanks.
Personally, I think it'd be more useful to have modulation control over the pattern fill versus the pattern offset, especially in combination with a shift register like Mylar Melodies demonstrates here: https://www.youtube.com/watch?v=d8L4NPg8gh0
Although, for backwards compatibility, this would probably have to be assigned via the encoder. Perhaps with the option to assign both CV parameters to Ch1 (controlling both steps and offset), and leave Ch2 for more static use, as described below:
Sometimes, after leaving my rack powered on for a long time, the 2nd output of TB-3PO gets stuck high. Everything else appears to work fine, the pitch CV still comes out normally, I can switch to other applets and they work, but the problem persists with TB-3PO until I cycle power. It's hard to reproduce because it only happens after it's been sitting idle for probably >24 hours... but it's happened more than a few times.
My hunch is that it has something to do with the EndOfADCLag() function: bool EndOfADCLag(int ch) { return (--adc_lag_countdown[ch] == 0); }
If you overflow a regular signed int by subtracting 1, what happens? Will it eventually rollover and end up back at 0?
When setting the density in TB3P0, -7 through to 0, each setting provides a different variation on the theme, but from 1-7, it's the same on each setting. I think they are also supposed to be different. Thanks.
am I the only one who has an issue with scale duet? Can't seem to get anything out of it no matter what I try.
Heres what I have connected at the moment:
MATHS channel 1 cycling sending a 0-5v sine to O&C cv3 (or cv1)
MATHS channel 4 cycling and EOC to O&C trig 3 (or trig 1)
O&C OUT C to oscilloscope and it's not showing anything (also same with OUT D. also OUT A and OUT B show nothing if I use cv1 and trig1)
doens't matter if I have selected all the keys or some keys on scale duet.
if I send MATHS channel 1 to oscilloscope I see the 0-5v sine wave no problems.
In Squanch the two bipolar numbers next to the little note icons are supposed to shift the pitch at CVOutA and CVOutB respectively, but this doesn't work in Benespheres 1.31. (This seems to work on Hemispheres 1.99.)
Also, a bipolar voltage applied to CVIn2 is supposed to shift the pitch to CVOutB, but this doesn't work in Benespheres 1.31. (This too works on Hemispheres 1.99.)
With a clock signal on Digital 1, Stairs is giving me weird resets where it stutters around step 1 and 2. As in, it can't complete its full cycle because it goes from step 1-2 back and forth.
I am having trouble saving the state of the unit/start up apps. I assumed the way to do so would be the same as base Hemispheres, by holding the Right button for two long presses, but after opening the internal clock it does not seem like the state is saving. Not sure if this is a bug or the feature has been removed from Hemispheres.
Suite V 1.3.1. using Probdiv on the left and Probmelod on the right. Using an LFO CV to reseed Probdiv every few seconds. It works for a few cycles and then Probmelod lower range gets set to the upper range after which all the notes remain the same. Seems like CV2 gets interpreted as CV3.
I just updated to v1.3 and now the right encoder on my uO_C has reversed scrolling direction, while the left is normal. Is anyone else experiencing this? I haven't tried reverting to another firmware (yet) to confirm that it only happened with Benisphere v1.3...
I have a version of O_C-Benispheresuite-BSSv1.3.1 that I modified, compiled, and installed, but moving my one change (Runglbook) into the repo I cloned from Github results in an out-of-memory error when compiling.
region FLASH overflowed by 28108 bytes collect2: error: ld returned 1 exit status Error compiling for board Teensy 3.2 / 3.1.
I'm kind of new to forking other people's projects. Can I run some kind of diff on the folder to find out where those extra kilobytes are?
I tried Benisphere on my 1u O&C Modules, which were working fine with Stock Firmware and regular Hemisphere... but with Benisphere, suddenly there is no Output on the A to D Jacks...Output doesnt even return after i flashed Stock Firmware, or regular hemisphere. i have two paperweights now. (both worked fine before flashing...Id appreciate some Help with this. i tried recalibrating in stock firmware...output is stuck at -11 volt
I'm trying to use Benispheres as a self-contained sequencer. For example:
Internal clock > left side running a trigger sequencer > right side running a pitch/cv sequencer (such as stepper, tb-3P0, etc.).
But I can't clock the pitch sequencer using the gates/triggers from the trigger sequencer. The internal clock replaces whatever clock I send to the Digital Ins. This means I have to use an external clock source in order to use a trigger and pitch sequencer.
It would be great if by turning the encoder, the default "Tigger/Gate" mode on "Button" app could be change to "Trigger/Trigger" and then to "Gate/Gate" (and back to Trigger/Gate of course).
If I hold the left encoder while Shredder is loaded and selected, it leads to overwriting the T1 with noise(random values, super fast). Only solution is to reset from menu, or reboot. I can replicate it if necessary.
P.S. Awesome of you to continue developing applets.
I know grids can use either 4, 8, or 24 ppqn. What does DrumMap expect? From playing around, it seems like it expects 8 ppqn, but just wanted to confirm. Also, might be worth a mention in the manual as 4 ppqn is so common in eurorack.
I made a little fork of DrumMap that saves the state of all parameters, but at the cost of losing some granularity for manual control (cv control still has 8 bits of resolution). The resolutions I've used are: 6 bits each for x and y, 5 bits each for fills, 4 bits for chaos. With 2 bits for the modes and 2 for the cv mode, that's 32. Now, it's very much a trade-off, so I definitely understand if you don't want it. Also, it means that there's not quite enough values for the input acceleration to still be useful (which made me a bit sad tbh; that's such a great touch). Anyway, let me know!
Saw in forums that this is already planned, but opening an issue to track. I recently picked up an OCP X and would be happy to help with testing or with resolving issues if you've got something in progress in a local branch.
Vector LFO is currently LFO1 and LFO2 that can have independent shapes and rates. LFO1 is always discreet in it's channel. However, LFO2 currently defaults to a 50% blend of LFO1 and LFO2. The blend can be reduced to zero LFO1 and pure LFO2 by applying a CV input. This requires extra modules just to have two truly independent LFOs.
I think most people would want the default behavior to be pure LFO2 on it's channel. Then a CV could be applied to achieve a blend of LFOs on the LFO2 channel as a special effect rather than the default.
The blend could be 0-100% LFO1 plus 100% of LFO2.
A cross fade mode is another possibility. LFO2 decreases linearly as LFO1 increases.
It would be really nice if you could scroll through parameters by holding down the encoder and rotating back/forth, Disting-style. I appreciate the simplicity of the UI, but some apps (Scale Duet, Shredder) are pretty annoying to navigate in only one direction. Curious to see what folks think- I'm not sure if making it easier to navigate might counter-intuitively degrade the experience by encouraging more complex apps... y'know, Disting-style.
Issue 1: When o_C is saved in external clock mode & forwarding off, Benispheres always boots with forwarding on after a power cycle.
Issue 2: Long-pressing the left encoder to toggle forwarding / metronome is inconsistent when certain applets are loaded (specifically LowerRenz, maybe others). The toggle may be completely unresponsive after a power cycle, until the clock mode is cycled or applets are changed.