All Projects → Vampouille → Superboucle

Vampouille / Superboucle

Licence: gpl-3.0
Loop application synced with jack transport

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Superboucle

Redis Ui
📡 P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app
Stars: ✭ 334 (+977.42%)
Mutual labels:  light
Hexo Theme Yun
☁️ A fast & light & lovely theme for Hexo. 一个对可爱自以为是的 Hexo 主题。
Stars: ✭ 477 (+1438.71%)
Mutual labels:  light
Pytradfri
IKEA Trådfri/Tradfri API. Control and observe your lights from Python. Examples available. On pypi. Sans-io.
Stars: ✭ 778 (+2409.68%)
Mutual labels:  light
Gatsby Starter Prismic
A typography-heavy & light-themed Gatsby Starter which uses the Headless CMS Prismic.
Stars: ✭ 381 (+1129.03%)
Mutual labels:  light
Hugo Theme Introduction
Minimal, single page, smooth-scrolling theme for Hugo static site generator.
Stars: ✭ 441 (+1322.58%)
Mutual labels:  light
Avalondock
Our own development branch of the well known WPF document docking library
Stars: ✭ 518 (+1570.97%)
Mutual labels:  light
Esp Mqtt Json Multisensor
(OBSOLETE) ESP MQTT JSON Multisensor for Home Assistant. Supported sensors include the TEMT6000 light, AM312 PIR, DHT22 temperature/humidity sensors. RGB led supports flash, fade, and transition. Over-The-Air (OTA) uploading, too!
Stars: ✭ 323 (+941.94%)
Mutual labels:  light
Ppipe
A simple and lightweight Rust library for making iterator pipelines concurrent
Stars: ✭ 13 (-58.06%)
Mutual labels:  loop
Fast Cgi Client
A PHP fast CGI client for sending requests (a)synchronously to PHP-FPM
Stars: ✭ 478 (+1441.94%)
Mutual labels:  loop
Wled
Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
Stars: ✭ 7,626 (+24500%)
Mutual labels:  light
Bladeone
The standalone version Blade Template Engine without Laravel in a single php file and without dependencies
Stars: ✭ 411 (+1225.81%)
Mutual labels:  loop
Phonon
Phonon is a responsive front-end framework with a focus on simplicity and flexibility
Stars: ✭ 425 (+1270.97%)
Mutual labels:  light
React Text Loop
Animate words in your headings
Stars: ✭ 595 (+1819.35%)
Mutual labels:  loop
Sc Lego Loam
LiDAR SLAM: Scan Context + LeGO-LOAM
Stars: ✭ 332 (+970.97%)
Mutual labels:  loop
Utox
µTox the lightest and fluffiest Tox client
Stars: ✭ 820 (+2545.16%)
Mutual labels:  light
Q42.hueapi
C# helper library to talk to the Philips Hue bridge
Stars: ✭ 323 (+941.94%)
Mutual labels:  light
Dsltablayout
♥️ Android界最万能的TabLayout(不仅仅是TabLayout), 支持任意类型的item, 支持Drawable类型的指示器,智能开启滚动,支持横竖向布局等
Stars: ✭ 489 (+1477.42%)
Mutual labels:  light
Server Manager
This repository holds the IntISP Interface. It can be rebuilt to interface with any other hosting panel.
Stars: ✭ 31 (+0%)
Mutual labels:  light
Senseme
Python Library for Haiku SenseMe app controlled fans/lights
Stars: ✭ 19 (-38.71%)
Mutual labels:  light
Nighttab
A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.
Stars: ✭ 598 (+1829.03%)
Mutual labels:  light

SuperBoucle

SuperBoucle is a loop based software fully controllable with any midi device. SuperBoucle is also synced with jack transport. You can use it on live performance or for composition.

SuperBoucle is composed of a matrix of sample controllable with external midi device like pad. SuperBoucle will send back information to midi device (light up led). Sample will always start and stop on a beat or group of beats. You can adjust duration of sample (loop period) in beat and offset in beat. But you can also adjust sample offset in raw frame count negative or positive. Which mean sample can start before next beat (useful for reversed sample). You can record loop of any size, adjust BPM, reverse, normalize samples, ...

Typical usage :

  • You just need to control jack transport (play, pause, rewind) with external midi device and want a button to jump to a specified location in song.
  • You have some instruments patterns but you have no idea of song structure.
  • You make live performance with pre-recorded instruments (you have no bass player for example) and you don't want to have a predefinied structure for the song (maybe part 2 will be longer on some live performance)

Features

  • Jack Transport
  • Record
  • Auto record latency
  • Audio input / output
  • Midi input / output
  • Normalize and revert samples
  • Negative sample offset, sample offset in beats or frames
  • Load several formats: WAV, FLAC, AIFF, ... (no MP3 for the moment)
  • Full intuitive MIDI learn interface
  • Support any MIDI device : generic keyboard, pad, BCF, Akai APC, ...
  • Fully controllable by MIDI device or mouse/keyboard
  • Goto function to move jack transport to specified location

Requirements

Linux

  • Python 3
  • Pip for python 3
  • Python modules : Cffi, PySoundFile, Numpy, PyQT 5
  • Running jack server

Windows

  • Jack Audio Kit

Installation

Linux

  • Install Jack server :

      sudo aptitude install jackd2 qjackctl
    
  • Install midi bridge (optional) :

      sudo aptitude install a2jmidid
    
  • Install python modules :

      sudo aptitude install python3 python3-pip python3-cffi python3-numpy python3-pyqt5
      sudo pip3 install PySoundFile
    
  • Download and extract last version of SuperBoucle from https://github.com/Vampouille/superboucle/releases/

Windows

Running

Linux

Start Jack audio server and then run SuperBoucle.sh script from SuperBoucle directory :

./SuperBoucle.sh

Windows

Start "Jack PortAudio" from start menu and then start SuperBoucle from start menu.

Contact

Feel free to send an email to [email protected] if you have any questions, remarks or if you find a bug.

Midi devices

SuperBoucle can be controlled with external midi device like generic midi keyboard, midi drum, Akai APC series, Novation LaunchPad, Behringer BCF, ... In order to configure a new controller, you have to select 'Add device...' entry in Device menu. Another solution is to import a .sbm (SuperBoucle Mapping) file contanning device configuration. Feel free to send me new device configuration, I will include it in next release.

What can be controlled by external midi device ?

You can :

  • Start or stop clip/sample.
  • Start, pause jack transport
  • Jump to beggining of song or at specified position
  • Adjust master volume
  • Adjust volume of each clip/sample
  • Select clip to record and start record

Velocity sensitive MIDI device

For those type of device, don't press button/pad with maximum velocity. In order to detect velocity sensitive device, superboucle need to receive MIDI message with velocity different than 0 or 127.

Device Name

Set the device name. Use a name of your choice. This is only for display purpose.

Start/Stop configuration

In 'Start / Stop buttons' part click 'Learn first line' button and press each button of the first line on external midi device from left to right. For all remaining rows press 'Add next line' button and press each button on external device. Finnaly, press 'stop' button (optionnal).

First midi event receive for a particular channel and pitch will be associated to the clip/sample. For example, if your device send Note On when key is pressed and a Note Off when key is release. Then Note On will be use to start or stop clip any other message will be ignored. Velocity is also used : if device send Note On with velocity 127 when pressed and Note On with velocity 0 when released. Then only Note On with velocity 127 will be used to star tor stop clip. Same rules apply to other function like 'clip volume per line'. So it should work on most device except those that are sensible to velocity : device which set velocity according to real user velocity.

Master volume configuration

If you have knobs or sliders on your midi device, you can associated one of them to master volume. In 'Master volume' part, click on 'Master volume controller' and move controller on midi device. You should see a description of the new controller (channel and controller id).

Transport configuration

If you have available buttons, you can associated them to transport actions. In 'Transport' part, click one transport button and press desired button on midi device. You should see a description of the new button. Record button can also be associated with midi button is this section.

Clip/sample volume configuration

If you have more than one knobs or sliders you can configure them to adjust volume of samples. On most midi device there is more buttons than controllers. So you cannot just associate one controller to one sample, there is not enough controller on midi device. In most case, you will have one controller controller per column. So SuperBoucle need to knwon which line you want to change. You have to configure one button per row and one controller per column. If on 'start/stop configuration' you have configured 8x4 buttons (four lines of eigth buttons), you need 8 controller and 4 buttons. When you press first button, controller are associated to volume of fisrt row's clips.

First click on 'Learn controllers' button and move each controller (in correct order) and press 'Stop'. Then, press 'Learn line buttons' and press button corresponding to line 1 on midi device, then button for line 2, ... and press 'stop'.

Colors

SuperBoucle will send information to external midi midi to indication clip/sample status :

Clip state Color
no clip black / no light
clip will start blink green
clip is playing green
clip will stop blink red
clip is stopped red
clip will record blink amber
clip is recording amber

In order to light button on external midi device, SuperBoucle will send Note On midi message corresponding to channel and pitch of buttons in 'start/stop' part. Velocity of those messages is used to set color. In this part you will configure velocity value to correct color. When you press 'Test' button, SuperBoucle will light up all buttons currently configured.

Adjust each color value to get corresponding color. For example, for green color, change value until external midi device show a nice green color.

Init command

If you have a reset command or a particular midi command to send to your midi device, you can put those commands here. One command per line in decimal value separated by comma. For example, for LaunchPad S this will reset all buttons and switch to blinking mode :

176, 0, 0
176, 0, 40
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].