The Midi Generator device monitors a signal or other stream of data and creates midi notes based on a set threshold being crossed. If you'd like to use the level of an audio signal as the source, or map it to any of the parameters, you can use the Envelope Follower device that comes with Live Suite as part of the Max for Live Essentials pack (https://www.ableton.com/en/packs/max-live-essentials/). Mouse over any of the wires coming from the inputs at the top of the device and a popup will appear describing the data passing through it. Click on the wire to hold the popup in place. Now you can change controls in the popup itself. It may be deceiving, but you can map to the parameters in any of these popups. Click on the wire again to release the popup. I am working to develop a sophisticated, modular sort of side-chaining system throughout the devices I make. Click on any of the circular inputs at the top of the device and a menu will appear, populated with the names of all the available output connections in this system throughout the Live set. Select one and the connection will be made simply and easily, mapping that output to the parameter represented by this input (the one found in the popup below it.) Of course, you can map to any of these parameters in the ordinary manual way as well. Generative Stream This is the subject data stream that will flow through both the Note On-Gate and the Note Off-Gate. It can also be moved manually with your mouse. Note-On Gate Set the threshold which will trigger the creation of a midi note. Pitch Set the pitch of created midi notes. Velocity Set the velocity of created midi notes. Channel Set the channel of created midi notes. Note-Off Gate Set the floor which the stream must fall back below to trigger the end of a midi note. This is a Max for Live device. It requires Ableton Live 9.1 Suite or newer and at least a trial of Max/MSP 6.1 or newer, which can be downloaded from http://cycling74.com/downloads/. Older versions of Live and/or Max may work just as well, but there are no guarantees. I'm always glad to hear feedback on my work! Please send any questions, issues or feature requests to [email protected] And if you make something cool with one of my devices I'd really like to hear it! If you want I can do what I can to send some traffic to it, especially if it's on soundcloud. Mine's https://soundcloud.com/to_the_sun.
Muse Port is an interface device that allows streaming of the data collected by Interaxon's brainwave-sensing Muse headband (http://www.choosemuse.com/) directly into Ableton Live. Five brainwave frequencies, three axes of accelerometer data, blink and jaw clench detection can all be graphed in real time along with your midi and audio recordings, as well as mapped to control any Live parameter. To begin, get your headband connected via bluetooth and install the SDK available at https://sites.google.com/a/interaxon.ca/muse-developer-site/home. Don't worry about Muse Player or Muse Lab, Muse Port needs a UDP connection so just go to a command prompt and enter muse-io --device Muse --osc osc.udp://localhost:5000 --preset 14 --dsp As long as you haven't changed the name of your headband from the default 'Muse' and UDP port 5000 is available, data will be streaming into Muse Port once this goes through. The current UDP port, remaining battery life and the connection quality of the four sensors are all displayed in the top portion of the device. If there are one or more flashing circles in the headband-shaped icon, adjust the Muse on your head until all four sensors are reading well. Mouse over any of the numbered outputs along the bottom and a popup window will appear which displays a graph of the data streaming through it. Click along the wire leading to the numbered output to hold this popup in place. You may now select options in the popup itself. Sensor Mode Brainwave readings from the four sensors of the Muse can either be averaged as they arrive in the device or the highest can be used and the rest discarded. Hone Range Sometimes it can be useful to hone the range of the incoming data, in order to magnify its effect. If selected, the device will monitor readings and use only the highest and lowest it's seen to set the limits of the data stream, rather than the absolute full range of the sensor. The duration of this monitored history can be set via the Memory Span control in the settings. Clicking and dragging anywhere else in the popup will change the scaling of the graph. Click again on the wire to allow the popup to close. If you click on one of the numbered outputs itself a menu will appear. This menu displays all of the current mappings. Click 'Map New...' and then click on any enabled parameter anywhere in Live and it will be remote controlled by the data leaving the output. You can simultaneously map to up to four parameters per output. After a mapping has been assigned, you can click on its name in this menu to disconnect and remove it. Any of the data outputs may also be mapped through the main audio channel of the device itself. Click on the triangle-shaped input on the left and a menu will appear which lists all of the available connections. Alternatively, you may also map the actual audio signal passing through the device to any parameter you wish by clicking on the triangle-shaped output on the right. Click on the Muse Port logo to open up the settings menu. Memory Span For parameters with Hone Range selected, the device will look this many seconds into the past when determining the limits of its output range. Unlimited Memory Span The Memory Span will be as long as the time from when this, or the individual parameter's Hone Range control was selected. Automate Parameters The most convenient way to record Muse data in Live is to automate the parameter in question, thereby graphing it right along with your audio or MIDI recording in the arrangement view track. However, this unconventional strategy has its drawbacks. Namely the undo history will be compromised as it will perpetually fill while recording, which can be quite resource intensive both in terms of RAM and disk usage. Use with caution. Included in this download is a small companion device which generates midi notes based on an input stream. So for example, you could hone the range of the Relative Y-Axis Position output and send it to the Midi Generator to create a beat by nodding your head. Click here for the full description: https://sellfy.com/p/ns3f/. These are Max for Live devices. They require Ableton Live 9.1 Suite or newer and at least a trial of Max/MSP 6.1 or newer, which can be downloaded from http://cycling74.com/downloads/. Older versions of Live and/or Max may work just as well, but there are no guarantees. I'm always glad to hear feedback on my work! Please send any questions, issues or feature requests to [email protected] And if you make something cool with one of my devices I'd really like to hear it! If you want I can do what I can to send some traffic to it, especially if it's on soundcloud. Mine's https://soundcloud.com/to_the_sun. UPDATE: Version 1.1 beta Dear Muse Port patrons, Since getting this device into working order, I've been using it while playing music to empirically search for correlations between recognizable brain wave signatures and things like steady rhythm, etc.. That being said, it wasn't until last week that I noticed that a new version of the SDK (SDKv3.0.x, see https://sites.google.com/a/interaxon.ca/muse-developer-site/release-notes/ ) has been available for about a month. The changes they made to the osc paths in this new version will render the Muse Port as you bought it inoperable. I've thrown together a version which will work with the latest SDK, and will also take advantage of some of the new measurements they added, such as absolute vs. relative brainwaves, as well as Concentration and Mellow scores (see https://sites.google.com/a/interaxon.ca/muse-developer-site/museio/osc-paths/osc-paths---v3-6-0#TOC-Experimental/ ). This Version 1.1 is also included in this download as a separate file. Please be aware that this version is strictly beta; you may notice a funky thing here or there, but all the original functionality should be intact. In addition if you click on the Muse Port logo you will see that streaming data (and therefore mapping it) must be turned on and is not on by default. Note that the five standard brainwaves report absolute values, whereas before they reported relative session values, and now there are five separate relative brainwave parameters which can be automated (graphed). The two experimental scores Concentration and Mellow can also be automated. If you're savvy with Max for Live, you can access the data that is Retained In History by using a [coll ii-history] object; this is how I've been doing my experimentation. Of course if you want to use the Muse Port version you purchased, you can always just install the old SDK (which is included in this download) and use it with that. If you have any questions please feel free to ask! To the Sun
Real-Time Midi BPM Detector
This device simply displays in real-time the literal beats per minute and average beat interval of the midi passing through it, as determined by the most recent 10 seconds of music. This is a Max for Live device. It requires Ableton Live 8.3 or newer and at least a trial of Max/MSP 5.1 or newer, which can be downloaded from http://cycling74.com/downloads/.
Scale Auto-Detector and Randomizing Filter
Two devices are included and work in tandem: the Detector and the Filter. The detector will remember all midi-note pitches that are sent through it and share this "assembled scale" with the Filter. The Filter in turn will transpose any note it receives with a pitch that lies outside the scale to one with a pitch that lies within, at random and within the same octave. In this way, midi from one source can be fit to match the mode and key (or lack thereof) of another, no matter which pitches are involved in either, and this can all be accomplished in real time. - In both the Detector and the Filter, the assembled scale is listed above the keyboard in text and lit in blue on the keys themselves. Manually clicking the keys of the keyboard will toggle that pitch's inclusion in the scale. - By default, the Detector has a 'Memory Span' of 8 bars. This means that any notes passing through it will be included in the assembled scale for only that much time, at which point (if that note has not been detected again) it will be removed from the scale. This helps account for misplayed notes, key changes or the like. This time span can be set anywhere from 1/8 of a beat to 32 bars or, by deselecting the check box, the device can be set to retain detected pitches indefinitely. This check box and the dial can be mapped and automated. - The 'Clear' button of either device will remove all detected pitches from both. This control can be mapped and automated. - Either device can be bypassed by clicking the 'On' button. Clicking a second time will start the device functioning once again. This control can be mapped and automated. - By default notes will be transposed by the Filter, but they can also be silenced entirely by changing 'Transpose Discordant Notes' to 'Silence Discordant Notes'. This control can be mapped and automated. - If transposition is allowed, the initial randomization will be remembered, so that all notes will continue to be transposed to the same notes they were originally. Alternatively, discordant notes can be transposed to a different note every time by changing 'Remember Prior Transpositions' to 'Forget Prior Transpositions'. This control can be mapped and automated. If transpositions are being remembered and a certain note is set to be transposed to, but then falls out of the scale because of the 'Memory Span' mentioned above, a new note will be chosen at random for that transposition. This is a Max for Live device. It requires Ableton Live 9.1 Suite or newer and at least a trial of Max/MSP 6.1 or newer, which can be downloaded from http://cycling74.com/downloads/. Older versions of Live and/or Max may work just as well, but there are no guarantees. I'm always glad to hear feedback on my work! Please send any questions, issues or feature requests to [email protected] And if you make something cool with one of my devices I'd really like to hear it! If you want I can do what I can to send some traffic to it, especially if it's on soundcloud. Mine's https://soundcloud.com/to_the_sun.
16-Voice Randomizing Sampler with "Taste Recognition"
- Specify a source folder by dragging it and dropping it onto the device and it will be scanned (including subfolders, up to the chosen depth) for .wav and .aif files to be used as samples, whether drum or otherwise. Once there are some such files to choose from, midi notes entering the device will play either a random sample, if it had no prior associations or, if it did, the sample already assigned to it, in 16-voice polyphony. Because the device utilizes a queueing method whereby only a handful of samples are preloaded at a time, the source folder may contain a very large number of them without any delay experienced at the time they are played (preloading them all at once could cause Live to go unresponsive.) - Maximum subfolder depth is 9. - Valid files found within the source folder will fill the drop-down menu. Select one to hear it play. - The grid in the center represents the full midi range. Rows are octaves and columns are notes. The corresponding cell will flash when a midi note is received by the device. - The grid functions in one of two modes, 'Auto-Swap' or 'Assign'. The default is 'Auto-Swap' which means that clicking on a cell will swap out any sample already assigned to that particular note for a new one at random. Select 'Assign' to manually assign samples to notes. In this mode clicking on a cell will do nothing until a sample is selected from the drop-down menu, assigning it accordingly. - Click 'Swap Out Last Note' to assign a new sample at random to the last played note, which is displayed in the box to the left of this control. This control can be midi-mapped. - With the 'Swap Out Next Note' check box selected, the next note received will be assigned a new sample regardless of whether or not it had already been associated with one. The check box will then deselect itself. This control can be midi-mapped. - 'Clear All Assignments' clears all assignments made and is midi-mappable. - Clicking 'View Assignments' will cause a text box to appear listing assignments numerically by note, in the format [midi note number 0-127], [sample position on the drop-down menu beginning with 0] [full sample file name and location]; - Every time a sample is swapped out or cleared as an assignment, it will be given a sort of black mark against it. This means that the next time it would be chosen at random it will instead be passed over for a different random sample. A second "black mark" means it will be passed over the next two times, and so on. In this way the device is, in a sense, able to learn the user's taste and stay away from samples which have been rejected previously, as well as incorporating a generally wider range of samples overall. This taste is saved with the Live set and so is maintained for the life of (the iteration of) the device. This is true for the assignments themselves, as well as the source folder and subfolder depth, so everything will remain exactly as it was every time the user saves and later comes back to work on their set. Of course, the device can always be reset to its original state by deleting it and re-placing it into the track. Multiple iterations of the device placed in different tracks will not interfere with each other and will maintain all their own data. This is a Max for Live device. It requires Ableton Live 8.3 or newer and at least a trial of Max/MSP 5.1 or newer, which can be downloaded from http://cycling74.com/downloads/.
4-Track Randomly Subtractive Looper
- Click 'Record' to begin recording a loop and click again to end it. It will immediately begin looping in the first available track. This control can be midi-mapped. There are four tracks, each with its own voice and a maximum 30 seconds of stereo buffer space. - Click 'Clear All' to clear every track and start over. This control is midi-mappable. - With 'Uniform Loop Length' checked, all tracks will inherit the length captured by the first loop recorded, keeping them all in sync with eachother. This means that for each track beyond the first, the 'Record' button will only need to be hit once; recording will end automatically at the correct time. For more avant garde experimentation this box can be unchecked, allowing each track to loop according to its own captured length. - The audio in any individual track can be erased by clicking the track's 'Clear' button, which is midi-mappable. - Each track has a slider that controls its volume, displays its signal level and is midi-mappable. - For each track, a suppression percentage can be chosen. This number designates how much of the loop will be made inaudible, from 0 to 100%, with the exact portion chosen at random. This parameter is midi-mappable and can be automated. - The 'Smoothness' parameter designates how gradual the fade in and out of the volume is for the suppressed portion of the loop. The maximum value of 50% means the suppressed period spends half of its time fading out and the other half fading back in. 0% causes the loop to abruptly cut out and back in without fades. To silence an entire track (without clearing it completely), turn the 'Suppression' to 100% and the 'Smoothness' to 0%. This parameter is midi-mappable and can be automated. - The starting point of the period of the loop which is suppressed can be changed with the 'Phase' control. This control is midi-mappable. - Click a track's 'New' button to assign a random value to its 'Suppression', 'Smoothness' and 'Phase' parameters. This control is midi-mappable. - Click 'Randomize All Parameters' to assign a random value to each tracks' 'Suppression', 'Smoothness' and 'Phase' parameters. This control is midi-mappable. - The 'Wetness' control sets the volume of the loops relative to the incoming signal. 0% silences them, while 100% means the incoming signal will not be heard at all (but can be recorded just fine) and 50% equalizes them. This parameter is midi-mappable and can be automated. This is a Max for Live device. It requires Ableton Live 9.1 or newer and at least a trial of Max/MSP 6.1 or newer, which can be downloaded from http://cycling74.com/downloads/. Older versions of Live and/or Max may work just as well, but there are no guarantees.
Random Midi Suppression
This is a Max for Live device (.amxd). Requires Ableton Live 8.3 or newer and Max/MSP 5.1 or newer. - Set a suppression rate, the percentage chance any given midi note will have of being removed and not heard. Only note-on messages are affected; note-off and all other midi messages pass through unhindered. This control can be automated.
Signal-Based Auto Record
- Set a signal Threshold over which recording will automatically begin. This control is midi-mappable and can be automated. - The Tail designates the number of seconds recording will continue for after the signal has fallen back below the Threshold. This control is midi-mappable and can be automated. - With Breaks Loop checked, recording will restart after having ended from the point where it last began, looping over the last recorded segment. With it unchecked, recording will begin again from the point where it last stopped, creating no loop. - The six red and green check boxes can be set to designate whether the Global Record, Play, and Follow buttons turn on or off when the signal has risen above the Threshold or when the Tail has run its course, respectively. Generally you will want them all selected. - This device works well in the Master Audio Track although it can be placed in any track. - Click the button labeled 'On' to switch the device to bypass mode which essentially turns it off (sound will continue to pass through unhindered.) Click again to turn it back on. This control is midi-mappable and can be automated. This is a Max for Live device. It requires Ableton Live 9.1 or newer and at least a trial of Max/MSP 6.1 or newer, which can be downloaded from http://cycling74.com/downloads/.