Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bocasfx/Q
Q - Nodular Synthesizer/Sequencer
https://github.com/bocasfx/Q
audio electron midi music react sequencer synthesizer webaudio
Last synced: about 2 months ago
JSON representation
Q - Nodular Synthesizer/Sequencer
- Host: GitHub
- URL: https://github.com/bocasfx/Q
- Owner: bocasfx
- License: mit
- Created: 2017-03-20T19:40:26.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-06-18T07:39:11.000Z (6 months ago)
- Last Synced: 2024-08-01T03:24:40.509Z (5 months ago)
- Topics: audio, electron, midi, music, react, sequencer, synthesizer, webaudio
- Language: JavaScript
- Homepage:
- Size: 86.2 MB
- Stars: 11
- Watchers: 2
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Netlify Status](https://api.netlify.com/api/v1/badges/604e7488-88e9-4afd-94bc-41671701fe55/deploy-status)](https://app.netlify.com/sites/qseq/deploys)
###
Q - Nodular Sequencer
------
Q is a Nodular Sequencer controlled by the interactions between nodes and particle streams. It was built using React.
## Platforms
Q has been tested on Chrome but it should work on any decent browser with MIDI support.
## Nodes
Nodes generate midi messages whenever they become in contact with a particle.
- **MIDI**
- noteOn/noteOff messages to the specified MIDI destination.
- Lag and probability controls.
- Velocity control.
- Note and octave selectors.
- MIDI destination selector.## Streams
Particles travel along the paths defined by streams. Streams can have zero or more particles. There are three different types of particles:
- **Linear**
- Linear particle flow (user-defined length).
- Particle count and speed controls.
- **Circular**
- Circular particle flow (user-defined radius).
- Particle count and speed controls.
- **Freehand**
- Freehand particle flow (user defined path).
- Particle count and speed controls.## User Guide
| Icon | Action |
| :--------------------------------------: | :--------------------------------------- |
| | **Grab nodes** - Click on a node to select it. Click and drag a node to change its position. Click on an empty area to deselect nodes. ⌘+Drag on an epmty area to shift the position of the display panel. |
| | **MIDI nodes** - Click anywhere on the display panel to create a MIDI node. |
| | **Linear Streams** - Click and drag anywhere on the display panel to create a linear stream. |
| | **Circular Streams** - Click and drag anywhere on the display panel to create a circular stream. |
| | **Freehand Streams** - Click and drag anywhere on the display panel to create a freehand stream. |
| | **Clone nodes** - Click on a node to clone it. |
| | **Link nodes** - Click on a node and drag to a second node to link them. Messages travel from parent nodes to child nodes but not from child nodes to parent nodes. Loops are not allowed. |
| | **Unlink nodes** - Click on a parent node and drag to a child node to unlink them. |## Keyboard Shortcuts
| Shortcut | Action |
| --------- | -------------------------------------- |
| Spacebar | Play/Pause. |
| Backspace | Delete nodes. |
| ⌘+A | Select all nodes. |
| ⌘+S | Save project. |
| ⌘+O | Open project. |
| ⌘+N | Create a new project |
| ⌘+⇧+S | Save current project to local storage. |
| ⌘+⇧+O | Load project from local storage. |
| ⌘+⇧+C | Clear local storage. |
| ⌘+Click | Select Multiple nodes. |