TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

208 点作者 zebproj5 个月前

17 条评论

_nivlac_5 个月前
I&#x27;ve also enjoyed Google&#x27;s blob opera, for something similar!<p><a href="https:&#x2F;&#x2F;artsandculture.google.com&#x2F;experiment&#x2F;blob-opera&#x2F;AAHWrq360NcGbw?hl=en&amp;cp=e30" rel="nofollow">https:&#x2F;&#x2F;artsandculture.google.com&#x2F;experiment&#x2F;blob-opera&#x2F;AAHW...</a>
评论 #42513623 未加载
评论 #42515456 未加载
评论 #42513953 未加载
zebproj5 个月前
Thanks everyone for the suggestions and kind words.<p>Some details:<p>The source code for this project can be found on github [0].<p>I am using an AudioWorklet node with custom DSP using Rust&#x2F;WebAssembly. Graphics are just done with the Canvas API. The voice leading is done algorithmically using a state machine with some heuristics.<p>The underlying DSP algorithm is a physical model of the human voice, similar to the model you&#x27;d find in Pink Trombone [1], but with some added improvements. The DSP code for that is a small crate [2] I&#x27;ve been working on just for singing synthesizers based on previous work I&#x27;ve done.<p>0: <a href="https:&#x2F;&#x2F;github.com&#x2F;paulBatchelor&#x2F;trio">https:&#x2F;&#x2F;github.com&#x2F;paulBatchelor&#x2F;trio</a><p>1: <a href="https:&#x2F;&#x2F;dood.al&#x2F;pinktrombone&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dood.al&#x2F;pinktrombone&#x2F;</a><p>2: <a href="https:&#x2F;&#x2F;github.com&#x2F;PaulBatchelor&#x2F;voxbox">https:&#x2F;&#x2F;github.com&#x2F;PaulBatchelor&#x2F;voxbox</a>
评论 #42519240 未加载
butz5 个月前
Add &quot;display:block;&quot; 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.
评论 #42516666 未加载
评论 #42517028 未加载
hunter2_5 个月前
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?<p>Android Chrome with touch input (Pixel 8 Pro).
评论 #42517027 未加载
smusamashah5 个月前
This is awesome fun. Reminds of Google Blog Opera and Pink Trombone.<p>Can we have multiple voices when using multiple fingers please?<p>Edit: I can&#x27;t sing or play music but this is making me feel like I am making someone sing <i>nicely</i>, it&#x27;s relatively lot easy to play with.
kitshunt5 个月前
Source code is here: <a href="https:&#x2F;&#x2F;github.com&#x2F;PaulBatchelor&#x2F;Trio">https:&#x2F;&#x2F;github.com&#x2F;PaulBatchelor&#x2F;Trio</a><p>It&#x27;s written in JavaScript and Rust (compiled to WASM).
brunorsini5 个月前
Fun! I&#x27;d love the option to increase (double?) range. It would sacrifice precision somewhat, so a toggle would be ideal.<p>A toggle for quickly visualizing notes would also be useful, as well as keyboard shortcuts — perhaps while one clicks the mouse on a given note, pressing the keyboard shortcut for another specific note gradually moves pitch in that direction, with programmable speed.
评论 #42513891 未加载
zellyn5 个月前
This is so fun. One note: on iOS Safari on my iPhone, it <i>really</i> believes I’m trying to select everything, do drag and drop, etc. I’m sure someone here knows the proper CSS incantation.
ldenoue5 个月前
This thing is amazing can you add recording?<p>Perhaps some samples you or visitors create?<p>Then add a little sampler for beat and it’s a fantastic tool
vunderba5 个月前
Very neat. Side note, but one of the more fun aspects of Garageband on the iPad is that you can load string instruments such as an Erhu and play it by physically sliding your finger along the string in a very similar way.
fhackenberger5 个月前
This is such a great way to practice! Thank you for creating it! Could you perhaps add pitch indicators on the side and multi touch support? Or maybe it&#x27;s open source?
ycombiredd5 个月前
in Chrome, on my iphone, I can get a cool effect that looks like a glitch, but I wonder if it is a feature. If I hold a note a certain way, where the browser does a “select all”, and then drag my thumb, it drags a thumbnail of the page. When I release it, it keeps the first note and starts a new one using the new position of my thumb. I can create my own harmonies this way instead of the default parts that appear when I hold the note in place.
joshuaheard5 个月前
This is awesome! It would be great if you could record a snippet then layer your recordings.
MarkusWandel5 个月前
Does anyone make a USB Midi Theremin? That would totally be the right front end for this one!
评论 #42516571 未加载
varunneal5 个月前
so beautiful. I can imagine using this a lot if some buttons are added (start&#x2F;stop harmony, view note&#x2F;resonance, etc). great job
makapuf5 个月前
I&#x27;m sorry but I can see a small keyboard with selected notes, can some one describe what makes it 3 parts harmony ? Is it a song thing ? Some chord thing ? There is no description on the site or the github repo.
blaufast5 个月前
Neat!