Skip to content
An online tool for sketching and sharing instrumental melodies.
TypeScript JavaScript HTML ActionScript AngelScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
as
editor
synth
website
.gitignore
LICENSE.md
README.md
compile_beepbox_editor.sh
compile_beepbox_synth.sh
compile_debug.sh
compile_embedded.sh
compile_example.sh
compile_offline.sh
compile_online.sh
deploy.sh
tasks.txt
tsconfig.json
tsconfig_synth_only.json

README.md

BeepBox

BeepBox is an online tool for sketching and sharing instrumental melodies. Try it out here!

All song data is packaged into the URL at the top of your browser. When you make changes to the song, the URL is updated to reflect your changes. When you are satisfied with your song, just copy and paste the URL to save and share your song!

BeepBox is a passion project, and will always be free to use. If you find it valuable and have the means, any gratuity via PayPal would be appreciated!

Beep Box is developed by John Nesky.

Compiling

The source code is available under the MIT license. The code is written in TypeScript, so to compile it you'll need to install the TypeScript compiler, and to do that you'll need to have already installed node and npm.

Running the TypeScript compiler command (tsc) in the repository should output JavaScript (.js) files into the website/ folder. I also recommend installing uglify-es because I use that to create minified JavaScript (.min.js) files. I've included shells scripts that run the compiler and minifier for you.

Those who are familiar with TypeScript may be surprised to learn that I do not use any of TypeScript's module systems. Instead I use triple-slash references to include code and namespaces to keep it out of the global namespace. That means that I don't need any web pack system to be able to deploy a single JavaScript file. I don't use any other libraries so I don't need a package manager either, aside from installing npm in order to install TypeScript and Uglify. BeepBox is relatively self-contained.

The code is divided into the synth/ and editor/ folders. The former has all the code you need to be able to play BeepBox songs, and you could use this code in your own projects, like a web game. The latter has additional code to display the online song editor interface.

After compiling the synth code, open website/synth_example.html to see a demo using it. After compiling the editor code, open website/index.html to see the editor interface.

You can’t perform that action at this time.