New Tool (3.1): PhraseMate

splash_big.png

PhraseMate aims to make it more convenient to work with phrases in the pattern editor.

The tool offers very flexible options for converting from phrases to pattern data, or from patterns to phrases.

Also, it can assist while editing by automatically inserting Zxx commands (“set phrase”) as you are entering notes into a song.

Download from the tools page

http://www.renoise.com/tools/phrasemate

Documentation and source code

https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.PhraseMate.xrnx

2 Likes

I didnt try it yet because i dont copy phrases to pattern editor often.
But thank you and hear my suggestions for ultimate phrase / pattern convertion tool :badteeth:

A ) paste phrase into pattern editor and change notes accordingly to selected scale
/sometimes you change the scale and you dont know what notes in phrase are playing so it would be usefull function for “midi monitoring”/

B )Paste selected pattern data into new phrase with some extra setting (Convert multiple patterns X-Y into one phrase and change LPB accordingly - so you can record a long sequence with your midi keyboard across and then convert it to phrase.)
I know that there is a Noodletrap for this but it would be nice to have another possibility for different situations.

A ) paste phrase into pattern editor and change notes accordingly to selected scale

Yes, I though about this too - the groundwork is already done

I would like to be able to choose a root key when writing the phrase (right now it’s just using whatever notes are in the phrase), plus harmonic key/scale.

Just not sure how to implement this into a keyboard-driven tool.

Great!


.
Oh, i though that it has gui.
I usually forgot about keyboard-driven tools and dont use them as i should :-(.

Yes, I though about this too - the groundwork is already done

I would like to be able to choose a root key when writing the phrase (right now it’s just using whatever notes are in the phrase), plus harmonic key/scale.

Just not sure how to implement this into a keyboard-driven tool.

I just want simple copying from pattern editor to phrases, one phrase per note, which is what I’ve done with PhrasePhreak. If you implement that, I can ditch PP altogether :slight_smile:

That or I’ll have to steal your “write phrase to selection” code…

3.1b changed how pattern data gets created, so PP is broken, and I haven’t had time to fix it.

I am all for you taking the one feature that I built and adding it to PhraseMate B)

Hahaha, goddamnit. I was literally had just opened the scripting window to start coding pretty much exactly this tool, same keyboard driven UI and everything, auto insertion of z commands and all. Great minds think alike, they say! :DI have one idea that’s not implemented here, I’ll have a bash at it and submit a pull request!

Edit: Which I’ve now realized is what phrase phreak does… Time to get merging!

Strong concept: Let Someone Else Do It + I Did Some Groundwork Here

Btw: If we want this tool to support 3.0, it’s a good idea to retain the PhrasePhreak “auto-inserting phrases mapped to the keyboard” feature - 3.0.1 only has keymapped mode, not the program mode.

Is it necessary to retain renoise 3.0 support when 3.1 is right round the corner?

I’d imagine for the unlucky that registered at v2.0…

Either way, I’m going to work on adding in both, depending on what mode the selected instrument is in. Would also be nice to have hotkeys for copying all notes in the track. Got some other ideas too, will have a bash at it!

Strong concept: Let Someone Else Do It + I Did Some Groundwork Here

Btw: If we want this tool to support 3.0, it’s a good idea to retain the PhrasePhreak “auto-inserting phrases mapped to the keyboard” feature - 3.0.1 only has keymapped mode, not the program mode.

I personally don’t care about 3.0. For people who do, they can use PhrasePhreak version that supports it (I can do an official release instead of current “download from github”).

I use PP to select some notes (or have block mode enabled) and press a single key combination to have the phrase mapped to one key in the phrase list.

Which I think is still what I’d want… but to be honest I haven’t used phrases in 3.1 yet (partly due to my disappointment that 3.1 broke my tool - and thus my workflow!). I’ll play with them and throw some ideas out here…

Alright! Here’s my very rough first pass at this.

I’ve haphazardly merged the functionality of phrase phreak into phrasemate, and rearranged some things.

  • Phrase phreak stuff working in 3.1 . selection to phrase should copy selection into a new phrase.
  • Moved the menu items to right click on the pattern editor, first level. quicker this way!
  • I threw in a “Bounce selection to phrase” option, that copies the current selection to a new phrase on the instrument, clears it from the sequencer and inserts a note with the newly recorded phrase assigned to it, and sets it to the current phrase. Let me know how easy this is to break :wink:
  • Didn’t get keymapped phrases working yet, but will see what I can do tomorrow!

I must sincerely apologize for my crap hacky code, this is the first messing around with renoise scripting I’ve done! ;w; Let me know if this works for you!

Great! :yeah:

I notice it is possible to bounce a selection spanning multiple tracks containing different instruments, but only the note events are copied inside the phrase, not the actual samples! This is with either bounce or copy selection.

Also, instead of having the magick work on the currently selected instrument, could there be an option that copy/bounces to new instrument? So it’ll copy the samples from the instruments that are inside the pattern selection to a new instrument.

Great! :yeah:

I notice it is possible to bounce a selection spanning multiple tracks containing different instruments, but only the note events are copied inside the phrase, not the actual samples! This is with either bounce or copy selection.

Also, instead of having the magick work on the currently selected instrument, could there be an option that copy/bounces to new instrument? So it’ll copy the samples from the instruments that are inside the pattern selection to a new instrument.

Yeah, it’s currently only written with bouncing one instrument at a time… Merging multiple instruments onto one new one would be something of a tall order, considering all that instruments can be now in Renoise 3.1! Not impossible, but would be fraught with corner cases. What could be done more easily however is allowing copying of multiple different instruments’ notes into their respective phrases (i.e. all notes from Inst Awithin the selection go to a new phrase in Inst A). In terms of bouncing in such a situation, I’d imagine that you’d create a phrase per instrument per track. So if Track 1 had notes from 2 different instruments (A and B ), it’d create a phrase for each against each instrument, create two note columns in track 1 and apply Inst A’s phrase in the first column, Inst B’s in the second. (I think this is possible with the new per note column effects columns?). If this hypothetical selection spanned multiple tracks, and there were notes for Inst A and B in other tracks, a phrase would be created with those notes against the appropriate instrument and place in those tracks for each track the instruments appears on. In my eyes, this would be the best way to handle tricky selections whilst still ensuring that all notes are routed through the right channels.

So in the case of

Track One: Inst A Notes, Inst B Notes
Track Two: Inst A Notes
Track Three: Inst B Notes, Inst A Notes, Inst C Notes

Bouncing the lot would give you

Track One Inst A Phrase 1 (Note Column 1), Inst B Phrase 1 (Note Column 2)
Track Two: Inst A Phrase 2

Track Three: Inst B Phrase 2(Note Column 1), Inst A Phrase 3(Note Column 2), Inst C Phrase 1 (Note Column 3)

Starting to sound a bit tricky :wacko:, but worth doing since such a facility could definitely improve folk’s workflows. I’ll have a look at it tonight after work if I have time! :smiley:

Massive bump - most of the tools which were previously only available for 3.0 have now been updated for 3.1

Also, this tool now finally has it’s own tools page+ github

Enjoy :slight_smile:

is it weird that i’m in argentina right now and i just saw your mate? this is strangely coincidental. Shall I send you a bombilla? :smiley:

New version out - 1.01
http://www.renoise.com/tools/phrasemate

The Zxx mode is now more intuitive. The “old” mode tried to auto-capture as you were writing notes, which I admit was rather strange.

Now, you can capture the phrase whenever you want (it’s got its own shortcut).

FEATURE keyboard shortcut: Capture Phrase from Pattern
CHANGE Zxx mode is now using the selected phrase, always

Prompted by idem345 :wink:
https://forum.renoise.com/t/why-cant-renoise-write-zxx-automatically-into-the-fx-column/45711

It finds my midi controller right now. Great!\

Thank you

  • wrong post - i though that ive installed noodletrap because when ive installed new phrasemate noodletrap finally found my midi input (it doesnt right now…). But it doesnt find it now even if i reinstalate phrasemate or noodletrap. I dont get it :slight_smile:

PhraseMate has just received the biggest update so far. Thanks to djeroek for some early feedback/testing!
Also, I released a sneak preview of this tool two days ago. Seems a few people picked it up - they would be strongly encouraged to update again, because v1.51 is FASTER BETTER STRONGER

Download: http://www.renoise.com/tools/phrasemate

What’s new:

  • “Input mode” - ability to read from pattern and convert into phrase. Like PhrasePhreak, but a lot more powerful (see picture)
  • Reorganized GUI - featuring a tab for each of the various operating modes
  • Proper documentation,finally.

An example of what is possible with the new “input” mode:

  1. Source ‘Capture All Instr.’.Our sourcepattern-track (containing three different instruments) is automatically collected as phrases -
  2. Target ‘New Instrument(s)’. Because we’ve configured the tool to create new instruments on the fly, three new instruments act as destination for those phrases
  3. Replace notes with phrase.By enabling this option we tell the tool that it should, as a final step, replace patterns with the phrases we just collected

There are many possible configurations. Copy from one instrument into another, use the selected instrument, capture below the cursor, etc. etc.

Hopefully I’ve caught all the various possibilities!! At least, the tool should provide you with some feedback when you are trying to do things it’s not prepared for.

But if something does seem to break, please report. Thanks

This is awesome!!! It’s looking like it gives me the_exact_ way I want to work with phrases… make a bunch of patterns, extract them to phrases, and then use those phrases to make the arrangement. The multi-instrument stuff is freaking brilliant.

There is one thing that’s throwing me off though. I think the realtime behavior is happening regardless of whether I have it set to on or off…

I have a track with two patterns, and three instruments playing in a single column. I extracted phrases with:

  • playback = program
  • track in song
  • source - capture all instruments
  • target - same instrument
  • include empty phrases = ON
  • include duplicate phrases = ON
  • replace notes with phrase = ON
  • create keymap = OFF

And it extracts the phrases as I’d expect. So my second (and last) pattern now has three columns, each playing phrase Z02. If I change one of them to be Z01, then it automatically inserts Z02 in the track fx column. I can’t delete it… it just keeps getting re-inserted.

I have the realtime tab’s “monitor changes to pattern” set to OFF. It seems like it’s doing the realtime behavior regardless of what the setting is.

I think the realtime behavior is happening regardless of whether I have it set to on or off…

Woops, missed that detail. I tend to toggle this mode on and off as needed. It should definitely not just stay turned on!

I will release a small update later tonight as I caught some additional bugs:

FIXME Reset autocaptured instrument when starting to collect
FIXME Don’t allocate phrase when > 126 
FIXME Don’t reference viewbuilder (keyboard shortcut when UI not initialized)

It would be cool for realtime toggle to get a keyboard shortcut too…