A self-contained analog-style synthesizer that runs within a Web browser.
Open your compatible Web browser and navigate to http://stevecj.github.io/browser-based-apps/analo-sizer/analosizer.html . Play notes by clicking the keys on the piano keyboard image or by pressing the corresponding keys on your computer keyboard.
Note that you can play chords using the computer keyboard, subject to the limitations of your keyboard's ability to distinguish combinations of simultaneously held keys.
- Has very few controls so far. Does not yet have filtering or provide volume envelope control,etc.
- Is not known to be working properly on any mobile Web browser and visual layout is poor on mobile Web browsers.
- Does not yet attempt to respond to touch events, so does not play chords using multi-touch.
- Text keys don't play notes in Safari or Firefox when the focus is on a waveform radio button.
- There is sometimes a click at the beginning of the playing of a note in Firefox as if maybe the attack fade-in starts before the note starts playing.
- Fork it ( https://github.com//analo-sizer#fork-destination-box )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Note that the build process requires a bash
-like environment (generally
the default on Unix, Linux, BSD, OS X, etc.) not a Windows environment.
It should be trivial, however, to modify the script entries in package.son
to work with Windows if you want to run a build on Windows.
You'll need to use npm to run the build process, so install node.js and npm if those are not already installed on your system.
See https://nodejs.org and https://docs.npmjs.com/getting-started/installing-node
Change to the directory in which you'll want to have the analo-sizer project directory created, and then clone the analo-sizer repository from GitHub.
git clone https://github.com/your-user-name/analo-sizer.git
Change to the newly created ./analo-sizer directory, and then update the npm project.
npm update
npm run build
Open a compatible Web browser (a modern browser with WebAudio support) and enter the file URL to the analosizer.html file in your build directory (e.g. file:///Users/boss/Projects/analo-sizer/build/analosizer.html).
To list the development tasks, ...
npm run
To have the project automatically rebuilt when you modify files in the project's ./src directory, in its own terminal window or pane...
npm run watch
This project uses the Ractive.js framework for tempating and UI data binding. See http://www.ractivejs.org/ for more info.
This project uses Browserify to build a single runnable javascript file from a number of source module files and npm packages. See http://browserify.org/ for more info.
The process of publishing a release is currently manual.
- Edit the .src/analosizer.js file and update the version string.
- Commit the change.
- Tag the commit with the version number in the form of "v<version>".
- Push the changes to the upstream git repository.
- Run the build process:
npm run build
. - Copy the files from the ./build directory to the location at which the files are to be hosted for public access.