All Projects → delucis → Cs.2click

delucis / Cs.2click

Licence: gpl-3.0
🔊 A Better Audio Router for a Modular System.

Projects that are alternatives of or similar to Cs.2click

Sporth
A small stack-based audio language.
Stars: ✭ 325 (+4542.86%)
Mutual labels:  modular, audio, music
Edsp
A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.
Stars: ✭ 116 (+1557.14%)
Mutual labels:  audio, music, signal
Jssynth
Make music in your browser with this synthesizer and sequencer
Stars: ✭ 25 (+257.14%)
Mutual labels:  audio, music
Sonobus
Source code for SonoBus, a real-time network audio streaming collaboration tool.
Stars: ✭ 586 (+8271.43%)
Mutual labels:  audio, music
Black candy
A self hosted music streaming server
Stars: ✭ 686 (+9700%)
Mutual labels:  audio, music
Blipkit
C library for creating the beautiful sound of old sound chips
Stars: ✭ 23 (+228.57%)
Mutual labels:  audio, music
Wavesurfer.js
Navigable waveform built on Web Audio and Canvas
Stars: ✭ 5,905 (+84257.14%)
Mutual labels:  audio, music
Soundcast
Cast audio from macOS to Chromecast
Stars: ✭ 684 (+9671.43%)
Mutual labels:  audio, music
Q
C++ Library for Audio Digital Signal Processing
Stars: ✭ 481 (+6771.43%)
Mutual labels:  audio, music
Daw
GridSound (0.33.0) wants to be an open source online digital audio workstation following the new WebAudio API 🎛🎹🎵✨
Stars: ✭ 804 (+11385.71%)
Mutual labels:  audio, music
Musiccloudwebapp
🎧vuejs仿网易云音乐
Stars: ✭ 705 (+9971.43%)
Mutual labels:  audio, music
Minimp3
Minimalistic MP3 decoder single header library
Stars: ✭ 898 (+12728.57%)
Mutual labels:  audio, music
Monstercat Visualizer
A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
Stars: ✭ 571 (+8057.14%)
Mutual labels:  audio, music
Tauonmusicbox
The Linux desktop music player from the future! 🌆
Stars: ✭ 494 (+6957.14%)
Mutual labels:  audio, music
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (+8200%)
Mutual labels:  audio, music
Hifiberry Os
Linux distribution optimized for audio playback
Stars: ✭ 487 (+6857.14%)
Mutual labels:  audio, music
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+8471.43%)
Mutual labels:  audio, music
Pyo
Python DSP module
Stars: ✭ 904 (+12814.29%)
Mutual labels:  audio, music
Fredboat
A Discord music bot sharing 1 million servers with 20 million users
Stars: ✭ 471 (+6628.57%)
Mutual labels:  audio, music
Librosa
Python library for audio and music analysis
Stars: ✭ 4,901 (+69914.29%)
Mutual labels:  audio, music

cs.2click

A Better Audio Router for a Modular System.

What/why?

Audio routing in a context that involves even a moderate number of potential nodes can get messy very quickly. Matrices that map inputs and outputs become unreadable with just a handful of rows and columns, while input/output selection embedded within modules degenerates into a stream of potentially tens of clicks to get your basic routing set up. The aim here is to build a better way of routing, designed for speed, ease, and clarity, hopefully making on-the-fly routing a less tedious experience. The inspiration is the two-click pattern used in Ableton Live, where the first click indicates one end of a signal flow and the second the other (HT Sam Wolk).

Functionality

cs.2click animated demo

A simple interface of in- and output slots are provided by [bpatcher] modules cs.2click-inputs and cs.2click-outputs. These modules require a unique string as their first argument, naming the module. An optional second argument sets the number of slots that are available (between 1 and 8). If no second argument is provided, the modules default to a single slot.

Routing pairs are stored in a global dictionary named cs.2click-routing-pairs. This permits easy routing not only within a single Max patch, but also between patches.

The README.maxpat demonstrates basic functionality and also includes some information on getting up and running.

Preset storage & recall

An additional abstraction [cs.2click-presets] permits you to store numbered presets and recall them by sending a preset’s index number. An argument provided to [cs.2click-presets] sets a filename to which you can save your preset (as a JSON file) and it will automatically try to load that file when the patch is opened. A “save” message will write your current presets to disk (in the same directory as the patch containing the abstraction).

This mechanism is built on a central [dict] object, which contains the stored presets. Messages whose meaning is not defined by the abstraction (store, save, storagewindow, storage_close, integers/floats) are passed on to this [dict], permitting direct communication if desired. For example, using Max’s standard import/export messages one can load and save preset files that are not in the same directory as your patch.

Point 6 in the README.maxpat demonstrates the basic preset capabilities, and the readme-presets.json file contains some example presets.

Routing with messages

For cases where you need to control a system of cs.2click modules with messages, see the [cs.2click-remote] abstraction.

Installation

Download the latest release, to your Max packages folder. You can find this under ~/Documents/Max/Packages for Max 6 or ~/Documents/Max 7/Packages for Max 7.

Compatibility

These modules have been tested with Max 6 and 7. They will not work with Max/MSP 5 or lower. Please report bugs under the issues tab above.

License

This software is free to use, modify, and redistribute under a GNU General Public License.

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].