Skip to main content

A detailed workflow study

Posted

Howdy,

So I just finished my first composition for a real project with synfire. While working I kept a log of all the issues I came across that impeded the work flow or that could other wise be improved. I did my best to organize these issues here.

The project was a fully cg short. I had worked on the visual cgi aspects for 16 to 20 hours a day, seven days a week for four months. By the end I only had a day and change to do the music before my deadline. Synfire completely saved my ass. At the end of my rope at 5 in the morning I was able to turn out a minute of chamber music within an hour. The rest of the music which was a mix of orchestral and electronic elements was achieved in half the time it would have taken me in a traditional sequencer despite the fact that I was still working out the kinks of Synfires learning curve.

There is no doubt Synfire is the bees knees.

I have read the manual a few times now but I imagine a few of these issues already have solutions.

Single Window Phrase Editor

In working with Synfire I often ended up with as many as 30 phrase editors opened at the same time stacked one on top of each other. Here is what I propose for a more efficient editor.

All phrases should be accessible from a single editor. At the right of the interface there would be a tree displaying the complete Arrangement structure as such:

New Arrangement
--->MyContainer01
------>Violin01
------>MeanSynth
--->MyContainer02
------>Drums

A additional viewing mode could display which parameters are being snapshot under each item.

The list would default to a child/parent hierarchy but could be reordered based on a variety of parameters: pitch range, timbre (which would be inferred from the types of instruments and articulations (perhaps synfire needs to categorize common articulations the same way it does with instruments)), Loudness, Dynamics, Dissonance, Rhythmic density etc... This would let us find parts based on musically relevant information and not just by their arbitrary placement with in a complex nesting of containers.

It would also be nice to see user defined, arbitrary parameters. This could be thought of as a sort of meta tag where a conceptual parameter of the music could be assigned a vector over time. For example the user could define the parameter "uncertainty" with a 0-1 graph. This would not effect the parameters of a synth but instead help as a structural guideline for the composition as well as a parameter for Synfire to use to more intelligently group and present the data for rapid access. With this functionality a rough structure can be drawn in before any notes are laid down.

With this hierarchical list, parts could be quickly selected for display. Multiple parts could be selected at the same time, with the first select part active and the additional selected parts ghosted for visual reference. Clicking a ghosted note would change its part to active. This way multiple parts can easily be correlated and edited with respect to each other.

The ghosted parts, in addition to being desaturated, could have a color coded line drawn, though and connecting all symbols, with an occasional instrument name attached to clearly designate the parts. Like wise overlapping symbols could have some sort of graphic flag to warn that there are multiple parts on top of each other.

This setup would also allow short segments and symbols to be quickly passed back and forth between instruments, in spite of which container they reside in. Currently the work flow is:

Select the symbols,
Copy
Deselect the symbols <- symbols should really be deselected after a copy
Go to another instrument
Switch to select range tool
Select correct time grid (say if the paste begins a 16th note before a measure)
Select correct insertion point
Paste
Regroup all segments as they seem to lose their grouping

Here what it should be:

Select either symbols or segments
Select an instrument(s) from the hierarchy
Hit a "transfer" hot key which automatically places the symbols in the selected instrument(s) at the exact same time.
An alternate hot key would move the part instead of copying it, cutting it from the original instrument.

Being able to throw parts around from instrument to instrument quickly is something I would really like to see in synfire. This could even be extended by assigning instruments, temporarily to the number pad hot keys. This way one could quickly map all of the wood winds to the number pad select a symbol or segment and quickly pass it around to different instrument and experiment with different combinations.

Like wise, hot keys to quickly change articulations would be welcome especially for orchestral string where there may be many articulations happening in rapid succession.

MIDI Output display

Within this single window editor, there should be a toggle to display the rendered midi output of all instruments selected in the hierarchy. Of course this would not be an editable display.

At some point, it would be nice to be able to select an output note move it and have Synfire automatically adjust the parameters needed to achieve that result -- this I understand is a very complex problem and is not urgent.

Being able to visualize the interaction of the actual rendered music in multiple parts would be very helpful in the compositional process.

Hot keys

The hot keys in Synfire need to be rethought. The most common tools in my use were:

Select individual symbols
Line Drawing
Snap grids
Zoom In out

The keys for these tools should be in close proximity in a configuration where my left hand can rest comfortably on all of them. The alt+1,2,3... is terrible, requiring the user to hold their hand in a very awkward position for long periods of time with the thumb on alt and the middle and ring finger on 4 and 5. The zoom is all the way on the other end of the keyboard.

As a start it would be nice to see the tools placed on the a,s,d,f ,g,h keys with no modifier keys
Above them on qwerty could be the grid (1,2,4,8,16,32)
the triplets could be accessed comfortably with a shift modifier
Quantize could be executed by with with a ctrl modifier
From there the rest could radiate outward based on common use... perhaps Synfire could report back the commonly used tools to Cognitone automatically to improve ergonomics.

Metronome
Option to have metronome count in play the bpm at start of a selected section. For instance, if I'm trying to record a part at 120bpm but the measure before the first bar is at 180bpm the count in tick will be at 180 which is more or less useless.
Audio Metronome
Metronome in play

Zoom
Zoom was a big issue in working with Synfire. The zoom always picks some arbitrary point as a pivot so that I am constantly zooming and scrolling back to the part I'm working on -- zooming in more, scrolling over more.

Ideally the zoom would use the mouses position as a pivot so I can quickly move my mouse over an area of interest hit a hot key (preferably something other than ctrl+home -- something close to the rest of the hot keys and with out the needless finger contortions required by the ctrl key). Using the mouse pointer as a pivot is preferable to using the play head as a pivot, which would be a second choice, or perhaps a good substitute when using the ui zoom buttons where the mouse position, being on the button, would not apply.

Double clicking a chord should bring up the progression editor at the location of the chord not at the beginning of the progression.

Mouse Operation

Drawing short notes and runs in synfire is a dream. Long notes are a bit of a pain. A simple solution to the task of writing slower melodies would be to assign a toggle hot key that would use the mouse position to define the length of a note, overriding the draw line tools default operation of adding multiple notes based on the grid. The work flow would be:

Click where the note should start
Hold the hot key
Drag to the right to define the length

This avoids the need to switch back and forth between the draw and select tools to alter the length every time a note is entered.

For navigating around the composition a Photoshop style space drag to move in large arrangements and "throw" (similar to an iPhone) would be nice. For this Synfire could display a large overlay line with large bright red measure numbers while its being thrown so a measure can easily be grabbed in a fraction of a second.

Note Placement
This was my biggest struggle, though I suspect there is a simple solution that I am missing. My last piece was using the full range of a synth, utilizing most if not all octaves -- lots of quick zips and zaps using the portamento between ultra low and high notes with more melodic material in the octaves in between. I changed the upper and lower limits in Instrument Properties and turned off Accept from sound. Despite this, synfire was very reluctant to let me place the notes where I wanted. I was constantly up against a ceiling, where I could record a note in the uppermost strata of the sound but I could not move that note or it would drop in pitch by octaves. In the moment of inspiration -- no matter what -- I don't want Synfire to tell me a note is too low or too high. If there really is a technical issue that I'm missing, those notes added should be flagged with a warning but still allowed in order to document an idea while it is fresh.

It is terribly frustrating not to be able to place a note where I need it, especially when the rules are very inconsistent. I wasted a lot of time trying to trick synfire into playing in the range I needed. I do understand the need for ranges, but the composers immediate needs should take precedence over the systems theoretically ideal operation.

If there is a simple solution for this problem please let me know.

Rewire
Rewire is very touch and go when working with Nuendo. I'm not sure if this is an issue with other sequencers. In order to get Synfire to connect I need to follow this exact procedure.

Shut down both applications
Start Synfire
Start Nuendo
Turn of the synfire transport in Nuendo and turn it back on , wait a few seconds in between
Go back to synfire turn ReWire Transport Synch off and then Back on, waiting a few seconds in between

This works about 80% of the time. Synfire can only connect once per session. If rewire messes up or is disconnected for any reason both applications need to be shut down in order to reconnect.

I am planning on switching to Sonar so if there are no other Cubase/Nuendo users this may not be a problem for a while.

Velocity

The Ctrl+mouse control to adjust velocity should take into account the current velocity and offset it as opposed to always starting from 0 as it does now. Like wise if multiple notes are select the offset of each is respected.

It would also be nice to be able to ctrl+click and drag directly in the Velocity text field.

RECORDING

I find that Synfire does not always respect the selected range when overdubbing and often overwrites the notes before and after the selection. This was a big headache and often caused me to give up working with the keyboard all together.

Is there a merge record mode? I rarely wish to overwrite notes and often want to record polyphonic parts on a single instrument in passes. Perhaps this is not ideal and multiple instruments should be used but from a practical standpoint this is no different than recording chords.

In combination with the proposed method of transferring symbols between instruments described above, being able to lay down several lines on a single track to get an idea out quickly and then worry about transferring them to the appropriate instrument would really free up the creative process.

FIGURE RECOGNITION

Parts recorded while Absolute Pitch is selected should be converted to figures as such.

As it is everything I record at the start of an Arrangement or Section is mutilated into the default C harmony. Often I would rather record three or so parts by ear before delving into the harmonization. Setting them each to P isn't the biggest inconvenience but still seems unnecessarily repetitive.

PROGRESSIONS

It should be possible to select a number of symbols, implying a chord, from a take (and from multiple instruments if a single window phrase editor is implemented and multiple instruments are selected for display) and drag them up into the progression editor as a sort of one off harmonization. Once dropped a drop down similar to what is found the the harmonizer could pop up with the most likely match for that chord

In the harmonizer it would be nice to have an option to create complex chords (G7(9, b11, #13)) in order to exactly reproduce the part being harmonized. I imagine that the problem is far more complex that that, but as Synfire doesn't seem to consider those chords at all, including them would be a start.

MISC

Why doesn't record work in child containers? -- I think you might have taken care of this is the latest 1.1.1

Transpose all, or selected range. This would affect notes and chords alike. An option to transpose Harmonic layers, or not, would be nice as well.

A mute tool.

Instrument names in light gray repeated laterally across the parts

A way to merge two containers - not just nest

The loop tool is buggy. Often I would accidentally select a loop which would cause Synfire to report a negative loop length and crash. It should be difficult to set a loop shorter than a measure. Also loop didn't seem to affect the MTC; Synfire would loop but the video display did not follow

EDIT: One last thought is separate stop hot keys, one which moves the cursor to the start position and one where the cursor is left at the stop point. This is something I have done in Nuendo for years and makes it very fast to listen to a part a number of times and then move on to the next part with a minimal amount of effort.


Tue, 2009-05-26 - 13:11 Permalink

Thanks a lot for this very helpful report and detailed suggestions! We much appreciate your input. Qualified user feedback is much needed to help us decide upon future directions.

In general, regarding the user interface layout, our current priorities are:

1) Make it reliable and coherent (=easy to understand)

2) Improve the way instruments can be grouped/organized/scrolled with respect to both editing and notation export.

3) Reduce the number of windows, find a way to integrate all the different views without compromising flexibility.

The latter two are far from being easy and will take their time to evolve. Quick ad-hoc changes won't cut it, as we would run the risk of overly complicating things. A clean coherent design requires careful thinking.

The top priority design rule is: Always prefer one feature that can serve three purposes against three features that each serve a specific purpose.

Now for your suggestions in detail:

[quote]All phrases should be accessible from a single editor.
Interesting idea, albeit as you describe it, it might be a bit overwhelming. To some extent, if the monitor is big enough, the arrange window allows one to view and edit correlating phrases in a similar way. I'm afraid an automated classification of phrases would be too subjective to be useful, because it depends on musical and personal style. We definitely need more user feedback and practical observations of the product in action to get an idea what form of improved score nagivation would be optimal.

[quote]It would also be nice to see user defined, arbitrary parameters.
Great idea. I can imagine a "Story" parameter that takes all sorts of annotations, colored lines and curves that outline the general concept the composer has in mind (or that's given in the movie).

[quote]MIDI Output display
We're already experimenting with this one. It's interesting to see the effect of parameter changes immediately. Especially when tweaking Interpretation settings, this can be very insightful.

[quote]The hot keys in Synfire need to be rethought.
This is indeed one of the most challenging development tasks. A consistent and ergonomic keyboard layout is not trivial. Hence, the most probable solution we will go for is a user-definable keyboard map.

Thanks, btw, for pointing out the possibility to use alphabetic keys (a,b,c) as hotkeys too. I just forgot about that, because in most other applications this would not be possible.

[quote]Option to have metronome count in play the bpm at start of a selected section.
Good point. No idea how that could be fixed, as the global tempo map rules the transport.

[quote]Ideally the zoom would use the mouses position as a pivot ...
Yes. Thanks for pointing this out. At least the current selection should stay in focus while zooming.

[quote]Double clicking a chord should bring up the progression editor at the location of the chord not at the beginning of the progression.
Absolutely. It's on our list already.

[quote]Drawing short notes and runs in synfire is a dream. Long notes are a bit of a pain.
We are working on this. The drawing tool should switch to the resize tool automatically when the mouse hovers over the end of a symbol.

[quote]I changed the upper and lower limits in Instrument Properties and turned off Accept from sound. Despite this, synfire was very reluctant to let me place the notes where I wanted.

I just checked and could not reproduce that. Probably you did not set the playing ranges to the full MIDI range: The keyboard widgets are now scrollable (mouse wheel) so you can reach the extremes of the MIDI range.

[quote]Rewire is very touch and go when working with Nuendo.
We don't see the same behavior with Logic, but it seems the ReWire connection gets lost under certain circumstances and won't reconnect easily. We'll have a look.

[quote]The Ctrl+mouse control to adjust velocity should take into account the current velocity and offset it as opposed to always starting from 0 as it does now.
Erm, it does not, if I don't miss anything. Just checked. Are you sure?

[quote]I find that Synfire does not always respect the selected range when overdubbing and often overwrites the notes before and after the selection.
This could be due to segments that overlap the selection bounds. Whether a segment is included with a selection depends on its anchor alone. A new figure is recognized from the Take and then it replaces the previous selection.

[quote]Is there a merge record mode?
Yes: Hold down SHIFT while pressing the Record button. You need the 1.1.1 latest build for this to work.

[quote]Parts recorded while Absolute Pitch is selected should be converted to figures as such ...
Why doesn't record work in child containers? ...
The current development version we use here has all this fixed. I don't know exactly if that was already included with the last published build, but you can check if you have the latest 1.1.1 build here:
(http://www.cognitone.com/downloads/index.stml?o=0&p=3)

[quote]A way to merge two containers - not just nest
Make a snapshot and remove the nested children, that does the trick.

[quote]It should be possible to select a number of symbols, implying a chord, from a take (and from multiple instruments if a single window phrase editor is implemented and multiple instruments are selected for display) and drag them up into the progression editor as a sort of one off harmonization.
Nice idea. I would rather prefer to have this functionality integrated in a different way. Modal dialogs that pop up and block everything else are to avoided where possible.

[quote]In the harmonizer it would be nice to have an option to create complex chords (G7(9, b11, #13)) in order to exactly reproduce the part being harmonized. I imagine that the problem is far more complex that that, but as Synfire doesn't seem to consider those chords at all, including them would be a start.
The harmonizer performs an analysis that determines the harmonic function of each section and uses "vanilla" chords to represent the result. Chord extensions and complex chord types are rather individual voicings/expressions or a melody. They do not affect the function (at least not much). I've done experiments with complex chord types, but they get in the way of the function recognition too much, so at this time, we will have to live with "vanilla" results for a while and add the extensions via drag & drop or later on in the progression editor.

No doubt, harmonization is one of the main fields of future development.

[quote]Instrument names in light gray repeated laterally across the parts
Yes, we need to find a solution to see at least the instrument name regardless how far the instrument sheet is scrolled.

I've added your suggestions to the database. Thanks again for your report and the time you spent writing it down.

Andre

Tue, 2009-05-26 - 22:26 Permalink

Thank you for your detailed response. Most of this sounds great.

For some quick bits:

I use a wacom tablet. This is most likely the reason the velocity resets to 0 with a ctrl+clik. Oddly enough, selecting a group of symbols offsets them as it should. This is a minor issue to me.

Rewire is working fine in Sonar. The problem was limited to Nuendo, or at least the version I was using.

I did use the wacom mouse wheel to scroll over and adjust the playing ranges. Ill try to make a screen grab video of the problem this week.

[quote]Interesting idea, albeit as you describe it, it might be a bit overwhelming. To some extent, if the monitor is big enough, the arrange window allows one to view and edit correlating phrases in a similar way. I'm afraid an automated classification of phrases would be too subjective to be useful, because it depends on musical and personal style. We definitely need more user feedback and practical observations of the product in action to get an idea what form of improved score nagivation would be optimal.

Displaying the instrument names across the instrument will be the most important feature in easing the burden of finding the correct instrument for sure.

Having thought about it, my greatest interest is in a very fast way of throwing selected symbols/segments from instrument to instrument -- something in the order of a fraction of a second. This feature is more of a hotkey issue and doesn't actually necessitate a single window phrase editor.

If feature consolidation is an issue perhaps the same number pad keys could be used, with a modifier, to pull up the phrase editors of those instruments selected for editing priority.

For example:

ctrl+ shift + numberpad-4 : would assign the selected instrument to the 4 key. This assignment would remain until it was overridden. The assignment would not be limited to a single container.

numberpad-4 : would bring up that instruments phrase editor, this would allow us to quickly move between instrument phrase editors regardless of their location in the container hierarchy.

alt + numberpad-4 : would cut and transfer selected symbols or segments to that instrument as described earlier.

ctrl + numberpad-4 : would copy and transfer selected symbols or segments to that instrument as described earlier.

These features are less about doubling and more about rapid experimentation in arranging parts.

Select a segment
ctrl+4
play
ctrl+z
ctrl+5
play
ctrl+z
ctrl+3
play
ctrl+z
ctrl+1
play
ctrl+z

Trying those combinations in the current workflow, especially across many containers would take a while.

---

For my last project I wasn't using containers beyond the New Arrangement container and a separate container for drums. The main issue I had was scrolling past all of the unfilled instruments in the drum container to get to the filled drum track. I know there is a function to minimize them. Perhaps custom hotkeys will take care of that aspect. In combination with the zoom scrolling it became rather tedious to have to constantly search for what I needed.

My greater concern, now that recording in containers is fixed, is in using many containers especially if lots of short containers are required for varying Stravinsky-esq time signatures, where there might be a new container every bar and several containers stacked on top of each other.

Finding the correct instrument to edit in that scenario would be a nightmare of one-by-one digging through each container each time, and clicking from container to container at each bar. From cellular standpoint the container thing will work great, but from an editing standpoint it does the following:

Prevents us from seeing as well as editing, the notes that have occurred before and after the short container.

Requires us to dig horizontally and vertically through the container and instrument structure at every juncture. Clicking a new container brings us back to the top left.

I think the solution to this is a way to edit, transparently, all active parts of an instrument across a composition. The actual changes made to the vectors will be placed in the various levels of nesting as appropriate but the editing experience would be seamless from a single phrase editor. Something like a hyperedit for multiple containers.

This wouldn't necessarily become the primary way of working but It would speed up the compositional process as a sort of "in place editing"

----

Apart from glissandos and extreme crossed voices, most parameters of music within a small time frame are not particularly subjective; not so much as to preclude them from being useful criteria on which to organize and present the data more effectively than the simple order in which they were created.

Not that this is the best solution, but a simple 3d display where each instrument was represented was represented with a small sphere where its y was mapped to pitch range, x to rhythmic density and z to average dynamics; would likely be enough to give each instrument its own logical space for simple selection. Of course this wouldn't apply to parameters other than the figure. The window of analysis could be ajusted and their position could either be locked or allow to change over the course of the composition.

If something like this were to be implemented, it would be great to see it as a momentary semi-transparent overlay, activated by holding a hotkey, in the arrange window.

---

I realize some of these suggestions are redundant or half baked.

My main intention is to get a discussion going to work out a system where the data can be found and edited with the least amount of digging.

Tue, 2009-06-02 - 19:19 Permalink

[quote]Having thought about it, my greatest interest is in a very fast way of throwing selected symbols/segments from instrument to instrument
Interesting thought. I can see that trying different "role assignments" of instruments makes much sense for orchestral composition. Whether that is really a common workflow has to be seen. Hotkeys for instruments and "macros" (e.g. copy or move current selection) seem like a good idea.

[quote]I think the solution to this is a way to edit, transparently, all active parts of an instrument across a composition. The actual changes made to the vectors will be placed in the various levels of nesting as appropriate but the editing experience would be seamless from a single phrase editor. Something like a hyperedit for multiple containers.
Yes. The evolution of the user interface will move into that direction in the long term. At least some "Locate Original" feature should not be too hard to implement. That is, you scroll through a global overview, select a position and ask Synfire to jump to the place where that object can be edited.

In a way, the container model implements sort of non-destructive editing. By being able to move around parameters and expressions freely without actually replacing existing data, one can try out different scenarios. The downside of this is one quickly piles up lots of nested containers. Fortunately they can be collapsed 8) (and snapshot)

Andre

Tue, 2009-08-11 - 01:40 Permalink

Pages and pages my friend

Synfire creates a great deal of complexity with the way it handles containers and inheritance. The aim of this feature would be to conceal and eliminate this complexity in an interface that is even closer to the surface than most sequencers. This feature essentially eliminates tracks from the work flow and creates a single music canvass, while retaining all of the flexibility of containers.

The objectives of this are idea are these:

Enhance continuous linear editing. Free up the casual use of containers while allowing larger portions of music to be viewed and edited.

Remove the separation of instruments on tracks separated by great vertical distances. In turn make better use of vertical space.

Optionally "Comp" containers by muting and mixing them (not pause)

Retrieve selected parameters and instruments for editing, intelligently by their sound and function and not by their arbitrary location within a nest of containers.

Allow for segments to be quickly reassigned to new instruments as they are to articulations (this would not require any special override)

DIAL TOOL and Mockup

There is a tool, featured in this video that would be perfect for selecting which instruments are displayed. The circular dial that appears at the mouse position could be invoked to select the parameters below at any point in the hierarchy (in other words one could shift select violin and viola and then shift select the whole woodwind family)

(http://www.zbrushcentral.com/zbc/showthread.php?t=071829)

Tracks would be made visible using a tool similar to the one in the video above mapped with the selection criteria at the end of this post.

I think this tool has great ergonomics and would be much faster than menu based selections.

I have included a very very basic photoshop mockup as well. The mockup mostly just shows how the containers can be thought of as more transient flags that can be used whenever, however.

I did not make any effort to devise ways to distinguish the multiple instruments existing in the same space. I have a number of ideas for this but that is more of a detail.

Global Phrase Editor

In this window the number of vertical "tracks" could be set, anywhere from a single vertical track to one for each visible instrument.

Typically, I would like to work with all visible pitched instruments on a single track view and all percussion on another. If there is too much over lapping, synfire would be able to expand the number of tracks to the minimum required to minimize or eliminate overlapping or better organize instrument families.

Tracks would always maximize their vertical space to create a workable pallet to edit figures

Rapidly Variable Workspace

The number visible instruments, the number of tracks and the way that instruments are grouped into those tracked would, in working with synfire, be changed rapidly, using both cognitone and user presets as well as the parameters listed at the bottom of this post. Instead scrolling the window to find the correct instrument or clicking through containers, that effort would be redirected to organizing the workspace for a specific task. For instance a preset could be called to create three tracks for all used instruments in the Strings, Woodwinds and Brass families.

As another example, after listening to the composition and determining that several parts, where several instruments jump in angular motions across octaves, need to be edited; one could just select a high value for angularity in the selection wheel pitch->angularity. This could bring up unwanted instruments as well. Unwanted instruments could be deselected from family->instruments and the whole thing could be stored as a selection set.

A MIDI out, viewer could exist in the window as a toggle and could follow the same groupings (one track for all the strings etc)

Structural Coherence

Those "unwanted instruments," with similar musical properties, would be indicators of structural similarities of parts that may be exploited to strengthen the composition.

By allowing Synfire to group parts, musically, using all the data of the composition we are given an objective view of the music to work with.

Container Mutes

By default global phrase editro would display the top level inherited value. Any editing would effect that value in the appropriate container.

A simple function key + click on the containers above the editor could mute or solo individual containers for editing deeper levels (likely a rare case) or for comping and experimenting with different combinations of containers and performances

Instrument Mutes

In losing individual tracks for each instrument, the mute solo etc controls would be lost.

As they are, these are difficult to use and require the same scroll search behavior as well as unminimizing tracks unused in a specific container to mute the instrument.

A small tightly packed interface either floating or in a tab in the parameter could hold all of the instruments in one place and in close proximity with one another.

Again these could be organized by a number of musical parameters considered for a specific portion of the composition (for the length of a selected container)

Phrase Looping

I included in the graphic of how the looping of a short phrase within a larger container might look (bar 2 - top voice) which would be part of the container CA

Recording

The last selected instrument would be used for recording

The dial could be used to select which instrument was recording and which articulation to record/play with.

Parameters

When drawing in parameters for an instrument -- transpose, pause etc -- the data would by default be stored in the container with the top level figure.

The parameter could also be stored to a specific container by first selecting the container.

This approach gives the best of both worlds. Only the data that is being used is displayed and set for editing by default. If the data needs to be placed somewhere specific, that is not currently being heard, its a mouse click away.

Activating the dial control over a specific parameter could allow for the same parameter to be displayed for multiple instruments, across one or more tracks based on the display criteria.

Again this would help in creating structural coherence between the different cc's and parameters.

Macroscopic Editing

In a super imposed view, all of the visible instruments would be at the same vertical level. When the mouse hovers over a segment or symbol the instruments name is displayed (possibly multiple names if they overlap - a particular name could be clicked to select or isolate it). Parameters and cc's could be edited for individual instruments, overlapping as well, corresponding to the last selected note(s).

In Place Instrument Swapping and Doubling

Because this editor is acting as a macro interface to change the correct data in the correct containers, as one would in Synfire now, Instruments assignments can be freed up from the idea of tracks. Segments could be reassigned, or doubled at an interval, immediately in place and with out copying and pasting. Doublings could potentially and optionally be aliased -- an issue that I encounter with Synfire and doublings that container aliasing doesn't really address.

Instrument display parameters

Here is a list of criteria that I think Synfire could use to intelligently display required parts for editing.

Many of the parameters would be best served by range sliders {---|====|----------} possibly
following the curve of the dial.

Instrument
---Family
------instrument
---------Articulation

Pitch
---Region
---Range
---Angularity
---Melodic / Chordal
---Bend
---Harmonic Layer
---Vertical scale
Rhythm
---Rhythmic density
---Syncopation
---Angularity
Amplitude
---Velocity, Breath, CC7, CC11
------Region
------Range
------Angularity (off beat, contrasted fast and slow passages)
Selection Sets
---User defined named sets
---Cognitone presets
CC parameter
---Every used cc parameter
------Region
------Range
------Intensity (how quickly the parameter fluctuates)
Intelligent Parameters

---Lines belonging to the same rhythmic idea, even when ornamentation is involved (orchestral doublings etc.) Synfire would deduce the number of concurrent rhythmic ideas

---Melodic VS pattern and accompaniment - synfire would give its best guess at display what is melodic or what is accompaniment

---Frequency density - Here synfire would select instrument that do not clash with the existing instruments frequency spectrum. If there are disproportionate number of tubas, basses and bass synths in a composition it would display flutes and violins or whatever instruments have been created in that range

A NOTE ON THE MOCKUP:
Those long figures make sense displayed they are; one long sequence.

If every two notes was assigned to a different instrument, the display, as it exists now wouldn't make much sense musically. Each track would be shown as disparate fragments.

In a traditional sequencer, whose role is to trigger midi messages it might make sense broken into fragments on different tracks.

In Synfire, where clarity of compositional thought seems to be key, I think a more open system is a good direction to pursue.

Rough Synfire Global Phrase Editor. Primarily to show how containers can be thought of more as flags. (SynfireEditor.jpg)

Attachments

Sat, 2009-09-12 - 22:56 Permalink

I stumbled across this video, which illustrates the method of editing I was thinking about (all parts in one view) in sonar.

They are strictly using mouse input, I tend to use a combination of midi and mouse.

The visual correspondences will be different will be different as the center line is relative, but thats more a question of how.