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
Anyway I think once people upload patches we should vote on which ones to include. Let the community decide
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
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.
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’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).
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).
@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.
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.
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.
This is result with Inkscape and svg tool(I changed only left player):
This is result with Illustrator cs4 (14.0) and "save as" way of saving .SVG
I've used these parameters:
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.
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 :/.
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
I’m on linux so I wouldn’t be able to run Illustrator even if I had it. There’s a mac at work with Illustrator though.
As @mathelev pointed out the original files have been done with Illustrator. I’m not sure what the export options should be though.
The script I wrote is mainly targeting Inkscape files. However I think it would be possible to make it convert most SVG files to the correct format. That would be hard to do, since the SVG would first have to be parsed, and then all the elements would need to be reformatted and then output in the simple format that the OP-1 understands. That includes removing some things entirely. Also I’m not sure if I’m up to the task or have enough time…
As far as I can remember we don’t know what the SVG parser is. To be honest I think it’s a custom parser written by TE. Why? Because of the strings in the firmware file:
<span style=“background-color: rgb(255, 255, 255); font-family: “Courier New”; font-size: x-small;”>…\src\gui\lib\Parser.cpp:577 Can’t decode id %s in SVG document %s.Non-ASCII character in group/object id?
Looks like they use rapidxml for the XML part of the SVG files (note it’s in a directory called “3rdp” which means third party. The parser on the other hand is just in a directory called “lib” and no mention of third party there.
The best option would probably be to just use Inkscape and figure out what the export options should be. EDIT: I just ran the finger sequencer SVG through op1svg. It uses a python library (svg.path) to parse the paths and for some reason that library just crashes with this file