Jump to content

How to get Dynamic Difficulty work like official DLC by using Catalog and Phrases


Recommended Posts

Dynamic Difficulty is rarely well responsive in cDLC on phrase levels.

When a phrase is leveled op or down, identical notes in other phrases don't level.

 

This happens because most of us don't define phrases,

Phrases are sub-elements of sections, they subdivide a section.

A phrase should not cross two sections, it should not start before or end after a section.

To avoid problems, usually the whole song is divided in sections (more or less respecting its note structure)

and we check "also add as phrase"

1 section = 1 phrase, while a section can have multiple phrases.

We leave the task to define more phrases to the DD creator.

 

It is easy to define phrases 

by using EOF "Catalog" in song menu, which is the most underrated feature because it seems always deactivated.

Catalog gets activated when 2 notes at least are selected. 

It groups and names ranges of notes and finds all identicals.
Catalog note blocs can be displayed (Q), and played below the main "Piano roll".

Catalog note blocs can be named freely, and their name can be used as phrases "LeadScale1", "BassScale2" ...

 

Instead of starting with a global song view (using Lyrics to structure), start with the 1st repeating pattern of notes.

Procedure would be :

1. Select the first repeating set of notes and define its name in Catalog.

   (it must start on a main beat called measure, to make it a start position for a phrase) 

2. Give the same catalog name to the phrase (shift+P) at the 1st beat of the selected notes.

3. Use the catalog feature to search (F3) for identicals (sets current position on it's first note)

    (or shift+F3 to jump to previous identical)

4. Give all found set of notes the same starting phrase/catalog name.

5. Repeat procedure for next set of notes

6, Check for unrepeated rest of notes following defined phrases (solo, intro, outro ...)

7. Gather phrases into a section, without checking the "also add as phrases".

 

This may need to be done for all parts lead, rhythm,bass, selecting "specific to PART_..."

when adding a phrase.

 

Catalog is not related to Phrases, it only helps to create them.

This means you can give same phrase names, even if single notes, ending notes are different.

 

This way Dynamic Difficulty works correctly.
Success/fail on one phrase level adjusts all levels of the same phrase name (like in official songs)
It may take more time, depending on the song, until one gets used to.
And it helps analyzing song structures.

Example : 

In a 1st section called "intro", 4 phrases are freely called "Scale1"  and another called "Scale2"

http://www.mediafire.com/convkey/0d08/puniaho9c981301bg.jpg?size_id=6

In a 4th section called "postvs", 1 phrase only among 2 others is called "Scale1"

http://www.mediafire.com/convkey/f79b/w5235ha5t7lj69dbg.jpg?size_id=6

I let the files go through the DD creator (with 6 phrases set) and it kept my number of phrases.

http://www.mediafire.com/convkey/b167/25dmq383jhocdg2bg.jpg?size_id=4

Now, when I increase the level in the section intro (it's not possible to increase the level of a phrase separately),
the phrase "scale1" in the 4th section "Riff" is automatically increased, without being selected and only this phrase.

 

Check XML level of the events
The XML of EOF : Phrase names get replaced by a phrase ID (position depending)

<phrase disparity="0" ignore="0" maxDifficulty="0" name="Riff1" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="0" name="Riff2" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="0" name="Riff3" solo="0"/>
phrase disparity="0" ignore="0" maxDifficulty="0" name="Scale1" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="0" name="Scale3" solo="0"/>
<phraseIteration time="5.976" phraseId="4"/>
<phraseIteration time="9.910" phraseId="4"/>
<phraseIteration time="13.845" phraseId="4"/>
<phraseIteration time="17.779" phraseId="4"/>
<phraseIteration time="42.369" phraseId="3"/>
<phraseIteration time="46.304" phraseId="4"/>
<phraseIteration time="49.255" phraseId="5"/>

 

All phrases Scale1 get the Id=4

The XML of DD Creator : Phrase names of EOF get lost and replaced by another name and phrase ID

<phrase disparity="0" ignore="0" maxDifficulty="3" name="p1" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="3" name="p2" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="3" name="p3" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="2" name="p4" solo="0"/>
<phrase disparity="0" ignore="0" maxDifficulty="2" name="p5" solo="0"/>
<phraseIteration time="5.976" phraseId="2" variation="">
<phraseIteration time="9.910" phraseId="3" variation="">
<phraseIteration time="13.845" phraseId="3" variation="">
<phraseIteration time="17.779" phraseId="4" variation="">
<phraseIteration time="40.402" phraseId="8" variation="">
<phraseIteration time="42.369" phraseId="9" variation="">
<phraseIteration time="46.304" phraseId="4" variation="">
<phraseIteration time="49.255" phraseId="10" variation="">

Only the previous identical section seems to get a common ID.

Maybe the DDcreator's can explain this.

I hope to contribute to go beyond the "lazy Section=Phrase" option,
to make cDLC closer to official quality

and make Riff Repeator and Dynamic Difficulty work as they should, 

considering most users are probably beginners or enter intermediate level.

  • Like 3
Link to post
Share on other sites

Hi,

 

  This is a great tutorial about phrases !

 

  DDC will give the same ID for all phrases which have the same sequence of notes (whatever the distance between notes and without considering their technics).

  In the DDC log file, you can see why all your "Scale1" phrases have not the same ID.

 

  In the following example :

  - Each similar chord in the song is associated with an ID like "Cxx"

  - Each similar note in the song is associated with an ID like "Nxx"

 

====================================================================================================
==   D D   L E V E L S                                                                            ==
====================================================================================================

+--------+--------+--------+--------+--------------------------------------------------------------------------------------------------------------------------+
| p5     |      0 |      4 |      * | F14.---.F14.---.---.---.---.---.---.---.F06.---.---.---.---.F09.---.---.---.---.---.---                                  |
| p5     |      1 |      4 |      * | F14.F14.F14.---.---.---.F14.---.---.---.F06.F06.---.---.---.F09.---.---.---.F09.---.---                                  |
| p5     |      2 |      2 |      * | F14.F14.F14.---.F14.---.F14.---.---.---.F06.F06.---.---.---.F09.---.F09.---.F09.---.---                                  |
| p5     |      3 |      2 |      * | F14.F14.F14.---.F14.---.F14.---.F14.---.F06.F06.---.F06.---.F09.---.F09.---.F09.---.---                                  |
| p5     |      4 |     12 |      * | C25.C25.C25.---.C25.---.C25.---.C25.---.C18.C18.---.C18.---.C21.---.C21.---.C21.---.---                                  |
| p5     |      5 |     12 |      * | C14.C14.C14.---.C14.---.C14.---.C14.---.C06.C06.---.C06.---.C09.---.C09.---.C09.---.---                                  |
| p5     |      6 |      5 |      * | C14.C14.C14.---.C14.C14.C14.---.C14.C14.C06.C06.---.C06.C06.C09.---.C09.C09.C09.---.C08                                  |
| p5     |      7 |      5 |      * | C14.C14.C14.C14.C14.C14.C14.C14.C14.C14.C06.C06.C06.C06.C06.C09.C09.C09.C09.C09.C07.C08                                  |
+--------+--------+--------+--------+--------------------------------------------------------------------------------------------------------------------------+
| p6     |      0 |      4 |      * | F14.---.F14.---.---.---.---.---.---.---.F06.---.---.---.---.F09.---.---.---.---.---.---                                  |
| p6     |      1 |      4 |      * | F14.F14.F14.---.---.---.F14.---.---.---.F06.F06.---.---.---.F09.---.---.---.F09.---.---                                  |
| p6     |      2 |      2 |      * | F14.F14.F14.---.F14.---.F14.---.---.---.F06.F06.---.---.---.F09.---.F09.---.F09.---.---                                  |
| p6     |      3 |      2 |      * | F14.F14.F14.---.F14.---.F14.---.F14.---.F06.F06.---.F06.---.F09.---.F09.---.F09.---.---                                  |
| p6     |      4 |     13 |      * | C25.C25.C25.---.C25.---.C25.---.C25.---.C18.C18.---.C18.---.C21.---.C21.---.C21.---.C20                                  |
| p6     |      5 |     13 |      * | C14.C14.C14.---.C14.---.C14.---.C14.---.C06.C06.---.C06.---.C09.---.C09.---.C09.---.C08                                  |
| p6     |      6 |      1 |      * | C14.C14.C14.---.C14.---.C14.---.C14.---.C06.C06.---.C06.---.C09.---.C09.---.C09.C07.C08                                  |
| p6     |      7 |      4 |      * | C14.C14.C14.---.C14.C14.C14.---.C14.C14.C06.C06.---.C06.C06.C09.---.C09.C08.C09.C07.C08                                  |
| p6     |      8 |      4 |      * | C14.C14.C14.C14.C14.C14.C14.C14.C14.C14.C06.C06.C06.C06.C06.C09.C09.C09.C08.C09.C07.C08                                  |
+--------+--------+--------+--------+--------------------------------------------------------------------------------------------------------------------------+
 The phrases "p5" and "p6" are not exactly made with the same sequence of notes (the 19th note is different on their maximul level of difficulty), but as they have less than 25% of differences (relative to the total number of notes in the phrase) they will be linked in the XML file ("linkedDiff" tag) and their levels will evolve together.
 
 The linked phrase property is also given in the log file ("PARENT" column in the following example) :
====================================================================================================
==   P H R A S E S                                                                                ==
====================================================================================================

+--------+--------+--------+--------+--------+
| NAME   | 1STMEA |  COUNT | MAXDIF | PARENT |
+--------+--------+--------+--------+--------+
| p1     |      2 |      6 |      5 |        |
| p2     |      8 |      2 |      7 |        |
| p3     |     14 |      3 |      6 |        |
| p4     |     18 |      1 |      6 |      3 |
| p5     |     42 |      5 |      7 |        |
| p6     |     50 |      2 |      8 |      5 |
| p7     |     58 |      5 |      7 |        |
| p8     |     64 |      4 |      2 |        |
| p9     |     76 |      1 |      6 |        |
| p10    |     79 |      1 |      7 |        |
| p11    |     81 |      3 |      6 |        |
| p12    |     85 |      1 |      6 |     11 |
| p13    |     98 |      1 |      8 |        |
| p14    |    100 |      1 |      6 |        |
| p15    |    102 |      1 |      5 |        |
| p16    |    104 |      1 |      8 |        |
| p17    |    106 |      1 |      4 |        |
| p18    |    108 |      1 |     10 |        |
| p19    |    110 |      1 |      7 |        |
| p20    |    124 |      1 |      7 |      5 |
| p21    |    132 |      1 |      7 |        |
| p22    |    140 |      1 |      7 |        |
| p23    |    144 |      1 |      8 |        |
+--------+--------+--------+--------+--------+
Link to post
Share on other sites

Thanks Chlipouni for the insight of the DDC process.

 

I'm going to check the log files, but I'm rather sure, all set of notes in scale1 are (if you can decypher my image) absolutely identical.

I can't understand why phrase Id 2 and 3 are not getting the same Id as Id 4 then.

 

Question is if and how far the DD process interferes with phrases which have been defined manually in EOF.

 

Am I right to conclude that the higher the phrase number in DDcreator, the more identical or similar set of notes can be found, and the more responsive becomes DD in RS?

 

Usually I read recommendations to set phrase number to 4, so on what depends the best choice?

Link to post
Share on other sites

About your specific case, did you check if your notes are all correctly grid snapped ? (EOF : [song][Highlight non grid snapped notes]).

Sometimes a note seems to be on a vertical bar, but its real position may be just before the bar, so the note belongs to the previous beat or measure (and not to the good phrase).

 

About your question :

- DDC always considers your own phrases as sub-sections

- It is better to define your own phrases because :

  - DDC creates the phrases without analyzing the content of the section and all phrases are defined with the length you set in the Toolkit

  - You can define the phrases with various lengths according to the repeating note sequences

- If you define your own phrases, always set the "Phrase length" parameter to a value bigger than the longest phrase of your song (to avoid that DDC divides the existing phrases)

Link to post
Share on other sites

All notes were perfectly snapped, when I find the reason, I'll inform you.

 

I was rather sure that making DDC to know where to start and end a phrase would require to exponentially analyzing and comparing all groups of notes starting at 2 up to at least half the number of notes. While this is not impossible, we wouldn't need to do phrases then.

 

Meanwhile, it's good to know that defining phrases is recommended.

Link to post
Share on other sites

Thanks for pointing out the existance of the Catalog, very useful :-)

  • Like 2

Check out my easy tutorial on how to add a metronome to your CDLC: Mute the original music, play only with the metronome and find out how good you really sound! Also: Find CDLCs that have the metronome enabled!

 

Want a USB-Footswitch that you can use to control the tone selection and all the menus in Rocksmith? Check out Rodman's Tutorial and my additions to that!  Footswitch_Logo.png

My CDLCs: Devin Townsend - Life, Deep Peace, Ih-Ah!, Deadhead; Farin Urlaub - Ok

My ideas for new features in Ignition, e.g. filters for Multitrack CDLC and Metronome CDLC.

Link to post
Share on other sites

  • 4 months later...

please

i don't like customs that are not like real dlc and i want to know how

but it is hard for me to do it without a video

Hi,

 

  You can add DD in an existing CDLC, easily with the Toolkit.

  If you want to modify the content of the CDLC to improve the behaviour of DD, you first need to know how to make your own CDLC ...

  There are existing videos and tutorials in CustomForge which explain how to do a CDLC.

 

  The first important thing to know about DDC is that it works well only for CDLCs in which the notes are in sync with the rhythm (beats and measures).

Link to post
Share on other sites

 

please

i don't like customs that are not like real dlc and i want to know how

but it is hard for me to do it without a video

Hi,

 

  You can add DD in an existing CDLC, easily with the Toolkit.

  If you want to modify the content of the CDLC to improve the behaviour of DD, you first need to know how to make your own CDLC ...

  There are existing videos and tutorials in CustomForge which explain how to do a CDLC.

 

  The first important thing to know about DDC is that it works well only for CDLCs in which the notes are in sync with the rhythm (beats and measures).

 

but how do i make more then one section to go up in difficulty, so it is more real?

Link to post
Share on other sites

If you want a real good dynamic difficulty, you need to be interested in the structure of a song, in the repeating patterns, in the linking bridges between different parts. No video can teach you that, you only need to be interested in music, I did this long before doing a cDLC, specially with Rush songs, but I wouldn't recommend Villa Strangiato to beginners :D . Try Pop songs instead, you can lead a horse to water, but you can not make him drink. B)

Link to post
Share on other sites

can't i just write or doing something like riff 1 and riff 2 and then both will go up in difficulty

 

 The global process to follow is :

 - Create sections and phrases (on the main beat of measures). The phrase name is not used by DDC.

 - Then, for each existing phrase, DDC creates a note map (N1, C1, N2, N3, C1, ...)

 - All phrases which share the same note map are associated with the same generated name (these phrases will level up or down together)

 

 If the CDLC is not well synchronized (notes are not in sync with the measures and beats), the note map will be less reusable ...  

Link to post
Share on other sites

 

can't i just write or doing something like riff 1 and riff 2 and then both will go up in difficulty

 

 The global process to follow is :

 - Create sections and phrases (on the main beat of measures). The phrase name is not used by DDC.

 - Then, for each existing phrase, DDC creates a note map (N1, C1, N2, N3, C1, ...)

 - All phrases which share the same note map are associated with the same generated name (these phrases will level up or down together)

 

 If the CDLC is not well synchronized (notes are not in sync with the measures and beats), the note map will be less reusable ...  

 

so if i use the shift s and use one of them

so if i use a one with the same name

it will level up everyone with the same name

Link to post
Share on other sites

You just have to create sections and phrases at the right place. The name of phrases is not used by DDC. The phrases will level up together if they contain the same number of measures and the same sequence of notes.

I can help you if you share the EOF project on which you are working ...

 

is there anyway to do it without it having the same notes

as there is lots of bits that are the same but just some notes that are different  

Link to post
Share on other sites

 

You just have to create sections and phrases at the right place. The name of phrases is not used by DDC. The phrases will level up together if they contain the same number of measures and the same sequence of notes.

I can help you if you share the EOF project on which you are working ...

 

is there anyway to do it without it having the same notes

as there is lots of bits that are the same but just some notes that are different  

 

 

By default, DDC considers two phrases as similar if they have less than 25% of differences on their notes maps.

These phrases don't share the same name but they are linked in the XML file.

 

You can modify the "maxDifferencesToLink" parameter in the "ddc_default.cfg" file to adjust this percentage.

Link to post
Share on other sites

 

 

You just have to create sections and phrases at the right place. The name of phrases is not used by DDC. The phrases will level up together if they contain the same number of measures and the same sequence of notes.

I can help you if you share the EOF project on which you are working ...

 

is there anyway to do it without it having the same notes

as there is lots of bits that are the same but just some notes that are different  

 

 

By default, DDC considers two phrases as similar if they have less than 25% of differences on their notes maps.

These phrases don't share the same name but they are linked in the XML file.

 

You can modify the "maxDifferencesToLink" parameter in the "ddc_default.cfg" file to adjust this percentage.

 

how does this do it?

is there any code i can use to link riff to riff 2

so they will both go up in difficulty in the slider

so like this

link riff1,riff2,riff3,outro

or something like that

Link to post
Share on other sites

 

and yes i'm a guitar noob and i'm talking about sections

 

Did you read the DDC tutorial ?

This page explains how DDC manages sections and phrases : Automatic creation of phrases

 

Sorry, that's not a video, but there are a few images  ;)

 

i just don't understand 

what phrases is and all i care about is sections

i'm sorry if i'm really been bad at this 

and i plan on doing the dd on my own

so any thing to make it link riff1 and riff2 if they are sections 

Link to post
Share on other sites

maybe in the toolkit

you can pick the option to make it so if there is a number on the end

it will both go up in difficulty

so if you have a number at the end

if you pick a section in riff repeater

and if the section name is riff1

and there is a another section riff2

then they will both go up in difficulty

Link to post
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy