Jump to content

http://guitargames.files.wordpress.com/2013/11/ddc-512.png
                            {Original icon from Svengraph}
 
  Dynamic Difficulty Creator
  I am pleased to share with you the "Dynamic Difficulty Creator" which :
  - uses the XML files of each arrangement to produce a new version of these files (files like "PART REAL_GUITAR.xml")
  - generates all phrases automatically (if not already created in EOF)
  - generates all levels of dynamic difficulties from 0 to 19 if needed for each phrase
 

DDC v3.7 supports various time signatures :  
- if a time signature is missing, you can now configure its categorization maps  
- the synchronization process in EOF must respect the rhythm (the measures, beats and time signatures have to be correctly defined in EOF)    
For best results :  
- during the synchronization process in EOF, do not move the notes, just move the main measures (vertical bars)  
- create sections and phrases in EOF carefully because they strongly influence DDC process  
- All sections and phrases must start on the main beat of a measure   
If these rules are bypassed, DDC can work, but the results are not garenteed ...

 
  I'm writting a dedicated tutorial about DDC : DDC Tutorial
 
------------------------------------------------------------------------------------------------------------------------
-- D O W N L O A D   L I N K
------------------------------------------------------------------------------------------------------------------------

  Production (stable) : ddc_v3.7.zip (Requires RSToolkit v2.8.1.0-980b5022 beta or greater)

 
------------------------------------------------------------------------------------------------------------------------
-- U P D A T E S
------------------------------------------------------------------------------------------------------------------------

 

  Update v3.7 : (14/07/2020)

   - New specific part in the log file to display the handShapes properties
   - Fixed bug : HandShapes are not always generated when they contain both single notes and chords

 

  Update v3.6 : (02/12/2018)
   - The "offset" property is now setted if the first beat starts after 0.000
   - New "maxMeasuresPerPhrase" parameter to disable the automatic phrase creation process based on the average number of measures per input phrase
   - Fixed bug : A new beat was always added at time 0.000
   - Fixed bug : A COUNT phrase iteration was always added at time 0.000
   - Fixed bug : The time position of the last noguitar section was always adjusted
   - Fixed bug : The maximum number of generated DD levels wasn't limited to 30

 

  Update v3.5 : (27/07/2018)
   - Fixed bug : When generating the transcriptionTrack tag, a chord must be ignored if it is replaced by single notes at upper levels
   - Fixed bug : Notes are not always generated for odd measures when "ddc_dd_remover.xml" template is used
   - Fixed bug : The computation of number of differences is wrong for the first level of difficulty

 

  Update v3.4 : (20/09/2017)
   - More levels added in the default configuration file
   - In order to add more levels of difficulty, each level is splitted in two sublevels, the first one keep only new notes added in odd measures.
   - Fixed bug : The last notes may be omitted when the last "noguitar" section has an adjusted time position.
   - Fixed bug : Error in calculating the total number of events in each phrase that affected the process of merging adjacent difficulty levels.
   - Fixed bug : Transcription track could produce several single notes at the same time position and on the same fret
   - Fixed bug : Embedded handShapes may produce issue when generating the transcriptionTrack tag
   - Fixed bug : Spaces in chord name and display name were not managed correctly
   - Fixed bug : Count attributes may have wrong values in transcriptionTrack children tags

 

  Update v3.3 : (07/04/2017)
   - Set the default value when an attribute is missing in the input XML file
   - Generation of transcriptionTrack tag without attributes that have the default value
   - Don't generate XML attributes with default value in the DDC output file (RSToolkit v2.8.1.0)
   - Fixed bug : High density status may be forced even if the chord contains any technics
   - Fixed bug : A value of 100 for the "minHighDensityMisused" configuration parameter doesn't deactivate the density correction process

 

  Update v3.2 (28/11/2016)

   - New process to force the density status of chords depending on their position in a sequence
   - New parameter in the configuration file to adjust or not the density status of chords
   - New process to add open notes in chord tags in order to remove display glitches
   - New message in the log if the time position of an anchor is adjusted
   - No more protection of adjacent measures that share the same handShape during the phrase creation process
   - No more generation of linkedDiffs node (only newLinkedDiffs is usefull)
   - Fixed bug : Wrong time position used when generating a new anchor at the beginning of a phrase
   - Fixed bug : HandShapes and anchors may be splitted at the beginning of a new phrase
   - Fixed bug : Linked notes may never appear in any difficulty level

 

  Update v3.1 (02/10/2016)

   - The order of XML attributes has changed for note, chordNote and handShape tags

   - The feature that automatically adjusts the sustain of notes has been removed
   - Fixed bug : DDC may crash during the check of overlapping sustains

 

  Update v3.0 (01/02/2016)

   - The chords without chord notes are now supported
   - New process to add measure 0 at time 0.000 when startBeat is greater than 0.000
   - New process to keep the highDensity value as defined in EOF
   - Fixed bug : HighDensity status can be overrided with a wrong value

 

  Update v2.9 (23/01/2016)

   - New logic to avoid the split of existing handShapes when the new phrases are generated

   - New process to allow excotic handShape phrases

   - New check to remove handShapes which are empty
   - New logic to allow handShapes without a valid chordTemplate reference
   - Fixed bug : Start time of the first handShape in a phrase may be greater than the phrase start time
   - Fixed bug : HandShape with no visible note inside maybe generated
   - Fixed bug : DDC may crash if duplicate nodes are found in the XML file
   - Fixed bug : The highDensity attribute was not recomputed for lower levels of difficulty

 

  Update v2.8 (06/12/2015)

  - Single distinct notes which are located on the same time position are now managed like a chord if they are associated with a handShape and a chordTemplate.

  - The transcriptionTrack generation process has been modified to manage multiple notes on the same time position.
  - New check about the maximum number of phrases and automatic increase of the phrase length parameter if possible. 
  - New process for increasing the phrase length parameter if the maximum number of phrases will be reached (new parameter in the config file to define this limit).
  - New process for detecting similar phrases (similarities are now computed by measure).
  - New process for detecting duplicate events on a same time position and to avoid a crash of DDC (only the first occurrence is kept by time position).
  - Fixed bug : TranscriptionTrack generation may produce events in the wrong order based on their time position (when the highest level has less events than the lower levels).
  - Fixed bug : Always add the first event of each phrase in the first level of difficulty to avoid a crash in RR.

 

  Update v2.7 (06/04/2015)
  - Fixed bug : XML prolog was missing in the result XML files.

 

  Update v2.6 (31/01/2015)
  - New default value for the phrase length parameter (4).

  - Fixed bug : DDC may generate a wrong value in the "count" attributes when it merges all existing difficulties to create the "transcriptionTrack" tag.

  - Fixed bug : The highest level of difficulty is not use when DDC merges all existing difficulties to create the "transcriptionTrack" tag.
  - Fixed bug : A measure may be not protected by a preceding one if it contains a new sequence of linked notes.
 

  Update v2.5 (05/07/2014)
  - New process to merge all levels of existing Dynamic Difficulty if the "transcriptionTrack" tag is empty.
  - Notes and chords sustain are now considered if they overlap two or more measures (prevent the creation of empty phrases which break the handshapes length).
  - Fixed bug : DDC error when the number of chordNodes is lower than the number of frets defined in the chordTemplate

   Update v2.4 (13/06/2014)
  - New categorization process to allow multiple time signatures.
  - New notation to define the ramp up models.
  - New configuration file (ddc_default.cfg) to allow the modification of internal parameters (category and subcategory maps, merging levels, linked diff.).
  - New parameter to specify the configuration file to use.
  - New checks and associated warnings about the categorization process.
  - New merging process to reduce the number of difficulty levels (separate from the DD generation step).
  - New view of difficulty levels in the log file for a better differentiation of the levels before and after the merging process.
  - Fixed bug : Adjacent levels of difficulty may be wrongly merged together.

   Update v2.3 (13/06/2014)
  - Fixed bug : Some adjacent measures are wrongly protected in the same phrase.
 
  Update v2.2 (15/03/2014)
  - Synchronize events on the timeline before generating the new phrases.
  - Protect adjacent measures in the same phrase if they contain a sequence of linked notes.
  - Generate a warning if a sequence of linked notes overlaps two sections or two subsections.
  - Fixed bug : Last chord may be missing.
  - Fixed bug : New phrase can be created with only one empty measure.
 
  Update v2.1 (15/02/2014)
  - Auto-adjustment to the previous main beat for each section and phrase iteration which is not placed on the main beat of a measure.
  - DDC now allows handShape's end time equals to the start time of the following one.
  - Fixed bug : Technics on chords can be lost if the chord is the first one in the current phrase iteration.
  - Fixed bug : Chord notes may be missing if the chord is the first one in the handShape in the current level of difficulty.
  - Fixed bug : First chord reference in a sequence may be the wrong and chord note technics may appear or disappear.
  - Fixed bug : Phrase length parameter can be ignored when only the last measure of the current phrase is empty.
  - Fixed bug : Linked notes can be ignored when two notes have the same time position.
  - Fixed bug : First section may be missing.
 
  Update v2.0 (24/01/2014)
   - New display of DD levels in the log file to facilitate the DDC process check.
   - DDC now supports anchors on the secondary beats of a measure.
   - New logic added for merging two adjacent levels of difficulty if there is no more than 10% of differences between them.
   - New comparison system to detect similarities between two distinct phrases (less than 25% of differences).
   - New warning added in the log file if a chordNote tag is not found for the fundamental note.
   - New optional parameter "-p" to overwrite the XML file content without changing its name (value "Y").
   - New optional parameter "-t" to generate or not the log file (value "Y").
   - Fixed bug : notes and chords may be missing on the highest level of difficulty.
   - Fixed bug : arpeggios are not generated by DDC if they are at the last position in the chord templates list.
 
  Update v1.9 (10/01/2014)
   - New warning added in the log file if sections or phrases don't start at the first beat of a measure.
   - Fixed bug : Wrong value in "count" attribute of the "phraseIterations" tag in specific cases.
   - Fixed bug : "ChordNote" tag may be missing in lower levels of difficulty for fret hand muted chords.
   - Fixed bug : Process may stop when loading XML file informations if a phrase is defined before the first section.
 
  Update v1.8 (04/01/2014)
   - Arpeggios are now supported.
   - File path removed in the ramp-up model name for the generated comment.
   - Chord Templates are now fully described in the log file.
   - Fixed bug : The phrase "p0" was always generated even if no iteration of the phrase was referencing.
   - Fixed bug : Wrong categorization, if the last measure is not complete (based on the current time signature) and contains notes or chords.
   - Fixed bug : A few notes or chords are missing due to a bug in the sub-categorization process.
 
  Update v1.7 (25/12/2013)
   - New "transcriptionTrack" tag management.
   - Now supports the DD remover functionality.
   - First phrases and sections are not generated if they are empty for the current arrangement.
   - First "COUNT" empty phrase iteration is added between the first beat and the first non-empty phrase.
 
  Update v1.6 (15/12/2013)
   - Synchronize the first measure with the first section before generating new phrases.
   - Fixed bug : The last phrase iteration was missing in the generated XML file.
   - Fixed bug : Minor correction in the "linkNext" sequence management.
 
  Update v1.5 (11/12/2013)
   - New "INFORMATION" status for log messages.
   - New validity check of the XML format.
   - New security checks about the time position of the first anchor and the first handShape.
   - ChordNote tag children are cloned for the fundamental notes in lower levels of difficulty.
   - HandShape endTime is adjusted when it is splitted due to a new phrase iteration.
   - Remove sustains parameter is set to "N" by default.
   - Fixed bug : Sections are lost if there are less phrase iterations than sections.
 
  Update v1.4 (05/12/2013)
  - First empty phrase iterations are not generated.
  - Protect the loading of XML chords and notes when the last measure is not complete.
  - Anchor "time" value is adjusted for the first event of each new phrase iteration.
  - Chord sustains are now collected from the "chordNote" tag.
 
  Update v1.3 (03/12/2013)
  - HandShape "startTime" value is now adjusted to the "time" value of its first associated chord in the current level
  - HandShape "endTime" correction
  - HandShape added for the first chord of each new phrase iteration if necessary
  - Chord notes added on the first chord of each new phrase iteration if necessary
  - Only the needed anchors are now inserted on each level of difficulty
  - Fixed bug : Wrong "chordId" was used in "handShapes" for lower levels of difficulty
 
  Update v1.2 (24/11/2013)
  - Supports the Rocksmith 2014 Score Attack mode
  - Automatic difficulty selection for the three Score Attack levels
  - New "heroLevels" tag added for each non-empty "phraseIteration"
 
  Update v1.1 (19/11/2013)
  - Auto detection of the Rocksmith XML format (2012 or 2014)
  - The following Rocksmith 2014 technics are now supported :
    - All new attributes on notes and chords
    - New "chordNote" elements under "chord"
    - New "bendValues" elements under "note" and "chordNote"
    - "linkNext" logic for combining several chords and/or notes in a complex note in RS2014
  - DDC now works with no "section" and/or no "phraseIterations"
  - Existing phrases in the input XML file are now used as subsections
  - Fixed bug : Wrong "chordId" was used for the lower levels of difficulty
 
  Update v1.0 (03/11/2013)
  - New lightweight executable for Windows 32bit (command line tool)
  - DDC program totally rewritten in Tcl
 
  Update v0.9 (21/09/2013)
  - DDC now supports all technics on the fundamental notes of the chords (palm mutes, bends, slides, ...). 
    You must first activate [song][Rocksmith][Export chord techniques] in EOF for export these informations in the XML files.
  - Two new sub-categories (1 & 2) for category 8 in the default ramp-up model (to soften the rise of the first levels)
 
  Update v0.8 (12/09/2013)
  - Sustain of the fundamental note of a chord was not generated if this chord was the last one of the tab (now it works)
  - Sustain correction wasn't apply on all notes (now it works)
 
  Update v0.7 (03/09/2013)
  - New more powerfull web hosting (but not free ...)
  - New parameter to choose the length of the phrases (2, 3 or 4 measures)
  - New parameter to remove or not the note's sustain
  - New parameter to configure the ramp-up model (* & **)
  - The transformation process starts instantly when the queue is empty
 
  Update v0.6 (30/08/2013)
  - New leveling model with a maximum of 4 new notes or chords at each level transition
  - Up to 21 levels of difficulty for a phrase
  - In the previous release, palm muted effect was omitted during the generation of the XML result file (now it works correctly)
  - Phrases length can be set to 2, 3 or 4 measures (the difficulty highway bar doesn't display when there are too many phrases; increasing the phrase length resolves this problem)
  - Automatic sustain correction for each note with length less than 1/4 of its measure (we can keep those sustains in EOF for future compatibility or different behavior in Rocksmith 2014)
 
  Update v0.5 (26/08/2013)
  - Faster than v0.4 (less than 20 seconds for an arrangement)
  - Source XML files with only two phrases ("COUNT" and "END") are now supported
  - When a phrase reaches its maximum level of difficulty, it is not written in the higher levels
  - Similar Chords templates was merged in the previous version and can loose some specific finger positions
  - "controls" and "phraseProperties" XML elements was omitted in the previous versions
  - DDC now supports chords HandShapes for single notes
 
  Update v0.4 (20/08/2013)
  - Faster than v0.3 (less than one minute for an arrangement)
  - Now supports original XML files with multiple levels inside
  - "events" and "linkedDiffs" XML elements was omitted in the previous version

  • Replies 476
  • Views 62.7k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Chlipouni
    Chlipouni

    Update v2.4 (13/06/2014)  - New categorization process to allow multiple time signatures.  - New notation to define the ramp up models.  - New configuration file (ddc_default.cfg) to allow the modific

  • This warning will be in the next EOF hotfix.

  • Chlipouni
    Chlipouni

    DDC Tutorial update for DDC v2.4 : DDC tutorial   Do not hesitate to ask for updates in the DDC tutorial (missing information or too obscure explanations ;))

Featured Replies

  • Author

@@manchot66, @@SmellyOrc,

 

There are extra informations after the "</song>" end tag in the XML files.

 

Can you give me more details about the production of the XML files :

- Exact release of RSToolkit ?

- Are you trying to add DD on XML files or PSARC ?

- Which process had generated the XML files (save from EOF, unpack of a psarc file, ...) ?

 

Thanks

  • Author

I think that was the RST bug @@III_Demon mentioned earlier, it's writing corrupt XML files that has content beyond the </song> tag.

 

The XML files should be generated only by :

- EOF

- DDC

- RS Toolkit when unpacking a song with the checkbox "SNG to XML" checked

 

The DDC tab in the Toolkit doesn't update the XML files.

 

I can't reproduce the problem.

 

Any Idea ?

  • Author

I used the DDC tab from the toolkit (a9d2fe5b) on an XML file generated by EOF. I've checked the XML file, and there is no content after </song> besides a single enter. I've uploaded the XML file here: https://www.sendspace.com/file/04f02j

 

Edit: XML file is generated by EoF r1377, the latest one atm.

 

Your XML file is not valid, it contains two "</song>" tags :

- at line 3501 (the real end)

- at line 3557

</song>handShape chordId="14" endTime="203.686" startTime="203.217"/>
        <handShape chordId="15" endTime="204.389" startTime="203.921"/>
        <handShape chordId="15" endTime="204.855" startTime="204.624"/>
        <handShape chordId="16" endTime="206.730" startTime="204.858"/>
        <handShape chordId="11" endTime="207.433" startTime="207.202"/>
        <handShape chordId="11" endTime="208.605" startTime="207.905"/>
...
</song>

Yes, it was generated by EoF. It was my own custom, so I had no need to unpack a file. Anyway, I deleted the file, and had EoF write a new one. That one went fine in the DDC. I guess there's a problem with EoF not correctly overwriting existing files?

I mentioned this the last time that was suggested, but it's more likely a program on your computer (perhaps a toolkit related program) that is interfering. EOF never opens files it writes in append mode, and doesn't seek when writing the file, so it's theoretically impossible for it to partially overwrite a file this way. It writes the file and closes it and unless the OS or something else interferes, where it closes the file becomes the end of the file. If people have doubts about that, I could add code to delete the output file and verify deletion before attempting to write them. This should help identify if another program is causing this issue.

 

Edit: I also agree about the missing EOF version string. If it's not there, this XML was not the one originally written by EOF.

 

Edit 2: More info about the referenced bug is here:

http://customsforge.com/topic/17817-ddc-error-only-when-i-add-vocals/?do=findComment&comment=138826

http://customsforge.com/topic/989-custom-song-toolkit-v2600-was-released/page-11?do=findComment&comment=138668

a note here thats probably relevant:

 

when this bug happened to me, initially i had nothing else open, just the RST. there was nothing else touching the files.

 

while attempting to debug, i opened the xml files in notepad++ and looked through them while working with them.

 

when the RST compiled the package - i.e. when i hit the 'generate' button - notepad++ would alert me that the files had changed.

 

i have no idea why the RST would be writing to the original xml at that point, but that seemed to be what was happening.

  • Author

a note here thats probably relevant:

 

when this bug happened to me, initially i had nothing else open, just the RST. there was nothing else touching the files.

 

while attempting to debug, i opened the xml files in notepad++ and looked through them while working with them.

 

when the RST compiled the package - i.e. when i hit the 'generate' button - notepad++ would alert me that the files had changed.

 

i have no idea why the RST would be writing to the original xml at that point, but that seemed to be what was happening.

 

Were you using the "creator" tab of the Toolkit when this issue happened (or the DDC tab) ?

 

When you use the DDC tab to generate DD on each XML file, you should obtain file names like 'DDC_PART_REAL...xml'.

These files should contain a few comments at the beginning as the following example :

<song version="7">
    <!-- DDC v2.6 - 03/16/2015 - ddc_default.cfg - ddc_default.xml -->
    <!-- EOF v1.8RC10 (r1371) -->
    <title>Zombie Barricades</title>
    <arrangement>Lead</arrangement>

Is it the case for you ? 

@@manchot66, @@SmellyOrc,

 

There are extra informations after the "</song>" end tag in the XML files.

 

Can you give me more details about the production of the XML files :

- Exact release of RSToolkit ?

- Are you trying to add DD on XML files or PSARC ?

- Which process had generated the XML files (save from EOF, unpack of a psarc file, ...) ?

 

Thanks

 

Hey Chilpouni,

 

I've done everything the same as SmellyOrc.  Using latest Toolkit and EoF.  Tried add DD to both psarc and xml, same error for both.  Xml's created by EoF, no unpacking, etc.

Yes, it was generated by EoF. It was my own custom, so I had no need to unpack a file. Anyway, I deleted the file, and had EoF write a new one. That one went fine in the DDC. I guess there's a problem with EoF not correctly overwriting existing files?

 

Followed SmellyOrc's fix and deleted original xml's with EoF open to that song, then saved.  Recreated psarc then added DD with no errors.

 

Thanks Orc who needs a bath and Chilpouni for your help!

Were you using the "creator" tab of the Toolkit when this issue happened (or the DDC tab) ?

 

the creator tab. thats the weird thing about it. i assumed that creation process shouldnt write xml at all, but apparently it did. the DDC was never at fault, it was getting bad xml from the creator.

  • Author

 

Were you using the "creator" tab of the Toolkit when this issue happened (or the DDC tab) ?

 

the creator tab. thats the weird thing about it. i assumed that creation process shouldnt write xml at all, but apparently it did. the DDC was never at fault, it was getting bad xml from the creator.

 

 

Thanks, a lot for testing.

 

I just reproduce the problem at the moment.

 

I am going to create an issue at Github ...

  • Author

with dd remover it won't work on real dlc, as i want to get the chart and the tempo so i can make a chart for rock band and guitar hero

You have to unpack the DLC first with "SNG to XML" checked to generate the missing XML files...

 

with dd remover it won't work on real dlc, as i want to get the chart and the tempo so i can make a chart for rock band and guitar hero

You have to unpack the DLC first with "SNG to XML" checked to generate the missing XML files...

 

ok i will try that and thank you

  • 2 weeks later...
  • Author
 
  Update v2.7 (06/04/2015)
  - Fixed bug : XML prolog was missing in the result XML files.

 

  => The missing prolog in XML files that are generated by DDC seems to cause a failure during conversion of a CDLC (Pc -> Mac)

 

  A big thank you to Kaijin for alerting me about this issue !

  • 2 weeks later...

Got this error message today:

 

http://i.imgur.com/gFamyHp.png

 

Only get this error for one song.  I am able to add DD to all other songs.  Any ideas of what I can do?

 

Link to EoF files

 

Thanks.

  • 2 weeks later...
  • Author

@@manchot66,

 

  Try to save again your project with the last release of EOF (r1398).

  DDC should work fine with the new XML files ...

 

Thanks

Edited by Alex360
Colors highlight with black doesn't work here, use bold or yellow+bold to highlight

Saved with latest EoF.  Get this error when adding DD:

 

http://i.imgur.com/SE5xzhW.png

 

EDIT: Didn't see this in your post becuase it blended in with the background:

  (r1398).

  DDC should work fine with the new XML files ...

 

Will try (r1398) now, was using (r1396).

Recently Browsing 0

  • No registered users viewing this page.


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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.