Live data from Hacker News

Show HN: A singing synthesizer for the browser with automatic 3-part harmony

pbat.ch

21–30 of 36 posts

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#23
post #14

Add "display:block;" to canvas to fix the issue with vertical scroll appearing. Also, you might want to consider looking into vh and vw units to fill canvas to viewport without using javascript.

Is there a reason to avoid using javascript for canvas layout considering you need javascript to draw on the canvas in the first place?

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#24
95% of the time, I can only get 1 voice at a time. 5% of the time, I can get 2 or 3 voices at a time (1 variable pitch, the others fixed pitch) but I have no idea what input causes this rare behavior. Can you add some help text explaining what various input sequences will achieve?

Android Chrome with touch input (Pixel 8 Pro).

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#25
post #3

I've also enjoyed Google's blob opera, for something similar! https://artsandculture.google.com/experiment/blob-opera/AAHW...

Also pink trombone https://dood.al/pinktrombone/

For years, I've wished someone would port Pink Trombone to a VST or something I could control through code.

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#26
post #25

Earlier quoted context omitted.

Also pink trombone https://dood.al/pinktrombone/

For years, I've wished someone would port Pink Trombone to a VST or something I could control through code.

Only thing I could find is a Eurorack module: https://blog.bela.io/salt-a-bela-powered-programmable-synth-...

I thought there was some repo public with C++ code, but I can't find it anymore... (https://github.com/belaPlatform)

EDIT: stupid me, it's linked in the article: https://github.com/giuliomoro/pink-trombone

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#27

95% of the time, I can only get 1 voice at a time. 5% of the time, I can get 2 or 3 voices at a time (1 variable pitch, the others fixed pitch) but I have no idea what input causes this rare behavior. Can you add some help text explaining what various input sequences will achieve? Android Chrome with touch input (Pixel 8 Pro).

A tutorial would be helpful.

Holding down a note and waiting will cause a second, then a third not to appear. When you move your held, note to another pitch, the other pitches will follow, but with a bit of delay. This produces what is known as staggered voice leading, and produces interesting "in-between" chords.

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#29
Thanks everyone for the suggestions and kind words.

Some details:

The source code for this project can be found on github [0].

I am using an AudioWorklet node with custom DSP using Rust/WebAssembly. Graphics are just done with the Canvas API. The voice leading is done algorithmically using a state machine with some heuristics.

The underlying DSP algorithm is a physical model of the human voice, similar to the model you'd find in Pink Trombone [1], but with some added improvements. The DSP code for that is a small crate [2] I've been working on just for singing synthesizers based on previous work I've done.

0: https://github.com/paulBatchelor/trio

1: https://dood.al/pinktrombone/

2: https://github.com/PaulBatchelor/voxbox

Re: Show HN: A singing synthesizer for the browser with automatic 3-part harmony

#30

Earlier quoted context omitted.

Not to nitpick, but, it being "Arts & Culture" and all, they could've at least said opera aria ... ... not song.-

Not to nitpick but an aria is for one voice.

Point.-

PS. The rest are ... what, the choir? A concertante if your fingers are fast enough, I guess :)

Post reply on HN