Jump to content


Photo

New Tool (3.1): PhraseMate

phrases zxx

  • Please log in to reply
78 replies to this topic

#1 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 15 November 2015 - 11:52

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
 
Documentation and source code

Edited by danoise, 02 July 2016 - 18:44.

  • taktik, jiku, Djeroek and 12 others like this

Tracking with Stuff. API wishlist | Soundcloud


#2 Akiz

Akiz

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 971 posts
  • Gender:Male

Posted 15 November 2015 - 15:23

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.
 


Edited by Akiz, 15 November 2015 - 15:26.


#3 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 16 November 2015 - 14:23

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. 


Tracking with Stuff. API wishlist | Soundcloud


#4 Akiz

Akiz

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 971 posts
  • Gender:Male

Posted 16 November 2015 - 15:09

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



#5 pat

pat

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 445 posts
  • Gender:Male

Posted 20 November 2015 - 19:25

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 :)

 

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)



#6 Mallard Puddleduck

Mallard Puddleduck

    Member

  • Normal Members
  • PipPip
  • 10 posts
  • Gender:Male
  • Location:Great Blighty
  • Interests:Everything

Posted 22 November 2015 - 15:03

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! :D I 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!


Edited by Mallard Puddleduck, 22 November 2015 - 15:18.

  • danoise likes this

The artist formerly known as "Nite Owl"

 

The end of my post
Lies here. Yet there are many more
Waiting to be read


#7 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 22 November 2015 - 17:15

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. 


Tracking with Stuff. API wishlist | Soundcloud


#8 Mallard Puddleduck

Mallard Puddleduck

    Member

  • Normal Members
  • PipPip
  • 10 posts
  • Gender:Male
  • Location:Great Blighty
  • Interests:Everything

Posted 22 November 2015 - 17:29

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!


The artist formerly known as "Nite Owl"

 

The end of my post
Lies here. Yet there are many more
Waiting to be read


#9 pat

pat

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 445 posts
  • Gender:Male

Posted 22 November 2015 - 17:38

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...



#10 Mallard Puddleduck

Mallard Puddleduck

    Member

  • Normal Members
  • PipPip
  • 10 posts
  • Gender:Male
  • Location:Great Blighty
  • Interests:Everything

Posted 22 November 2015 - 20:17

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 ;)
- 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!
 

Attached Files


Edited by Mallard Puddleduck, 22 November 2015 - 21:51.

  • danoise, Djeroek and pat like this

The artist formerly known as "Nite Owl"

 

The end of my post
Lies here. Yet there are many more
Waiting to be read


#11 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6722 posts
  • Gender:Male
  • Location:Borneo

Posted 23 November 2015 - 00:43

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.



#12 Mallard Puddleduck

Mallard Puddleduck

    Member

  • Normal Members
  • PipPip
  • 10 posts
  • Gender:Male
  • Location:Great Blighty
  • Interests:Everything

Posted 23 November 2015 - 09:54

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 A within 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! :D


Edited by Mallard Puddleduck, 23 November 2015 - 09:59.

  • Djeroek likes this

The artist formerly known as "Nite Owl"

 

The end of my post
Lies here. Yet there are many more
Waiting to be read


#13 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 21 January 2016 - 21:20

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 :-)


  • pat and robohymn like this

Tracking with Stuff. API wishlist | Soundcloud


#14 misk

misk

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 251 posts

Posted 22 January 2016 - 14:57

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? :D


  • danoise likes this

#15 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 14 March 2016 - 17:56

New version out - 1.01
http://www.renoise.c...ools/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  ;) 
http://forum.renoise...olumn/?p=344794


  • Djeroek likes this

Tracking with Stuff. API wishlist | Soundcloud


#16 Akiz

Akiz

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 971 posts
  • Gender:Male

Posted 14 March 2016 - 18:41

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 :-)


Edited by Akiz, 20 March 2016 - 01:06.


#17 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 July 2016 - 17:52

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.c...ools/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 source pattern-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

collect_capture_all_replace.png

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 


  • Djeroek and pat like this

Tracking with Stuff. API wishlist | Soundcloud


#18 pat

pat

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 445 posts
  • Gender:Male

Posted 01 July 2016 - 19:48

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.


  • danoise likes this

#19 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 July 2016 - 20:13

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)

Tracking with Stuff. API wishlist | Soundcloud


#20 pat

pat

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 445 posts
  • Gender:Male

Posted 01 July 2016 - 21:27

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


Edited by pat, 01 July 2016 - 21:27.

  • danoise likes this

#21 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 July 2016 - 22:12

New version (v1.52) is up, fixing all reported issues (?) 

 

New in this version is sliced processing. Instead of it locking down the entire UI, progress is shown in the status bar.


  • Djeroek likes this

Tracking with Stuff. API wishlist | Soundcloud


#22 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6722 posts
  • Gender:Male
  • Location:Borneo

Posted 01 July 2016 - 22:27

Using the lates version;

 

 

'C:\Users\pluge\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\com.renoise.PhraseMate.xrnx\main.lua' failed in one of its notifiers.

The notifier will be disabled to prevent further errors.
 
Please contact the author (danoise [bjorn.nesby@gmail.com]) for assistance...
 
.\source/ProcessSlicer.lua:130: std::logic_error: 'invalid phrases index '9'. valid values are (1 to 8).'
stack traceback:
  [C]: in function 'error'
  .\source/ProcessSlicer.lua:130: in function <.\source/ProcessSlicer.lua:115>

 

selection in matrix

capture all instruments

same instrument

replace notes with phrases

 

edit;

 

Got this one in another track during processing;

 

 

'C:\Users\pluge\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\com.renoise.PhraseMate.xrnx\main.lua' failed in one of its notifiers.

The notifier will be disabled to prevent further errors.
 
Please contact the author (danoise [bjorn.nesby@gmail.com]) for assistance...
 
.\source/ProcessSlicer.lua:130: main.lua:1059: Expected instr_idx to be a number
stack traceback:
  [C]: in function 'error'
  .\source/ProcessSlicer.lua:130: in function <.\source/ProcessSlicer.lua:115>

 

Selection in matrix

capture all instruments

Same instrument

include empty phrases

include duplicate phrases

replace notes with phrase


Edited by Djeroek, 01 July 2016 - 22:32.


#23 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 July 2016 - 22:43

Indeed, I can make it bug out as well - but only when I disable both include empty + duplicates

Does it work when both of these are enabled?

Tracking with Stuff. API wishlist | Soundcloud


#24 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6722 posts
  • Gender:Male
  • Location:Borneo

Posted 01 July 2016 - 22:49

check the edited post above, there both are enabled giving the 'Expected instr_idx to be a number' error. It's from another song as the initial report though, so not sure having both enabled means something in relation. 



#25 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6474 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 July 2016 - 23:37

Third follow-up, squashing bugs as they appear.

FIXME Missing updates of phrase info UI when not in realtime mode
FIXME Error when performing “capture_all” with empty + duplicate phrases
FEATURE Customizable process slicer : disable, once per pattern or pattern-track

I also made the process slicing optional. You can now decide how often generate undo points  :)


Tracking with Stuff. API wishlist | Soundcloud






Also tagged with one or more of these keywords: phrases, zxx