All Projects → francoisgeorgy → BS2-Web

francoisgeorgy / BS2-Web

Licence: GPL-3.0 license
Novation Bass Station II Web interface

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to BS2-Web

smartbcr2k
Sits between your midi controller and your DAW to make your controller smarter
Stars: ✭ 21 (-38.24%)
Mutual labels:  midi, midi-device, midi-controller
Arduino-USBMIDI
Allows a microcontroller, with native USB capabilities, to appear as a MIDI device over USB to a connected computer
Stars: ✭ 98 (+188.24%)
Mutual labels:  midi, midi-device, midi-controller
zmidimap
Program for mapping midi signals to shell commands
Stars: ✭ 13 (-61.76%)
Mutual labels:  midi, midi-device, midi-controller
pacer-editor
Web editor for the Nektar Pacer MIDI controler
Stars: ✭ 16 (-52.94%)
Mutual labels:  midi, webmidi, web-midi
midi-eye
Ruby MIDI input event listener
Stars: ✭ 24 (-29.41%)
Mutual labels:  midi, midi-device, midi-controller
MiDispositivoMIDI V3
Open source Arduino MIDI controller.
Stars: ✭ 49 (+44.12%)
Mutual labels:  midi, midi-device, midi-controller
BMC
BMC the Badass MIDI Controller, all-in-one Scalable MIDI Controller library with a companion Desktop/Browser Editor App for Teensy LC, 3.2, 3.5, 3.6, 4.0, 4.1
Stars: ✭ 34 (+0%)
Mutual labels:  midi, midi-device, midi-controller
OpenDeck
Software and hardware platform for simpler building of MIDI controllers with support for DMX.
Stars: ✭ 438 (+1188.24%)
Mutual labels:  midi, webmidi, midi-controller
Scribbletune
Create music with JavaScript
Stars: ✭ 3,509 (+10220.59%)
Mutual labels:  midi, webmidi
Wad
Web Audio DAW. Use the Web Audio API for dynamic sound synthesis. It's like jQuery for your ears.
Stars: ✭ 1,540 (+4429.41%)
Mutual labels:  midi, midi-device
arm synth
Wavetable Synth Running on an STM32F 32-bit ARM Cortex M3 microprocessor
Stars: ✭ 23 (-32.35%)
Mutual labels:  midi, midi-device
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+208.82%)
Mutual labels:  midi, midi-controller
osmid
osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Stars: ✭ 63 (+85.29%)
Mutual labels:  midi, midi-device
wui
Collection of GUI widgets for the web
Stars: ✭ 44 (+29.41%)
Mutual labels:  midi, webmidi
midi
An Observable based library for the use of Web MIDI API with Angular
Stars: ✭ 35 (+2.94%)
Mutual labels:  midi, webmidi
PicoAudio.js
A JavaScript library for playing MIDI (Standard MIDI File) on Web.
Stars: ✭ 28 (-17.65%)
Mutual labels:  midi, webmidi
Prelude
A web app for practicing musical sight reading skills
Stars: ✭ 24 (-29.41%)
Mutual labels:  midi, web-midi
midi-player
A MIDI player which sends MIDI messages to connected devices.
Stars: ✭ 21 (-38.24%)
Mutual labels:  midi, web-midi
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (+29.41%)
Mutual labels:  midi, midi-controller
TouchOSC
A collection of examples and modules for TouchOSC MK2
Stars: ✭ 30 (-11.76%)
Mutual labels:  midi, midi-controller

Novation Bass Station 2 Web interface

  • Control your Bass Station 2 synthesizer from your web browser.
  • All of the Bass Station 2 parameters are visible on screen.
  • Save, load and even print your patches.
  • And, for the fun, leave the application create a patch with the randomizer.

Quick demo

Click screenshot above for a Youtube quick demo.

Requirements & Limitations

⚠️ This application requires a browser that support the Web MIDI API.

Currently, only Chrome 43+ and Opera 44+ support this standard. This app will therefore not work in Firefox, Safari or IE.

The Chrome browser is highly recommended.

This app has mainly be tested with Chrome on a MacBook pro running OS X 10.11. Some tests have been done with success with Chrome under Linux Mint 17.1. The application has never been tested under Windows. Any Windows feedback is very welcome.

Still under active development. Feel free to log bugs/issues. This is a development I'm doing during my freetime.

Usage

  1. Open https://sysex.io/bs2/
  2. Allow the browser to use your MIDI devices
  3. If it's not already done, connect your Bass Station 2 to your computer.
  4. When the Bass Station 2 is connected the application logo will glow.
  5. Move a dial or a slider on your Bass Station 2, the corresponding on-screen control must move accordingly.
  6. Move a knob or a slider in the application, the corresponding parameter must follow in the Bass Station 2.

The logo glows when the Bass Station is connected and recognized by the application:

connected

Bass Station 2 is disconnected:

disconnected

Keyboard shortcuts:

  • A..G : play the corresponding note. Add Shift for sharp and Alt for flat.
  • SPACE : play the last played note
  • I : init
  • R : randomize
  • L : toggle latch
  • O : toggle arpeggiator
  • S (or P, or ESC) : stop the current note
  • Up, Down, left, Right : patch up / down

Features:

Double-click on any knob's label to reset the knob to its default value.

reset

Application Menu

Favorites

Open the Favorites panel. You can save and recall your favorites patches here. Your favorites are saved in your browser's local storage. No files are created.

A favorite is simply a URL with the following format:

http://<domain>/bs2?sysex=<sysex-data>

Example:

http://<domain>/bs2?sysex=f00020290033000000000000000000006000004804037d7e0220100f777801004340200000ff7c00000000000f78000008200000077800004000000f700000000000126000000000001a4000202004001f190f6923797c7e3f1f5f6f70017c7e403f4f6770017c7e401f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7

Init

Reset the application and the Bass Station 2 with the default values (init patch).

Randomize

Randomize the parameters according to the Randomizer settings defined in the Settings panel.

Sync

Sync the application with the Bass Station 2. This is done by sending a request-for-sysex to the Bass Station 2.

Load patch

Open a dialog allowing you to select a sysex patch file (file with .syx extension). One loaded the patch is sent to the Bass Station 2.

Save patch

Open your browser's Save File dialog to save the current patch as a sysex dump file (file with .syx extension).

Patch sheet

Open a new window with the current patch displayed in a ready-to-print layout.

💡 With Chrome you can even easily create a PDF file.

Midi

Open a samll window that will dump all the MIDI messages sent or received.

Settings

Open the Settings panel. Within this panel you can configure:

  • the MIDI channel to use to communicate with your Bass Station 2
  • the randomizer

About

Display the About dialog.

Bass Station 2 MIDI messages

The MIDI parameters are documented in the official Novation Bass Station 2 user manual.

SysEx Dump

The application is able to receive and decode SysEx dumps coming from the Bass Station 2 ("FN-Key Global: Dump") as well as .syx patch files.

The SysEx dump format is not documented by Novation. I have reverse-engineered it and you can find the result in my other project BS2-SysEx.

TODO

  • Panic button/key
  • Space bar to toggle play DONE!
  • A-G keys to play notes DONE!
    • shift for sharp DONE!
    • alt for flat DONE!
  • history undo/redo
    • record all changes over time and replay
  • better patches managment
    • browse patches with auto-preview
    • S key to save as favorite with lastname+index
  • better randomizer
  • wheels representation
    • add sliders
  • arpeggiator support
    • auto-chords (from a selected scale)

Credits

Click on About to view the list of libs used to build BS2-Web.

Trademarks

Novation is a registered trade mark of Focusrite Audio Engineering Limited.

Bass Station II is a trade mark of Focusrite Audio Engineering Limited.

Useful links

Other BS2 editors

Recommended tools

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].