OWLsy - a port of OpenWare to Daisy platform

Hello,

I’ve spent last few months porting OpenWare to Daisy Patch and by now it’s in mostly usable state. As in - I can build and load existing OWL patches on it and device doesn’t burst into flames when I run them. So I guess it would be safe to announce its existence, in case if there are more people willing to test this firmware.

For now it looks like Windows 10 USB drivers are giving an error when trying to use it. I’ll be making an updated FW release when this would be resolved in upstream OpenWare code.

I’ve compiled some basic info about Owlsy usage/installation in FAQ format here.

Announcements and releases have been moved to separate thread

10 Likes

Sweet! Sounds very good, hope to find some time to try it soon!

Sure, give it a go and let me know if there would be any issues in process. Typically you would need to flash bootloader binary, then send it the sysex with firmware, reboot after 10 seconds or so and see running firmware.

I was thinking about making an introductory video, but for now I’d rather get some feedback from more competent users.

1 Like

I guess I should also let @sletz know that with this firmware port Faust patches are fully usable with all features added for OWL itself (parameter binding, MIDI controls, dynamic memory allocation to SDRAM, etc). In fact I didn’t need to change anything in OWL arch files to get them working. Quad channel audio works too.

I love this idea and I’ve been trying to follow the steps you outlined but I have absolutely no coding experience, so I haven’t gotten a chance to try this, maybe in the future, there could be a way noobs like me could install this. I love the creativity in this project though, I admire you for it.

Yes, there’s no requirement to write any code in order to install this firmware. You would just install bootloader the same as any compiled Daisy patch, then load firmware image as MIDI sysex files when bootloader is running. Your patches would be loaded in the same format, but when firmware is running.

There are prebuilt images for bootloader and firwmare. For your patches you would use existing FirmwareSender tool to convert binary to sysex after building them.

1 Like

8 posts were split to a new topic: OWLsy announcements

Here is an updated guide for Mac:

Mac guide

4 Likes

Hey hey :slight_smile:

So when I first discovered this post I was totally amazed by it and confused aswell, because I never heart of OWL. I digged a bit, but became a dad around that time. I let the daisy patch and music at all sit down for a while haha
Then Befaco released the Lich and there was it again. This magical cody something named OWL. I digged deeper this time and thought. Fucking hell thete a lot of apps for this system, I wanna try it out. I almost bought the Lich till I remembered you’re post today (got the make noise echophon instead - finally after so many years). Sorry off topic.

So I wanna thank you, that you programmed this, it looks awesome and even if I had a lot of fear installing this owlsy, because I have no clue about sysex programling or any program language who is not visual like max. So I fucking made it. Took me only 10 to 15 minutes with you’re little install instruction and some research in the net.

It worked, almost… but I have no clue whats wrong. Like on the picture you see, the rebel technology page recognized my daisy owl. I went to that filthy kick example, because it seems to be written especially for daisy owl. And pushed that store button. I tried it with app slot 0 and 1. I unplugged the daisy seed, put it into the patch, started my modular and the owlsy interface shows up. The Encoder works. I can travel through the menu and click zo go to the sub menus, but there is no apps/patches on it. After I click store there is a really shot loading icon but no other message or something.
I tried it with other examples as well, like a reverb. The loading icon seemed to be longer, but same result.

What could be wrong? Do I need the daisy lib installed on my pc (which I have, but maybe I did a mistake here, because I’m a coding noob)? But I guess not because when I installed owlsy, the daisy patch talks now owl and not daisy lib anymore?!

Or maybe I don’t understand the rebel technology page, maybe there is an extra step I need to do?

So so sorry for my long and part silly post, but I was so hyped to try this and it seemed to work and then not, I needed to reflect that here.

So I am grateful for any advice and solutions. I’m excited to use this platform!

Kind regards Franky

Hey Franky,

Thanks for the kind words. Well, most of your gratitude for Owl should go for Martin from Rebeltech, really.

Regarding the patch you’ve tested, this was done as a test for using DaisySP library. Support for this is not merged to upstream OwlWare repository yet, so building it in their web patcher won’t work until that happens. There’s a comment in patch description regarding this.

Every other patch in Rebeltech library is expected to work with the firmware version you’re using (at least in theory). So maybe you should just try a different patch.

2 Likes

Thanks that worked! A lot of new stuff now to test with owlsy :wink:

1 Like

Found here from the Daisy as Audio USB device thread, spent some time loading Owlsy onto Daisy Patch and it works!

After making sure Owlsy firmware is loaded on Patch device, I really enjoyed trying patches from the library on Rebel Technology website (With the latest Owlsy firmware, the patches on the website can be stored onto the device via browser directly, although some patches will fail storing to device, causing the Owlsy hangs requiring a hard reset, might be due to patch code size I guess). I hand-picked 40 cool patches and stuffed them onto my Daily Patch :slight_smile: Also I have tried building existing patch source code manually and using your fork of OwlProgram and running on my device successfully. Thanks for your outstanding work porting the OWL platform to Daisy!

Before I start building my own patches on Owlsy, I have some questions to ask regarding status for USB audio support:

  1. It seems the only capture device (audio input) is exposed (which is working), and the playback device (audio output) is commented in the code. Before I try building firmware with the comment removed, I want to ask if there is currently any issues in exposing USB audio playback device?
  2. It seems only 48k sampling rate is supported? Do you think it is possible to make it support 96k/24bit?
  3. I would be happy to help porting Owlsy to other Daisy devices (I got the garden set), and it seems I can start by forking your OpenWare repo and cloning DaisyPatch directory to make support for other devices?

Thanks again and Cheers!

1 Like

Hi,

Always nice to hear a success story! It would be interesting to know which patches failed if you can find some examples.

  1. The USB audio output should probably be left untouched for now. I’ve asked Martin from Rebeltech and it has a few problems:
  • Windows doesn’t work with it correctly for whatever reason
  • different type of USB audio (async device) is required to handle synchronization correctly

So basically, it’s disabled because Martin doesn’t thinks that it would work, but it would be improved and enabled later. I didn’t bother checking it on Daisy yet.

  1. Higher SR is possible, I think I could try to get this working. It does use 24 bit depth already, btw. But of course running at double SR would cut processing power into half effectively, because you’ll process the same amount of samples twice as frequently.

  2. You can’t help me, you can only do the port yourself :wink: I don’t have other Daisy based hardware and don’t plan to get it. It took ridiculous amount of time to get this working (porting from F4 to H7 MCU, resolving tonne of issues with QSPI, etc). So right now I’m mostly interested in incremental updates to OWL itself and porting them to this fork.

I would say supporting other hardware should not be too hard, because you’ll be able to use most of the codebase from port to Patch. I would suggest the following order: Pod > Petal > Field. Pod is simple and has only peripherals supported by Patch. It would be a nice starting point, plus there should be lots of users here that have it as it’s pretty cheap. Petal is still not too complicated, just has more knobs/buttons and would require a little bit of custom UI for encoder LEDs. Field would be most challenging, as it requires porting from libDaisy or writing from scratch some code for MUXed ADC and somehow exposing the keyboard to user patches. Maybe it could be generating MIDI events?

Either way, good luck with this. I will try to help if you’re actually going to continue with this.

1 Like

After some tweaks, I’ve made a build running at 96kHz SR. However, this makes USB audio non-functional. It might be exceeding bandwidth.

I’m not sure if it’s worth spending time on this.

2 Likes

Thanks @antisvin !

Sounds like I can go ahead trying to port Owlsy onto Pod first as you suggested :slight_smile:
Thanks for the information regarding USB audio playback and sampling rate support. I agree with current known issues it is not ready yet to expose playback channels to public, but I might still take some time trying as my own project currently plans to make Daisy work with linux as the only audio interface, to see if that works.
Regarding sampling rate support, in theory the bandwidth of USB 2.0 should be more than enough? but maybe I can also take some time trying here after successfully porting to Pod and see if it works with just stereo channels.

I will definitely keep you posted (with PRs hopefully) after I make some progress in porting.

Thanks again!

USB 2.0 is a set of standards that includes different modes. 480 Mbit/s is for High-Speed mode. This MCU supports only Full-Speed mode (12 Mbit/s) on its internal USB device peripheral. In other words, USB2.0 is backwards compatible with USB 1.1 and in this case we’re operating on 1.1 speed.

USB 2.0 HS is supported only on host peripheral if you use external PHY. So far nobody made an official Daisy based board that supports this.

@antisvin Thanks for the information!
I spenting some time googling and found some documents with the same information with as you described. Good to know about this limitation. I should probably go back to the USB Audio discussion thread and report what I found. Thanks again!

Hi there, been trying out some owl patches from the rebel tech library on daisy patch. Works pretty well.
Is there a quick way to remap the owl patch outputs to daisy patch?
e.g. owl patches using “push” out is not directed to daisy patch’s gate out.

Actually I was going to make an update to change controls to better map to official RebelTech hardware. They would become something like:

  • input params A, B, C, D
  • output params F, G (E is “expression pedal input” on original Owl module/pedal, so it shouldn’t be used as an output, Lich does the same thing)
  • input buttons 1 = pushbutton, 2
  • output buttons 3 = pushbutton

Lich uses exactly the same mappings, including push button treatment compatible to old OWL patches. Current Owlsy build only uses pushbutton as an alias to button1 and not button3, so some patches won’t work as expected.

Hi, new user here:

I have followed the instructions (as bes as i could)

I can upload the MidiBootDaisy*.bin ( v.0.2) file trough the Daisy Web Programmer, and i have uploaded DaisyPatch*.syx 22.0.0 (and later 22.1.0)
i get an UART error on the Daisy patch Screen.
If it try uploading trough the owl webpage, it het this messages:

CONNECTED TO: Owlsy v22.0
MESSAGE: Bootloader v0.2 is locked (some sectors)
ERROR: Error 0xa0 uart error

I followed the install instructions but only found the bin file for the dfu on release 22.0

Any idea what i might be doing wrong?

Thanks a lot!