Orhack (beta)

Thank you! Clips is awsome!!!

1 Like

Exciting! Looking forward to dive in.

From now on I’ll concentrate my work in:

  • bug fixes.
  • finding new and fun effects/instruments to include in ørhack.
  • port some interesting organelle patches to ørhack.
  • make subpatches for some of the ørhack specific features such as (accessing patterns, latency compensation etc.) to be easily accessible to all patch devs.
  • cleaning up PD code.
  • cleaning up PD code again.
  • documentation.
  • videos.

After all of that I could consider the end of the beta era and the beginning of ØRHACK 1.0!

8 Likes

I rushed the release of 0.50b, due to time constraints with my day job, so please don’t hesitate to report if you find bugs or anything.

I’ve just fixed one with “clips” where turning a knob while recording armed was starting the recording, @arkanisgath I did this after fixing the .zop file, so maybe you missed this, you might want to check :wink:

Thanks to all of you for supporting this project.
Enjoy your Organelle, it’s a one-of-a-kind instrument :slight_smile:

5 Likes

this is huge @Audivit !! thanks a lot! :raised_hands:

1 Like

I really enjoy sequences module, but here the aux button doesn’t respond well when i want to rec, play or stop the sequence. Then the sequence itself is hardly syncable because of the delay (when the button works) and the many attempt to stop the recording…

It works perfectly to me, but you might have to get accustomed on how the aux button works, you have to press it quickly and release it to arm record, and press/hold to end recording.
I suggest to use the metronome and start recording at the first beat, otherwise you might be recording off beat and you’ll need to restart the transport, or arm record again and then press/hold aux to replay the sequence at the right time.

To be honest I had some weird behaviours on few occasions, but for the most part it worked fine, however I will look into it and see if anything can be done to make it more predictable!

I agree somewhat with @Lijcke but I don’t find it near as unusable. An improvement I would like to see and will possibly tackle is including a free mode that is stopped with the aux and fixed option for specifying a record length. I haven’t had trouble with starting and stopping when its already recorded but I do struggle with timing the aux press to begin looping with a perfect 4 or 8 bar loop.

I have really been enjoying Marginal and Generational Floss however and the other improvements you have made in this new version!

1 Like

Thanks.
To me long push doesn’t seem to be the best choice for recording as it implies to push the button before the end of the sequence to release it right at the end of a bar.
Obviously @T8R, it is way easier when the sequence is already synced, since at that time recording is just overdubbing.
I think the button should rec and stop when pushed, not when released.
It may be me, but long presses always struggle with synchronisation…

Why not just port the sequences module with menu when long press ?

The module has some sort of auto alignment built in, I’ve tested @T8R idea, and by ending the recording exactly on beat at the end of a predetermined loop length the result was a slightly longer loop than intended, so it was loosing sync.

I’ve fixed a little bug, not sure if it had to do with your issue but I’ve since tested the module extensively and it’s pretty easy to end the recording in time, all you have to do is press and hold the aux button for 100ms before the end of the bar, it doesn’t have to happen in perfect sync as the module will correct it as long as the end of the recording happens before the ending of the bar.

100ms is not a long press at all, you can see it as a press without an instant release.
Press & Release instantly to arm recording / Press to end recording.
(You don’t have to release the button in order to end the recording, the trigger get sent 100ms after pressing and holding the button).
It’s simple enough, you only have to get accoustomed with it.

I’ve removed the menu because I found it confusing and gave me unpredictable results most of the time.

1 Like

I also have to point out that the choice of having the end recording be a press/hold was dictated by two factors, one being the limitation of having one button do multiple things, the other being the easier way to implement it given the lack of time available to dedicate on the update release.

I also would prefer the end-recording to be an instant press as it was before, for sure I’ll see if I can do any better for the next update.

2 Likes

Thanks for the update @Audivit, I tried it today and installed the Update in a seperate folder without deleting the old Orhack version which led into just a tiny amount of patches that put sound out. I think all the new modules were silent, but haven’t documented it exactly. I first tried to reload all empty modules as you mentioned, but that didn’t fixed it.

I then deleted the old and the new version folders in /Patches and temporarly rename all existing and relevant folders (orhack folder in “/sdcard/data/” and in “/sdcard/media/”), so when I would reinstall Orhack later it will create new fresh folder structure. That fixed it and everything worked so far.


Just my two cents to the AUX button in Clips:
I do understand the critic on the behaviour of the AUX button in the new sequencer module “Clips”. It also led me into some troubles, but after your detailed explanation I think I could get used to it, but I’m interested in the “instant press to end recording”-solution :wink:


Another thing I tried today were the sample based patches in ORHACK. I haven’t tried them yet but noticed the extra folders /sdcard/media/orhack/kits and /sdcard/media/orhack/samples before.

My first question is why there are two folders, and what are the differences. Do some patches use the Kits and some use the Samples folder?

Here is how I loaded the folder: /Patches/media/orhack/kits
I put my kits library into it. kits 1-12 containing 4-12 32 bit .wav-files named: 1.wav, 2.wav, etc. Folders kit 13-24 are empty.

Here is how I loaded the folder: /Patches/media/orhack/samples
I just put randomly named .wav-files into it. (e.g. 1.wav, syntharp.wav, aciddrums.wav, etc)

Percussion made no sound.

I dont get Audioflow at all. I was able to record a sample and play it. Is it using the recorded sample temporarly or is it somwhere saved? Can I use presaved samples? If yes where to choose/dial them in?

Norisampler: When I tried to record a new sample and tried to play it afterwards I don’t got any sound as well; of course I made sure that I activated input gain. I’m not sure but I think it don’t even created a file somewhere at least I wasnt able to spot it.

Polytwig: no sound, no recording, also dont really get what it does.

Only Sampler that worked was Samplement.

It seems like Polytwig and Audioflow are more live sampling effect tools, but I’m nit sure. Please enlight me guys! :slight_smile: Would be nice to get Percussion to work!

Thanks, that’s exactly what I’ve found out about the sampler modules yesterday (sorry but recently I wasn’t using them much), the media folder path inside the orac.json file was wrong.

So I’ve fixed that, will release an update soon along with other fixes :slight_smile:

The kit folder is the usual kit folder in which you can keep samples more organised, the “samples” folder is useful to me because you can load more samples there to try out without disturbing the kits. My intention is to include both folders in all the sampler modules.

As for the problem of all the modules silent, when you unload the -empty- module you have to temporarily replace it with another module and then reload the -empty-, you have to do that on all slots including the master slots if they where empty in your preset, is that what you did?

Ha alright, nice to know that it’s the same with sample patches to you and I didn’t messed up somethin!

I thought that the samples folder was intended for exactly that and I’m really thankful for that. Another thought on that: It would be brilliant and logical that all new recorded samples, that were recorded in the patch, would be automatically saved in that samples folder! So you don’t need to take care that you overwrite one of your samples in your well prepared kit. You know what I mean?

For the other soundless patches and how I fixed it for me: I deleted the former orhack version and renamed the other folders. I just made a new clean install. I had that issue with soundless modules even in the clean init preset at the first parallel installation. I then tried to simply replace the empty module and then loaded the chosen patch.that didn’t make it. Maybe it would have helped to load a patch, then empty, then a patch in the empty slots if I got you right there.

Would it be possible to share the former version of orhack where the sample patches worked? I deleted mine…:see_no_evil:

The 4 chains have independent midi settings:

You have to first edit the “patch_loaded.sh” file (usually inside the /sdcard/ directory) to create the midi routings with alsa midi, adding lines with the name of your midi controller.

You can discover the correct names using the command “aconnect -l” using terminal, the name you need is the one just after the client number.

Example (connecting midi out of Pure Data to midi in of OP-1):
aconnect “129:1” “OP-1:0”

Example (connecting midi out of OP-1 to midi in of Pure Data):
aconnect “OP-1:0” “129:0”

Pure Data usually has output and input ports differentiated by “:0 or :1”.
But most other synths and midi controller are just showing up with a single port “:0” which works both as input or output depending on if you put it prior or after an input/output, as shown in the examples above.

Then in Orhack you have 2 options:

  1. If you want to use your controller on the active module (the module currently selected on your organelle) so using just a single midi channel,
    you have to go into the “hybrid” module sub menu and scroll to the “Active” page and set the midi channel to the same output midi channel as your controller, then you scroll to the page “A. Ctrl 2” and set “Act. Note: ON”.

  2. If you want to control each of the 4 chains individually by multiple controllers or by one controller with multiple output channels, you have to go into the “hybrid” module sub menu and scroll to the “Chain A Midi” page (then B,C and D) and set your midi in to “ON” and then set your desired midi channel.

Now by changing midi channel on your controller (or by using multiple controllers set to send on different output channels) you can access each of the 4 chains independently.

2 Likes

First of all, thank you so much @Audivit for the incredible and thoughtful work you’ve put into 0RACK.

I had avoided using it til now because I make heavy use of a microphone input into the Organelle, and the “Audio Thru Gain” feature from Orac was missing. I found the note in your disclaimer about the empty module issue, which clued me in on how I could set it from each module.json file.

However, this seems a bit inconvenient as it basically has to be done for every module. On the other hand, I think it makes a bit more sense than having an audio thru gain at all under most circumstances I can think of. It just ends up creating a creating an unpleasant, comb-filter effect because of varying latency from slot to slot.

Anyway, do you have any plans for addressing this conundrum? Is there any sort of hack I can implement so that audio thru gain is set to 0 globally for all slots regardless of individual module settings? It’s unpleasant to experiment with switching out modules and have my audio/mic input go weird or start feeding back.

Hi @zygomorph thanks a lot! :slightly_smiling_face:

I decided to deprecate the “r-thru-gain” feature mainly because I’ve found it redundant and found having the P1 & P2 sends was more useful, r-thru-gain was only necessary if a module needed a dry/wet control (es. a Delay) but then that would make more sense to have it implemented in the module itself rather than using thru-gain.

So I’ve made sure that in all those kind of modules included in Orhack a dry/wet or “amount” was implemented.

I also use the microphone and input a lot and there are a few ways to route the signal within Orhack:

    1. Navigate to the “Hybrid” module menu, page “Chain A Gain” or B,C,D. Then turn the parameter “A In L Gain” and “A in R Gain” up to the desired level.
      This will send the input audio to the first module of the chain and subsequently (in series) to every other audio effect module in the chain.
    1. Use the utility module “in-audio” put it on the module you want and set the input parameters “Ch.L” & “Ch-R” to 1 & 2 (or 1 & 1 if the input is mono like the internal microphone).
      This will route the input to the desired slot in the chain, even if the slot is preceded by another module synth, midi or effect.

The “thru_gain” (which is another thing) is always on by default, midi sequencers, synths, empty modules need to pass the full audio thru, you only have to modify the module.json file when you want to disable it for a specific module like and audio effect module, for instance “Gen Floss” has it disabled, and any other effect module that needs to alter the sound as a whole also need to have it disabled (this is also required for the latency compensation in case the module uses PD~), in those modules if there is need to control dry/wet amount you can do it within the module itself, or within the PD~ instance in case the effect is multicore enabled, all this to avoid phase issues between normal PD modules and PD~ instances whose have more latency.

So yeah, for the microphone, maybe I didn’t get what you intend to do, can you please explain to me what is that you’re having issues with?
Are those two routing methods mentioned above a viable solution for your case?

1 Like

Ah, thank you! You’ve really clarified a lot of things.

I wasn’t aware of how the audio-in module worked. I still have a question about how you described its use: when you say “put it on the module you want” did you mean “slot”? And it feeds audio into subsequent slots/modules? So then a use-case would be something like, you have one audio effect in the first slot, then audio-in followed by another effect, you can essentially provide each effect with a dry/original audio input even though they’d otherwise be serialized?

Yes I meant “slot”, you are supposed to put the “audio-in” module in the slot where you desire to inject external audio, the following effects will act as normally, that is to say in series, and some of them might have dry/wet control.

But if you want to have some parallel effects going from the “audio-in” module you can use the 2 send slots available “P1 & P2”, populate them with the effects of your choice and then send to them from the “audio-in” module…