Tedious but fun little sequencer project

Only works in turbo mode though. Almost finished
click to enlarge

Example song:
click to enlarge


What it sounds like:
Audio

Will release a link at some point but currently, this is a major problem:

We're working on the loading speed issue. It's hard, but the good news is we have a little bit of funding to work on it, which will help.

As for the running time, I'd have to see the code to have anything useful to say.

I'm trying to find some way to link the project but unfortunately the finished song makes it impossible to edit any of the blocks and when I try to open the project it will brick the page for a couple of minutes.

Good grief! Send a link anyway; someone will be dedicated enough to wait a few minutes. :~)

Warning, HEAVY lag

https://snap.berkeley.edu/project?user=wunder_wulfe&project=notes

Okay, I loaded it.

Why do you represent a chord in that user-unfriendly way, rather than as a list of MIDI note numbers? It must be really hard to debug a song, counting down those mostly-empty lists.

I don't see anything that should kill your computer, though. Unless having a bunch of simultaneous JS note thingies running at once bothers the browser.

Not sure...
I was going to add note names and whatever but try editing the block.. it kills my browser.
I've tried it on chrome and firefox, not sure why its so bad to load and modify.

Just start over... Here's my feeble attempt at Chopsticks, but for some reason the chords don't work for me. If you're a musician, unlike me, you can probably debug it:


I'm kind of proud of the rest, third from the end, which Just Works.

What I was trying to do is make it so that it looks like a MIDI sequencer but I couldn't get around to writing the note names bc it kept crashing. Also, I discovered a $-N attribute within the naming tool. $- creates a blank space and $-N where N is a counting number appears to change the padding for that line. What other uses does this have and are there any other naming tool functions?

I'm not sure what you mean. The title line of a procedure? The name of a variable?

When naming a custom block

Ah. Check out page 46 of the reference manual.

Its funny how stuff like this works fine but you cant do it without editing the xml or running JS for whatever reason
Surely just enabling the feature would be a good idea

We are now getting beyond my feeble knowledge of how music is done. You can take it up with Jens! Good night...

among the many things Google recently broke in Chrome is audio. Now it's terribly distorted. Firefox is still fine, sorta. Did mention that I hate browsers?

For some reason this

untitled script pic (3)

seems to play chords just fine. Any ideas why the wait block fixes it?

It is because of some stupid way behind how the oscillator plays frequencies. When you use actual music composition programs, there are tools in place to give you actual instrument sounds and make sure that the sounds you play dont have bad overlap. When playing these constant frequencies at the same time, what happens is the sound waves interfere with one another and make strange and 'broken' noises. Waiting will offset them from one another. You can see the same thing in my project, as I made a special block just for playing notes so that it will not play them as quickly as if the notes were played directly inside the block.

Also a really cool idea would be to have an actual in-place piano. That way you could click which notes you want and dont want in the box itself (click once to add the note, once to remove) and wont need a number or menu to open up above it.