• This repository has been archived on 31/Aug/2023
  • Stars
    star
    427
  • Rank 101,680 (Top 3 %)
  • Language
    JavaScript
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SoundBox is an HTML5 synth music tracker/editor, suitable for creating music for small JavaScript demos (4K / 8K).

SoundBox

SoundBox is a tool for composing synthetic music, in your browser. Its design is basically that of a music tracker, which means that the music is organized in tracks and patterns.

The latest version of SoundBox is served at: sb.bitsnbites.eu.

Running locally

To run your own copy of SoundBox locally, you need to serve it via a web server (using the file:// protocol is not supported).

A simple method is to use Python SimpleHTTPServer (that usually comes preinstalled on Unix-like systems such as macOS and Linux):

cd path/to/soundbox
python -m http.server 8008

Now point your browser to http://localhost:8008/.

License

The SoundBox editor is licensed under the GNU General Public License version 3.

However, the minimal player routine, player-small.js, is released under the zlib/libpng license. This makes it suitable for inclusion in your own software.

Contributing

You are very welcome to contribute with pull requests. When doing so, follow these conventions:

Git commits

  • Use proper commit messages, in imperative form.
  • Let the Git history of your feature branch follow the recipe model.
  • If your commit fixes a reported issue, add "Fixes #14" (where "14" is the issue number) on a separate line in the commit message (in the body part of the comment, not in the summary part).

These are simple, conventional practices that make it easier to keep track of different patches.

Code

  • All code is written in pure HTML/JavaScript/CSS, without any third party toolkits or frameworks (though some shims are used for portability). Keep it so.
  • Use spaces for indentation (not tabs).
  • The player routine is special - it is designed and tuned for being as small and easily compressible (e.g. using GCC and DEFLATE) as possible. Do not add or alter the player routine without careful consideration.

More Repositories

1

buildcache

A build cache
C++
208
star
2

atomic

Tiny portable C++ library for atomic operations
C++
54
star
3

liblzg

liblzg is a minimal implementation of an LZ77 class compression library.
C
52
star
4

git-tools

Various tools for Git
Python
45
star
5

osbench

Benchmarking tools for measuring operating system performance
C
34
star
6

vasm-mirror

A git mirror of vasm - A portable and retargetable assembler
C
34
star
7

himg

Hadamard based lossy image compression
C++
20
star
8

resseract

A fork of the Tesseract FPS game
C++
14
star
9

libsac

A reference implementation of the SAC (Simple Audio Compression) codec.
C++
14
star
10

microS3

A tiny S3 client library suitable for embedded devices (a.k.a μS3)
C++
14
star
11

c-comments-to-cpp

A tool to convert C style comments to C++ style comments
Python
12
star
12

cmake-minver

A script for finding the minum required CMake version for a given functionality.
CMake
12
star
13

leanfloat

A simplified version of the IEEE 754 binary floating-point standard
11
star
14

hzr

A Huffman+RLE compression library
C
10
star
15

js-sonant

js-sonant is a JavaScript port of the sound synth Sonant, originally implemented in C.
JavaScript
10
star
16

mfat

A minimal FAT I/O library for embedded systems
C
9
star
17

tinythreadpp

TinyThread++ is a minimalist, portable threading library for C++, modeled after the C++11 standard.
C++
9
star
18

solidaritycsg

A library for quick and robust constructive solid geometry (CSG) operations on triangle meshes
C++
6
star
19

tinypgm

A small I/O library for PGM format image files
C
6
star
20

mc1-doom

DOOM - ported to MC1
C++
6
star
21

mrisc64

The 64-bit evolution of MRISC32
6
star
22

bcl

Basic Compression Library
C
3
star
23

SoftFP

Fork of Fabrice Bellard's SoftFP library, with added support for 16-bit half precision
C
3
star
24

arraymath

ArrayMath is a portable low level C++ library for performing primitive math operations on arrays.
C++
3
star
25

mc1-quake

Quake - ported to the MC1/MRISC32 architecture
C
2
star
26

bs

This may become something awesome in the future
Python
2
star
27

refrepo-ace

A tool for maintaining and using Git reference repositories
Python
2
star
28

openctm

This is the home of development of the OpenCTM project.
C
2
star
29

lomc

Experimental lossless movie compression
C++
2
star
30

css-styles

Some simple generic CSS styles for plain HTML documents
CSS
2
star
31

meson2ide

Generate IDE project files from a Meson build project
Python
2
star
32

fpga-ip

Various vendor IP components for FPGA:s
VHDL
1
star
33

viewer

A 3D model viewer
C++
1
star
34

html-generator

Simple C++ HTML generator classes.
C++
1
star
35

mageray

This project may eventually evolve into a functional C++ ray tracer.
C++
1
star
36

wishbone-blocks

Testing out Wishbone designs in VHDL
VHDL
1
star
37

ccperf

A tool for measuring C/C++ compilation performance metrics.
Python
1
star
38

dhrystone

Dhrystone 2.1 (clone of the 1988 original C source code)
Shell
1
star