Browsing articles tagged with " patch"
May 21, 2012 - 18:09
julien

Designing myUniverse (part 01)



I decided to bring you in my furious train running through those strange & sometimes abstract electronic & digital territories of my research.
Before to understand where I want to go here, I’d suggest you to read this post.

So at the same time, I begin to design some very early bits, I’m also sketching many ideas using evernote & skitch.
First ideas

The basic statements were:

As many great & strong (and especially personal) ideas, that one came naturally.
I always thought about it since around 1 year, but it became clearer since one month.
I need a meta tool.
Something stronger than a straight (even if some are a little bit non-linear) sequencer.
Something that could be that everything I need.
Something evolvable & which I could change, modify, improve not only during 1 month, but more, further in the future.
Something not only for experimental music.
Something that could drive me into very new and uncommon music research approaches.
But something fun at the same time !

Those statements had not really evolved but are more defined today.

The way I’m currently taking is:
I’ll design a 3D world with interfaces providing a way to compose and play.

Compose means : I’m placing objects, with particular properties and I’ll save maps (= presets), and I’ll restore maps etc.
Play means: I’m moving my current position into that world, altering objects, or not, observing, listening.

So there would be at least 2 strong parts :
- visuals
- sounds

Many frameworks exist for all of these jobs to accomplish.

 

First frameworks chosen
At first, I’m strongly involved in Max6 (and MSP & Jitter, less in Jitter saying … til today!)
I’m also strongly involved in C++ side of OpenFrameworks. I mean, I can add libraries to it, play & twist it etc.

My natural choice, at least for the core & brain logic is Max6
I could generate everything in Max6, from visuals to sounds.

Because I want to explore another new world for me named SuperCollider, I’d probably go with it for all the sound related stuff.

The idea is also to have 2 different binaries running not at the same place in memory ; intuitively, I feel that thing better than generating everything in the same one, even in Max.

The second reason for SuperCollider is the easy ability to create/set synthesizers & their voices programmatically ; indeed, everything is natively done programmatically in SuperCollider.
OSC is totally native in SuperCollider and it will be the way I’ll glue the two parts.

 

First explorations
I entirely dived in Jitter today.
I already knew a lot about it but now, I’m inside.
Especially, I tested Javascript (JS) with Jitter.
Indeed, as everything (or almost everything) in Max, you can use the patcher only, but you can also code some routines by typing code.
JS is totally integrated inside Max6. The 1.5 is very fast now.
It means you can wire a lot of stuff on one side or use JS to make the same thing on another.

It can be totally required as soon as you want to have a dynamic number of stuff. Stuff equals objects, in the sense of OOP especially.
In my case, how to deal with the creation/remove of a bunch of objects in my 3D meta environment only with patch objects ? It would be a pain, and I know that because I already worked A LOT like that in Max.
So, let’s go programmatically, we’ll have more efficiency both in the development step but in the use too !

In my system, I’ll use, directly Java and not JS
Since Max6, Java in Max is again easier.
Indeed, you can code, compile without leaving Max which is very powerful & ergonomic.
The object mxj is used to execute the code inside one and only one JVM launched in Max. Mxj also takes care of all communications between the JVM and Max itself.

Apr 26, 2012 - 15:22
julien

Polyphonic Synthesizer w/ poly ADSR



Currently designing the next generation generative music machine for mobile (especially iOS), I needed a way to trigger not only the pitch & velocity of a note to a polyphonic system, but also the amplitude envelope.

I’ll use libPD for this one too.
So yes, I’m using Pure Data too and not only max6 .. but it is the same family, even if there are many pure data nerd trolling a lot about max6.
Let’s prefer to spend time on using and making beautiful things instead of dividing people.
So, yes, I LOVE both pure data & max6 (and even reaktor!)

Why a need of polyphonic synth with an adsr for each event triggered ?
If the usual polyphonic stuff implement a way to trigger multiple note to may voices, each note having its pitch & its velocity, how can we do if we want different amplitude envelope for each note triggered ?
It is absolutely not native in the poly object in pure data (and in max6)

In my generative music machine, I need to send an event including pitch, velocity, attack, decay, release & sustain.
That way, I can control the whole sound triggered, firing some events more percussive, some other more smooth with a longer attack.

How I did that ?
So, after to have questionned here & there if there wasn’t something more native, more efficient, I designed mine which is quite efficient and indeed, it does the job well.
Even if I didn’t use their ways, I want to thank fp from the Cycling 74 forum and mod from puredata.hurleur.com forum.

One schematic is better than 100 words.
Here it is :

You can download it here
I packaged all in order to make an easier way by copy pasting the objects, but, of course, you’ll have to save the patch inside the orange square as voice.pd, then, to reopen the main one.
You’ll also need the adsr abstraction. Mine is inspired by the one here

Feb 12, 2012 - 21:50
julien

Maybe the next sequencer…



Those who have followed that lead know already I’m working on (amongst many things) an euclidean sequencer.
As many know, I already worked and currently proposing alternative sequencers for you all bored by straight sequences.

Especially, people seems to like a lot :
- The MatriX
- The Uncanny Sequencer

Here is a little view, totally unfinished view of the jsui object in max6 containing the whole javascript engine inspired by basic algorithms and a research text (The Euclidean Algorithm Generates Traditional Musical Rhythms ; Godfried Toussaint, School of Computer Science, McGill University, Montreal,  Quebec,  Canada)

Basically, euclidean algorithm solves a classical problem: how to distribute the most evenly possible x object into y slots ?
It involves to divide integers etc etc. (feel free to ask more in comments)

This sequencer engine is a new experiment for me.
It is based on a basic concept:
- the UI is made of classical UI elements + a JSUI providing a visualization but driving the engine too (all in one!)
- the sequences are fired from the JSUI engine into a seq~ object (event-driven sequencer object in Max)
- the seq~ is triggered by a phasor object locked on the Ableton Live transport

Seems efficient enough to be proposed to Design the Media, I mean, to be proposed to you.

Jan 12, 2012 - 17:30
julien

Bitwig studio … promising!



I heard about them, being myself inside technology but especially in all related to art & technology (as you knew…)

Bitwig studio website is : http://www.bitwig.com

Here is their first video

 

I read a lot of comments.
People complains, as usual, about the fact it “looks like” Ableton Live, etc.
Probably they forgot about the fact Ableton didn’t creates the “tracks” concept, clips concept etc.

Some people in Bitwig are former Ableton developers.
Some people knows that and they compare.

Of course we WILL compare tools, efficiency etc, but today there is only a teaser.
And it is very short and not very demonstrative (consciously, for sure)

As a music producer/composer/performer, I’d say: I ‘m very interested by new tools.
Indeed, some other  producer/composer/performer (I mean not the one who does that 1 hour very fast after his real day job, I mean people swimming in music everyday, like me) knows each tool can be used in particular cases … including the worst one.
At some point, you don’t even  think this one is the best,  this other one is the worst… you are more in the way where all tools can be used.

Thus, yes, I’m interested.

I just finished 2 live performances revamping, creation, merging, adding work.
I’ll play them on next weekend (basically tomorrow & saturday night @ http://maxuk.wordpress.com)
I really understood in some hard work sessions that while you are creating, some tracks, formerly used only for rhythms, became pads, or even voices tracks. All seemed to melt/fusion in a globality you feel and live as a whole piece of music.
In this kind of sessions, I’m exploring, sampling, resampling virtual machines, testing, merging, deleting, saturating, dithering (only for sound modifications purposes) etc
This is the precise moment where I like to open a tool, to use it in a total different way each time ;  this is exactly the moment where I could use a new tool like bitwig… not making a whole live using it at the first time, but maybe a sequence, a clip, piece of midi automation I could grab and put elsewhere…

I’m particularly interested by some features described on their website:
- multi monitor support
- per note automation
- modular system (does it includes an SDK to push the limits very far?)
- mixer clip launcher vs arranger clip launcher
- jamming over internet & LANs (does it involve servers ?)

 

The Modular native framework

The Point.
Don’t judge, don’t compare when you only have a piece of video with a duration smaller than 40 seconds.
Don’t think white or black.
Even if you are in love with Ableton Live and only it (it sounds crazy for me to behave like that but I respect totally that), then you may be very interested in using other tools !

 

And don’t forget to subscribe to the newsletter to be a beta tester… I just did it :)

Nov 2, 2011 - 09:34
julien

How to use consistent paths in max standalones ?



You want to build some max standalones for both worlds : windows & mac.
You want to keep one and only one codebase.

BUT You have to use path because your patch architecture requires it.
Ok.

No problem with this tip.

 

Grab the patch :

———-begin_max5_patcher———-
822.3oc0XtrbZCCEFdM7TnwqZmgRrjrkgztIyzsc5htrMSGisBnVaIFKQAZl
7tWcASbKA7kfoIYAJRVQ9b9xu9kNb+vAdyDanROv0fuBFL39gCFXGxLvfc8G
3kGuIIKVZmlWhHOmxUdibOSQ2nri+AyOfEzBJfIApETvxX0Bvchh7XkhlBRD
bIKkVv3ysO9yeAPUIiKWH8rSVne12KnIJW.gHjw9i.gASMMXXnoA4O1Gb6t+
n6DbEONmZifaJXwYkKGK0NlX1OdGNpbP9pbFOiprYBrxZHY+1tFPj9UrethU
pxI6aF7ggCMeL5bPpkqTfshUENJYw1aVuHVQ+EsXDXMimJVKAhBPdbxaqmQA
AjmGiH+eXTNUJimSOfQeZ6GYxed8chLsh4lqkql49U3IPwDz3v8pEHAYalzV
Rfl7jj.0FRThM2PpsKotHzyCbaGfDmtVGYGvHEXFH6TRCa7AvSw1FKcZux.c
F18fNFOlEym6Mpqb4zhmq1IdtpQhmnpaifgvNJdHuVDOZ2Xi0r08IdlTjsRQ
OkVBEZjOAScatPjtYyfv8nXxHjXZ+1yIlxDwoNQZcayfgAlFheGIC54SF3I2
lcNwxxB5RJO0d3kTsMi1.aH2AUP+tJc76Q.cd8ej5YrnADA667m6lWCb5KNu
liAjDQlfW+kXdt.I50h4qjls+Jd562oMsDMRv3a4CDi61VH3S6wfaCfv0cTd
+bjdSnDLvwEhU+PvcTEAesnhJzEWIpW0fv1ZBvcrxfm95v9u.cYd+2zkZtAL
W+V2JUz7p3IiwoIhUbU0+WdhCym31oAgNeo1BsfKlFxFW1z6eph2lblw+aRJ
00blTtTklB.39zKkJULdrhoMrqLIs0J3QFrfklR4U0A4rzkB8NzcAAJZh45h
XjSAFEtu2iuHlLdVFM83UN1pLvutLXZKy.DrZFToWOjASZRBf5TBfBIUR.au
dHAL2qu1LvTYcEk1gYvEFnvZBmi.Th0HENkruWe.TRS.JtFIwYLdhZR7Ptrw
C7EDe7aBehtbwSS7DC5jiBLJrhihsWeXp2HAmeaOVxcPj6qHrzT2zqOxfo8Q
FTIlaYFnu1vCC+SRpeH0
———–end_max5_patcher———–

Oct 30, 2011 - 22:29
julien

Switch Max5/Max6 inside Ableton Live



This is a basic thing to know.
Very few people knows that because til now, we only used Max5 inside Live as Max for Live.

Since 3 days, Max6 is released.

I read a lot of people have been annoyed by several bugs in their Max5 (old) patches.
Here is HOW to switch Live to make it using Max5 instead of Max6 & vice versa.

I also answered there: http://www.ableton.c…ax-6-by-default

Oct 29, 2011 - 22:25
julien

Max 6 What’s new



Thanks to Cycling74 people.
This upgrade is a MAJOR one.

Here is the What’s New in Max 6?

A New Interface

Patching Changes
Patch cords are now curved by default. “Curved Patch Cords” in the Preferences window adjusts this setting.
Alignment guides and new Align menu options speed interface layout tasks.
Patching is now the default action when clicking on an inlet. Right- or control-click to access the quickref menu on an inlet.

The Patcher Sidebar
The Patcher Sidebar provides access to new Object Explorer, the updated Inspector, the Max window, and object reference documentation.

Circular menu
A new circular menu pops up to the left of an object box, providing instant access to attributes, messages, prototypes and common editing tasks.

Searchable auto-completion
Auto-completion works in both object and message boxes. It includes argument and attribute information, and returns results based on searching descriptions as well as names.

Improved Audio Engine

64-bit Audio Signals
All MSP signals are now 64-bit for increased accuracy during synthesis, filtering and large buffer access. The cycle~ object now uses 16K wavetables (instead of 512 samples) providing an increased signal-to-noise ratio. The poly~ object offers high-quality resampling filters.

Audio Mixer
An integrated mixer provides audio routing capabilities and support for multiple processors by maintaining each top-level patcher’s audio in a separate DSP chain. When a patch is changed, the mixer cross-fades from the old version to the new one, facilitating live patching and a more pleasant editing experience.

Filter design tools
The filterdesign and filterdetail objects let you design custom filters and visualize their characteristics using the new plot~ object.

Enhanced OpenGL Support

New Physics Engine
Built on top of the Bullet physics engine, the jit.phys.* objects enable physical world simulation.

Built-in Material System
The jit.gl.material object provides material support for Jitter OpenGL objects. A materials browser (available by double-clicking on a jit.gl.material object) allows you to select a material and adjust its rendering behavior.

Hierarchical Rendering
A node-based hierarchy provides multi-level rendering contexts and supports complex scenes by allowing for nodal manipulation (such as movement and rotation). Combined with the new implicit rendering context, complex scenes are now much easier to create.

Gen: Our New Code Generation Add-on

gen~ for DSP development
DSP programmers have a new set of tools for audio stream manipulation – the gen~ object. This provides a context-specific patching environment that works on single samples within a synchronous environment. These patches are compiled into executable code with improved performance over equivalent MSP patches.

jit.gen, jit.pix and jit.gl.pix for matrix manipulation
Where the gen~ object works with audio samples, the jit.gen, jit.pix and jit.gl.pix objects work directly on Jitter matrices. The resulting code also executes faster, and the jit.gl.pix object produces pixel shaders that run on the computer’s GPU.

And More…

Self-contained project development system
When working on large projects, managing all of the patches, externals, abstractions and media files can become difficult. The new Project File system helps to package projects while maintaining project-specific search paths, Max preferences and performance settings.

Complex data structures using dictionaries
Max includes a new set of objects that can send large sets of organized data (called dictionaries) to each other. The dict.* objects build, modify, and display the contents of dictionaries.

Visual CPU profiling of audio signals
Choose Show CPU Usage from the View menu to reveal the audio load of a patcher by coloring the most CPU-intensive objects.

Vector graphic drawing via object or Javascript
A new 2D vector graphics API called Mgraphics is now available both through an object (jit.mgraphics) as well as within Javascript. The jit.mgraphics provides anti-aliased, path-based drawing directly to a standard Jitter matrix. Within Javascript, you can use Mgraphics for user interface tasks and data display.

Multiple OpenGL Camera and Light support
The OpenGL engine has been updated to support multiple cameras and multiple light sources. The material engine further supports this by rendering all materials within a multiply-lighted context.

Oct 10, 2011 - 22:20
julien

Max repatching tip



I offer this very basic but VERY time saving tip as a little video.
I want to do more videos for you in a close future.
I won’t schedule anything about that but… you’ll have videos here, on this blog (it is probably the “Follow this blog” time – click up above on the right, and you’ll be notified of new posts !)

Oct 10, 2011 - 21:52
julien

The Alterator v1.0 is released !



This Max for Live device is an audio effect combining a pure raw comb filter with a kind of sound degrader.
It can be used for rythmic, but for melody processing too.

You can check the video:

Features
- raw comb filter
- LFO modulation of the comb filter
- sound degrader (bit resolution + sample rate)

Requirements
- Max for Live (5.1.9)
- Ableton Live (8.2.6)

Pages:12»


Who am I ?

I'm a digital artist & a technology developer.
You can read more about me here.
You are on my official & unique blog.
Feel free to subscribe.

My twitter feed