Hacker Newsnew | past | comments | ask | show | jobs | submit | ahilss's commentslogin

I’m the developer of Transitions DJ (https://dj.app/). If anyone can connect me with the team at Apple Music, I would be interested in doing an integration.


This is the best thing I've seen on this website all week, what midi controllers do you suggest. I'm a very amateur musician and this feels perfect for making fun chopped up remixes of some of my music.


I tested it with my Hercules Inpulse 500 and it works beautifully.


That's a well-made software. You only use web assembly and custom JS ?


woah, insane domain name cop. and the app looks awesome, nice!


That's so great, incredible how it can connect with everything basically!


Wavacity developer here. I released this a year ago under the name "wavvy" but needed to rename the project because of a trademark conflict.

https://news.ycombinator.com/item?id=32688646


How did you get wxwidgets to compile to the web? Was it a lot of work?



This is the part I want to know also



I still do not understand. WxWidgets should rely on native controls rather then rendering them right? Does it mean that there is a branch of WxWidgets that renders the controls?


I wondered the same and found this comment explain it well: https://news.ycombinator.com/item?id=32689473 (the edit on the bottom in particular)


Maybe it's using gtk and compiling that to wasm and rendering via canvas?


Great job!

The world needs more folks to take initiative like this.


This is pretty cool!

Maybe add a description and URL in the repo settings? https://github.com/ahilss/wavacity

(and linking back to the GitHub from Wavacity would be nice too, as right now it's not obvious it's available)


I like this name too, it's even better.


I can't believe they have the audacity to rename their project


The chutzpah! Would be a good name too


Can this somehow be used to edit a file on a system remotely? Say I have some .wav's on a raspberryPi, can I publish them, edit, send them back to that raspberryPi?

Because that seems to me to be a very awesome use-case ..


What motivated you to build this? Just because it's cool (it is cool!) or to serve a practical need?


There was a lot of discussion back when Audacity decided to make some changes. I don't remember what they were specifically, but I do remember a few threads here about forks of the project. I don't remember the name wavvy, so maybe this is another fork. I was thinking the fork discussed here previously also was a play on the "*city" name as well.


IIRC They 1. Changed the license 2. Added a CLA 3. Added telemetry to the prebuilt binary


I think the largest of those forks is tenacity [1]. Some of the other forks were incorporated into it.

[1]: https://codeberg.org/tenacityteam/tenacity/


On the M1 Mac I actually measured lower CPU usage during audio playback on WASM compared to the native desktop version which uses Rosetta. I'm not sure if the slowness is due to Rosetta or a performance bug on the Mac port.


Supposedly[1], Audacity 3.2.0 will be available as an M1 native app.

Guess we’ll see then :)

[1]: https://forum.audacityteam.org/viewtopic.php?f=47&t=114242&s...


Niche hardware popular in the US alone? Mild shock.


It's probably the most visible project using the wxWidgets framework and in the audio domain which fits well with my experience building the DJ app.


It is rendering using the 2D canvas API. There's a device context class (wxDC) for each wxWidgets port that implements primitive drawing ops (DrawLine, DrawText, etc). For the WASM port, I created a glue library in javascript [1] that wxDC calls into for each primitive.

[1] https://github.com/ahilss/wxWidgets-wasm/blob/master/build/w...


I originally developed a WASM port of wxWidgets for https://dj.app/. When it came time to open source wxWidgets-wasm, I decided to port another complex app as a test case, and Audacity seemed like the obvious choice. In the process, I also needed to write a new host API for PortAudio for playback and recording in the browser.

https://github.com/ahilss/wxWidgets-wasm

https://github.com/ahilss/portaudio-wasm

https://github.com/ahilss/wavvy


For a simple and straightforward FFT implementation, I would recommend taking a look at the Kiss FFT source code. http://sourceforge.net/projects/kissfft/


Regardless of whether the building looks dumpy, the view of Midtown is magnificent: http://picasaweb.google.com/lh/photo/iU0pdqJt5xOtzMhGIbrfbg?...


Is that guy in a bathrobe?


I want to go to there


And another: Algorithm to predict football scores.


I believe they are using a non-standard crossover operator in this implementation. A standard crossover operator will generate some permutation of the genes of the two parents: either you inherit the gene from your mother or your father. This implementation creates a new gene that is a weighted average of the genes of the two parents. This will probably cause rapid convergence of the gene pool, which may or may not be intended. Changing Math.random() to Math.round(Math.random()) in crossVars would change this to the standard crossover operator. I'd be interested to see how this affects performance.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: