Skip to main content

Drag & Drop from DAW into Synfire arrangement

Posted

I have a feature suggestion for Drag & Drop of MIDI data from a DAW or other MIDI data source into Synfire.

First idea: Drag and Drop from an external program or Finder/Explorer window into an arrangement window.

If the dropped object consists of MIDI data, a container is created at the target location (exact location quantized by grid resolution) or as a "child" of the container the data has been "dropped" onto.

The dropped data is used as a Take on a matching or newly created instrument and a chord analysis and (optionally) figure recognition is done.

Second idea: Drag and Drop from an external program or Finder/Explorer window into a parameter window.

If the dropped object consists of MIDI data, the target parameter gets replaced by data approximated from the dropped data in the following manner:

  • dropped into Take: a Take gets created or replaced by the MIDI data
  • dropped into Figure: a Figure vector gets created/replaced with static segments
  • Velocity: Velocity data from the "dropping" is used to create/replace a Velocity vector
  • Step: Note onsets are used
  • Length: Note lengths are used
  • Rhythm: "Groove" data is extracted/generated from the dropped MIDI
  • Harmony: the harmonic structure of the "dropping" is analyzed and used to create/replace the current harmony
  • Modulation/Pitchbend/Sustain/CCs: the respective controller data from the MIDI snippet is used

I'm not sure yet whether this is sensible and feasible.


Fri, 2017-09-29 - 04:50 Permalink

I fully support your idea HiEnergy.

As a long time user I think it's one of the few big improvements that synfire needs.

I understand that the two priorities so far have been stability and easy handling for newcomers. But for those of us with complex workflows this would be a time saving and a very big efficiency improvement.

Fri, 2017-09-29 - 17:35 Permalink

Thanks for the well thought out suggestion. Much appreciated.

All the parameter type conversion magic is alreaydy there. It works the same with internal drag & drop currently. Try and drag around Take to see some of the suggested conversions.

The only exchangable data format for MIDI is SMF (Standard Midi Files). I'm not sure if that many DAWs support drag & drop SMF export, but it's easy to test: Just grab whatever can be dragged from your DAW and drop it on your desktop. If should create a SMF midi file.

This feature has been on the list a long time already. Unfortunately there are technical obstacles that kept us from implementing it yet. The development tools we use offer no immediate drag & drop support (which is also why you need to tap the spacebar to "release" a dragged object to the operating system). We still want to implement it, though.

I should also note that, since the dropped object is merely a midi file, the very same things apply, as if you imported it the usual way. In case there are multiple tracks in the file, you would need to decice what to do with individual tracks, for example. The import dialog would pop up. Therefore drag & drop would merely be a convenience feature.

Sun, 2019-02-24 - 11:30 Permalink

+1 to all the suggestions from HiEnergy: overall drag-and-drop should be added to Synfire!

To what HiEnergy suggested, I would add that the Harmonizer must be definitely improved.

Here follows is a MIDI file of chords only, as properly interpreted by Finale (apart from the very last one):

Here the same file, poorly "harmonized" by Synfire:

The chords come from a Scaler sequence (exported as MIDI file). Synfire should read them better than so...

Attachments

Mon, 2019-02-25 - 17:26 Permalink

Can you also post the MIDI file?

oops...deleted :-|

Will do a second file on tomorrow or so :-)

Thu, 2020-07-16 - 10:34 Permalink

Hi, YES that would be one of the finest new features for improve the workflow! I'm still waiting for that!

 

I have another idea for improvments: What about the example progressions (standart) to replace the song names? I don't find it very helpful. What about to rename it like "sadness", "epic", "bluesy", "adventure", "happy", "soul", "funk", "cinematic" "classic", "etheral" etc. ?