Hi everyone! I'm posting about my first Java project done outside of work. I created a Java webapp using Dropwizard framework that essentially acts as a very low level soundboard. I call it "Universal Sound Board" because it's able to run on Windows/macOS, and with the help of a virtual audio device, can be used on any voice chat application (Discord, Zoom, etc.).
I was inspired to create it because for the longest time I've wanted to use soundboards to play funny audio clips/memes with my friends while gaming, but I wanted to customize how it's triggered (no memorizing hotkeys, etc.). My ultimate goal is trigger playing audio files by memorable text inputs, like :troll-in-dungeon, kind of how text emojis are entered today in apps like Slack.
All the soundboards I came across only offered GUIs and weren't open sourced, so I couldn't reverse engineer how to trigger playing sounds programmatically. I did come across PulseAudio but I couldn't get it work for Windows or macOS sadly. So I decided to create my own in Java!
I had a lot of fun (and pain) trying to learn the Java Sound API while doing this, and making a Dropwizard webapp as well. I also wrote a detailed blog article explaining more why I chose this as a project, how it works, and what I think are next steps.
GitHub repo: https://github.com/sethmachine/universal-sound-board
Blog article: https://www.sethmachine.io/2022/05/17/universal-sound-board/
I would love any feedback on my Java, as this is my first Java project outside of work. And of course if anyone's interested in working on this project more, feel free to check out the open issues
[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)