Custom Firmware on the OP-1

I need to come up with an iter patch... I'd be stoked if mine made the cut! Haha.

I have two of my own patches that I think I’d like to add, so there’s 14 slots left. I’m quite sure any patch will make the cut as long as they’re not too similar to each other. At this rate I’m not sure if we can get the full 16 patches as no one has uploaded any to op1.fun yet :smiley:

Anyway I think once people upload patches we should vote on which ones to include. Let the community decide :slight_smile:

I need to come up with an iter patch... I'd be stoked if mine made the cut! Haha.

I have two of my own patches that I think I’d like to add, so there’s 14 slots left. I’m quite sure any patch will make the cut as long as they’re not too similar to each other. At this rate I’m not sure if we can get the full 16 patches as no one has uploaded any to op1.fun yet :smiley:

Anyway I think once people upload patches we should vote on which ones to include. Let the community decide :slight_smile:

Ok, awesome! Will those 16 spots use up the space that’s allocated to the user patches?


I made a couple of patches this morning… Felt like I was on to something, but in the end, I wasn’t sure, so I’ll check back in tonight and see if I have anything worth uploading :slight_smile:

I have one that’s like an electric piano sound but has really nice harmonics… geez it may even be a slight variation of the default iter patch… been so long I’m not sure

Guys, could somebody help me, please - how to save right .SVG (for example in Illustrator) for op-1 to understand it and to make it work without glitches.

I’ve tried Inkscape and script op1svg, but the picture were with glitches.

@Romanwave get surgical with a text editor, observe the IDs and stick to the limited set of supported tags.

@Romanwave get surgical with a text editor, observe the IDs and stick to the limited set of supported tags.

Wow, so, the only way is to edit it with text editor?


I’ve tried to implement this (Inkscape + script):


okf
but it was with glitches and some lines were broken...
I've read Reverse Engineering PDF, but I couldn't find there how to implement .SVG right with illustrator.

Clockwork orange! Haha so cool.

I’d be keen for this mod, but also I basically never use the finger sequencer. I would like to use it a bit more, as I know some of y’all really dig it. I’m just set in my ways with endless + arp.

Clockwork orange! Haha so cool.

I’d be keen for this mod, but also I basically never use the finger sequencer. I would like to use it a bit more, as I know some of y’all really dig it. I’m just set in my ways with endless + arp.

I could make more interesting mods for all op1 pictures, if I found how to export right .SVG files for op1 to understand (and without glitches).

Clockwork orange! Haha so cool.

I’d be keen for this mod, but also I basically never use the finger sequencer. I would like to use it a bit more, as I know some of y’all really dig it. I’m just set in my ways with endless + arp.

I could make more interesting mods for all op1 pictures, if I found how to export right .SVG files for op1 to understand (and without glitches).

Have you talked to @wavi?

@Romanwave cool graphics! Can you post a PNG of what the SVG looks like after you run it through op1svg? That might help me improve the tool.
I’ve been able to get by with Inkscape as long as I post process the results with op1svg. I haven’t tried Illustrator but that might work fine without the my svg tool.

There’s at least one issue with the op1svg tool, which is that it doesn’t convert SVG transforms that inkscape when moving groups or multiple objects around as a selection. That’s quite annoying but I think I’ll be able to fix it at some point.
@Romanwave get surgical with a text editor, observe the IDs and stick to the limited set of supported tags.

Wow, so, the only way is to edit it with text editor?


no, but text editor will give you the control required so that you can match your custom svg-s to the idiosyncrasies of the engine


There’s at least one issue with the op1svg tool, which is that it doesn’t convert SVG transforms that inkscape when moving groups or multiple objects around as a selection. That’s quite annoying but I think I’ll be able to fix it at some point.

svgo+selective copy-paste?


Hey @wavi. Many thanks for all the hard work. Amazing that you managed to unpack so many secrets of the OP-1 and compile an easy to use python module. Hero! Respect.

I love open source software and rely on it everyday. But I do understand, at the time, how TE wanted to create an awesome musical instrument and not spend their time and money and developing a fully hacker-friendly open source API that would still be able to run smoothly on very limited cpu power. My 5 cents.

Cheers

@wavi @eesn


This is result with Inkscape and svg tool(I changed only left player):

P80311-002501

This is result with Illustrator cs4 (14.0) and "save as" way of saving .SVG

P80311-001231

I've used these parameters:


param

I've tried many variations of saving in illustrator, but only one (I'm not sure) was without errors on load, but on screen there were a mess of glitches.
1 Like
Hey @wavi. Many thanks for all the hard work. Amazing that you managed to unpack so many secrets of the OP-1 and compile an easy to use python module. Hero! Respect.

I love open source software and rely on it everyday. But I do understand, at the time, how TE wanted to create an awesome musical instrument and not spend their time and money and developing a fully hacker-friendly open source API that would still be able to run smoothly on very limited cpu power. My 5 cents.

Cheers

Thanks! I also give many thanks to @tabascoeye, who started this killer thread and @jakeokay who have both been trying to get much deeper into the firmware than I (reverse engineering the actual code).

I hope to improve the python tools in the future. Lets see what the future holds, but op1svg clearly needs more work.

@Romanwave
The first screenshot looks promising but something is clearly f***ed. I’ll try and see what happens when I run the original finger seq svg through op1svg without any modifications… If my tool is causing those bugs I’ll have to find out why and fix it. I don’t have much time right now so that might take some time :/.

would a copy of illustrator help you?

like is some of these glitches or needing this script in the first place b/c of the way inkscape handles .svg?

i only ask bc illustrator seems like a pretty robust program for vector graphics i.e. svg’s
whereas inkscape is more of a jack of all master of none type of thing no?

I’ve looked at the output of several vector graphics packages, and each one does a few “custom” things. For instance Sketch keeps meaningless nested group transforms. Illustrator stores encoded bitmaps and fonts inside the SVG (including when it doesn’t need to). Optimisers like svgo remove and convert most of these but may also replace one type of object with an equivalent other (e.g. rect vs path).


This is why I suggested that the only way that allows complete control over the process is studying the original SVGs in a text editor, and then surgically applying any custom replacements, converting the markup to fit the OP1’s engine where applicable. SVG is a complex format (you can alias and embed all kinds of things, all the way up to html pages, css, and other svg-s) and it’s very low chance chance if one just exports a file it would simply work.

What does the OP1 support? I remember the library it uses was posted earlier in this forum.

Yes indeed credits to @tabascoeye, @jakeokay and anyone contributing to the thread. The SVG header claim to be created by Adobe Illustrator:

I would be surprised if TE used a special formatting no?

Also it looks like TE is using tag id’s. Probably as handles on dynamic elements that needs to be animated ex. the turntable arm