I've recently developed a LV/React bridge and am using it on a production app, but nothing open sourced at the moment. I'll open it up at some point soon and try and post back here!
HN user
bezieio
If you like the idea of tailwind and don't want to look at utility classes and still want the power of styled-components or react-emotion I'd check out Chakra UI [0].
Nice work! I like the option to annotate with photos and notes! Have you guys checked out Spire? It's a free app, but could be paired with their hardware. It's different in that it's a really simple app for multitrack recording and editing, but I've also been using it for a similar function as Tape It. Not to take away from your work though, I will give the app a go :)
I've been building a Next.js app with a Django backend using django-rest-framework and dj-rest-auth. dj-rest-auth[1] handles auth and registration out of the box and takes no time to get up and running.
This is similar to a problem I ran into when building Bezie. I needed to keep track of the current tempo to send out MIDI clock events. I ended up using a web worker since `setInteral` was unreliable in backgrounded tabs. Here's the worker: https://github.com/jperler/bezie/blob/master/app/workers/tic...
I open sourced Bezie (https://github.com/jperler/bezie), a library I wrote three years ago for MIDI automation curves. It includes some good examples of how to interpolate cubic and quadratic bezier curves given drag points on the curves. I used Pomax's bezier write ups as a starting point, which really helped out a lot (thanks Pomax!). If anyone is interested, take a look in `bezie/app/utils`, specifically the `getControl` methods that allow you to derive control points.
I got motivated today after this post and finally open sourced Bezie! If anyone wants to see some of the bezier logic I used you can check that out in `app/utils`. https://github.com/jperler/bezie
I considered it, but ended up sticking with MIDI for versatility. Do you know of any good resources to learn more about OSC?
I'm in full agreement that bezier curves are hard to learn to use well! I created an app called Bezie (http://bezie.io/) about a year ago in which you could create quadratic and cubic bezier MIDI automation. I ended up not including it in the release, but I had a smoothness feature where it'd basically update the amount of steps that it'd pass to the interpolate function (using De Casteljau's algorithm). The more steps the higher the curve resolution. I found 64 steps to be somewhat of a magic number as it always looked and sounded smooth. There's also the balance of how many times you want the interpolate function to run while dragging points. With too high a resolution it gets CPU intensive and lags and with too low it starts getting boxy and no longer represents a curve. It's been on my plate to open source the app. It includes some helpful math for deriving control points while dragging points on the curve. Anyhow, nice post and thanks for sharing!
Here's an interesting presentation by the Winklevoss twins that steps through the elements and narrows down which could be used as currency and why:
https://www.slideshare.net/winklevosscap/money-is-broken-its... (Slides 7-17)
Here's a video with Traktor: https://www.youtube.com/watch?v=DBM5gAm83ao
Bezie gives you finer automation control in many DAWs, but not all. I don't think you'd gain anything from Bezie in FL Studio. Aside from automation, Bezie also allows you to connect a MIDI controller and trigger Bezie automation for use with DJ software [1] like Traktor.
[1] https://www.youtube.com/watch?v=DBM5gAm83ao&feature=youtu.be...
Thanks for the suggestions! Do you have any examples or ideas of how a software controller like Bezie could be used in a DJ setup? I'm open to exploring this a bit further - feel free to contact me directly at support@bezie.io. Thanks again!
Thanks! Do have any examples? I'm not familiar with bounce curves.
I followed De Casteljau's algorithm, not Catmull-Rom. The control points that you drag are at t=0.5 for quadratic and t=0.25 and t=0.75 for cubic beziers. De Casteljau's algorithm gave me a bit more flexibility to validate and constrain the automation curves. Thanks for the feedback!
There will be more control to select specific MIDI channels per envelope in the next release, pitch bend being one of them.
Yeah - Bezie definitely didn't take years! It's interesting that basic curves don't exist in some DAWs. My guess is that the codebase is monolithic and there's probably lots of legacy code that is hard to touch. Hopefully Bezie works out for you and thanks so much for the review!
MIDI notes are definitely out of scope for Bezie - I've had a couple of ideas, but they all make sense as separate utilities.
Haven't checked that out - I'll take a look. Thanks!
Bezie has some overlap, but the use case is a bit different. There are a couple of VSTs like LFO Tool and MIDIShaper that allow you to create a fixed width shape and toggle how many bars it should stretch over. In Bezie, if you select 8 bars, you'll literally get 8 bars to automate. As an example, if you wanted to map a couple different parameters to play with a song transition or drop, it'd make sense in Bezie, not so much in the others.
Funny - I've actually had several people ask me if this will work on mobile or tablet. I guess I can conclude that there's interest in that. I think it could definitely be an interesting project and next step for Bezie - Thanks!
The original motivation of Bezie was to build a simple tool to enable finer control over bézier curve automation. It evolved from a MIDI clip generator into a MIDI controller. Bezie opens up new possibilities with cubic and quadratic bézier curves. Bezie runs as a virtual MIDI controller outside of your DAW, not as a VST. This makes MIDI mapping extremely simple and no different than mapping from a hardware controller. Bezie also has several unique features including: vertical & horizontal envelope inversion, copy & paste, grid control and concurrent envelope rendering. Bezie is built with Electron, React and Redux and takes advantage of node-midi for virtual MIDI and SVG for the automation UI.