News for hackers. Stuff that matters.
Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Sunday October 06, 2019 @12:53PM (#21173189)
OP here. Feedback and questions welcome! Feel free to reply to this comment.

I also created a little subreddit to discuss Zupiter: https://www.reddit.com/r/musictools/

Re:Zupiter: A Web-Based Modular Synthesizer by WAHa_06x36 on Sunday October 06, 2019 @02:10PM (#21173724)
It doesn't seem your oscillators are behaving correctly when you vary their frequency input. You seem to be doing something like phase = freq * time, which will break horribly when freq changes. Instead, you need to accumulate the phase over time based on whatever freq happens to be, like phase += freq * timeOfSingleSample.
Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Sunday October 06, 2019 @02:15PM (#21173759)
So you think the oscillators should essentially be stateful? That might explain why I can't seem to implement 303-style slide correctly.
Re:Zupiter: A Web-Based Modular Synthesizer by TheOtherHobbes on Sunday October 06, 2019 @07:51PM (#21176054)
Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Monday October 07, 2019 @09:26AM (#21180488)
I implemented this last night, and it solves the problem I was having with portamento: https://z.musictools.live/#95
Re:Zupiter: A Web-Based Modular Synthesizer by tiborsaas on Sunday October 06, 2019 @02:33PM (#21173895)
After fiddling a bit around, I would change the colors of modules that handle CV versus Audio or add even more colors to better comprehend a patch I've just loaded.

I was unable to figure out how to disconnect a cable. I tried alt, ctrl, shift click, right click, but none of it worked. I just wanted to add a second oscillator to the first example.

A larger mixer component would be very useful, like 6 in to 1 out.

Maybe add a highlight to the module I click on so I can use my keyboard to delete, move them around.

Do you plan to add MIDI out?

Really cool to have a "reactor" in the browser, keep it up :)

Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Sunday October 06, 2019 @03:58PM (#21174669)
> I was unable to figure out how to disconnect a cable. I tried alt, ctrl, shift click, right click, but none of it worked.

I will likely implement that later today. Clicking on an input-side port will allow you to reconnect it to something else (or to drop the connection).

> A larger mixer component would be very useful, like 6 in to 1 out.

Agreed.

> Do you plan to add MIDI out?

I've thought about it. Right now, it supports MIDI play/stop/clock output, so you can synchronize it with a drum machine using the ClockOut node.

> Really cool to have a "reactor" in the browser, keep it up :)

Thank you :)

Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Sunday October 06, 2019 @07:27PM (#21175958)
Update: edge disconnection is now implemented. Click on the the input-side port associated to the connection. This will leave you with a dangling connection which you can reconnect elsewhere, or click anywhere to drop.
Re:Zupiter: A Web-Based Modular Synthesizer by tiborsaas on Sunday October 06, 2019 @04:39PM (#21174961)
It's probably on your backlog, but one thing would be useful is to build "components" with a container module. To group modules to a single entity, so they could be closed.

I'd assume it would have 3 inputs / outputs: gate / CV / audio and a custom label. Not sure how I/O is done in other node based editors, probably worth some investigation :)

Re:Zupiter: A Web-Based Modular Synthesizer by gogodancer123 on Monday October 07, 2019 @09:25AM (#21180486)
Undo button would be nice, I keep making mistakes ...
Re:Zupiter: A Web-Based Modular Synthesizer by bubblesorting on Sunday October 06, 2019 @01:23PM (#21173401)
Very cool project! Do you have any plans for a Zupiter API? I'd love to build a utility module or two, maybe even a filter.
Re:Zupiter: A Web-Based Modular Synthesizer by __max__ on Sunday October 06, 2019 @01:24PM (#21173408)
Thanks. Yes I do have plans for something like that. There's definitely a need for people to create new modules and reusable components, otherwise it gets too messy too fast.