Dimensions is an open source ESP32-based MIDI sequencer that uses Parametric Equations to generate cool, unexpected musical patterns.
The full workings are explained on my website www.erikoostveen.co.uk
Dimensions is an open source ESP32-based MIDI sequencer that uses Parametric Equations to generate cool, unexpected musical patterns.
Home Page: http://www.erikoostveen.co.uk/dimensions.html
Dimensions is an open source ESP32-based MIDI sequencer that uses Parametric Equations to generate cool, unexpected musical patterns.
The full workings are explained on my website www.erikoostveen.co.uk
Dear Mr. Oostveen,
Sorry to trouble you, could you please clarify the pinout for the OLED module header (P2 as labeled on the pcb). Code specifies pin D5 for CS, however on the board D5 is connected to SW4 (Store). I have traced the board and have the following for the OLED header:
Pin 1= N/C
Pin 2= GND
Pin 3= D17 (DC)
Pin 4= D4 (RST)
Pin 5= D23 (MOSI)
Pin 6= D18 (SCLK)
Pin 7= 3.3v
Pin 8= GND
I had the boards made from the included JCB files and further imported the gerbers in Diptrace to verify - confused as to CS connection and quite possible I have misunderstood. Thanks in advance for your assistance - very much looking forward to running Dimensions (I like your stuff and have built some of your older projects).
Frank
url is broken: https://http//www.erikoostveen.co.uk/dimensions.html
Hi Eric
I recently purchased a front panel/pcb set for Dimensions on ebay,
I've got it fully working despite my best efforts such as soldering the pot sub-board in backwards - fixed with some jumpers and a simple code change.
I've made a couple of additions/changes to the code.
New mode/menu item - Z axis generates notes/velocity. In VELOCITY mode everything works exactly as the current version. In NOTES mode note pitch is selected from the same array as the current Y part but based on the Z value. The note interval is selected as currently but the mapping in to the interval array is reversed compared to the Y axis selected notes - this is an attempt to give some rhythmic movement between the two parts (Y & Z). Selecting NOTES mode switches velocity to FIXED mode.
Additional MIDI channel select - The sequence generated by the Z axis can be routed to a different channel. I currently have the Y part going to MIDI channel 1, Z part is going to MIDI channel 2 with a mono synth on each channel. Obviously you could send both parts to a duo/polyphonic synth on single channel.
Some refactoring to reduce the number of code changes required when I added a menu function.
Added a Lorenz attractor as function 21. As a chaotic function that evolves slowly over time and doesn't really fit with the t/step model of the original functions. The store/recall functionality doesn't really work due to the evolving/chaotic nature. This required a couple of changes as the next step is calculated based on the results of the previous step and I need to retain the float versions of x,y & z but be able to cap the int versions used for note and interval selection.
I have not worked out the full implications of Z axis as NOTES for the store/retrieve functions yet - I've mainly been playing with the Lorenz attractor which kind of breaks them anyway.
The Z axis as NOTES works with all the existing functions although some are obviously more interesting than others.
Other changes:
I needed to reverse the note length potentiometer mapping due to my build mistake.
I needed to swap the encoder pin assignment because it was working backwards. I'm not sure if this is just a feature of the encoder I have or another case of sub board being in backwards.
I'm tempted to reverse the operation of the param up/down button. I my head I see this as a list on a page with 1 at the top and 24 at the bottom so currently "up" increases the parameter number which moves down the list in my head. I'm also can not get used to the gear shift +/- paddles in my car being arranged with - on the left and + on the right.
If I were able to contribute changes then, for these items then maybe I should add some setup menu items to configure these choices with the default set the way properly built hardware would work.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.