Coder Social home page Coder Social logo

iminashi / rocksmith2014.net Goto Github PK

View Code? Open in Web Editor NEW
63.0 6.0 16.0 20.06 MB

F# (with some C#) libraries for creating Rocksmith 2014 custom DLC.

License: MIT License

F# 84.00% C# 16.00%
rocksmith2014 avalonia avalonia-funcui fsharp elmish

rocksmith2014.net's Introduction

Libraries for Rocksmith 2014 CDLC

Tests (Linux) Publish macOS version Publish Linux version

.NET libraries for Rocksmith 2014 custom DLC creation. Based largely on the Song Creator Toolkit for Rocksmith.

Samples

DLC Builder

DLC Builder screenshot

Cross-platform desktop app for creating CDLC.

Misc Tools

Cross-platform desktop app mainly for testing the functionality of the libraries.

Profile Debloater

Console app for removing obsolete IDs from profile files.

Empty Title Fix

Console app for fixing empty Japanese titles in PSARCs created with a buggy version of the Toolkit.

Libraries

Audio

Contains functionality for converting between wav, ogg and wem files, creating preview audio files and calculating volume values.

Common

Contains various types and functions used by the other libraries. Also has functionality for reading and writing profile files.

Conversion

Contains functionality for converting XML to SNG and vice versa.

DD

Contains functionality for generating dynamic difficulty levels.

DD.Model

A machine learning model for predicting level counts. Created with ML.NET model builder.

DLCProject

Contains the Arrangement and DLCProject types and also miscellaneous functionality needed for creating CDLC (DDS conversion, showlight generation, etc.).

EOF

Contains functionality for creating an EOF project file from Rocksmith arrangements.

PSARC

For opening and creating PSARC archives.

SNG

For reading and writing SNG files.

XML

Nuget

For reading, editing and writing XML files. Originally created for DDC Improver.

XML.Processing

Contains functionality for improving arrangements and checking them for errors. Ported from DDC Improver.

rocksmith2014.net's People

Contributors

dependabot[bot] avatar iminashi avatar rickparrish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rocksmith2014.net's Issues

This looks amazing! One question please : )

Hello! I am late to the Rocksmith party (very late) so please excuse the beginner question.

I've been looking into using Rocksmith to learn some Spanish guitar instrumental songs.

I've looked into the process of creating CDLCs and it seems that until very recently doing so required you to use 4 or 5 programs:

UltraStar Creator
Editor on fire
Guitar Pro
Rocksmith Toolkit
Wwise

By the way I'd love to do the whole process on Mac, so happy to see you offer a Mac version!

Is it my understanding that your absolutely awesome program replaces the need to juggle 5 programs and you now only need to use this one toolkit that you've developed?

Is there a tutorial or a video anywhere that makes use of your software?

In my case, I have tabs, and I want to practice them in Rocksmith. There are no lyrics and no other instruments as it happens.

Many many thanks! So nice to see something fresh and actively developed in 2023 for Rocksmith!!

CI test failure

The test "Wem file can be converted to vorbis file" is failing with no apparent reason.

revorb process failed with exit code: 127 (command not found?)

Running the test script works locally on Windows and Linux.

Automating steps (unpack, add arrangement, build)

I'm wondering if there is a built-in method (ie command-line args) to automate some of the tasks, specifically to unpack a psarc, add an arrangement, and then build a new psarc? (And potentially to remove an arrangement, although I'm not 100% sure I'll use that yet)

If not, can you point me in the right direction of which libraries/classes/methods to use for these activities? I'm mostly a C# dev, and am finding myself lost while looking at the F# code!

What I'm trying to do is automate the creation of a Ukulele arrangement for each song. I was able to do this manually with DLC Builder by opening the psarc, manually creating a ukulele arrangement from the bass arrangement, adding the ukulele arrangement as a bonus bass arrangement, and then building a new psarc.

I wrote some code to create the ukulele xml from the bass xml, so that part doesn't need me to manually edit the xml anymore, but I still need to manually open the psarc, click the +, and click build, so it'd be amazing if I could automate that portion too.

Thanks!

EDIT: Am I on the right track by using the logic for UnpackPSARC and PackDirectoryPSARC from Misc Tools?

EDIT 2: After more digging, it looks like PsarcImporter.import might be what I'm looking for.

Support for dual custom font

Implement support for using custom fonts for both Japanese and regular lyrics simultaneously. Or, if not feasible, show a warning.

[Feature Request] Option to replace audio file with a one without the guitar track

I was thinking about a lot of songs where the audio files without the guitar tracks are available, and I was wondering if it might be possible when having one of this original audio files, and a complete CDLC of the same song, to edit the CLDC and import the audio without the guitar replacing the original one, to be able to easily create CLDCs without the guitar/bass tracks.

I think they most annoying part of doing this manually is syncing the audio, but I imagine it might be possible to do it automatically comparing both audio files to find where they match and then sync acordingly.
Do you think this is possible?
If not, maybe at least would be nice to add the option to replace the audio file and do the sync manually

Crash on Import PSARC File (Quick Edit)

DLC Builder 2.2.2 crashes on Mac Air M2 (Ventura 13.5) when opening Mac PSARC for quick edit with following message:

AggregateException: One or more errors occurred. (revorb process failed with exit code: 134)

Inner exception:
Exception: revorb process failed with exit code: 134
at Rocksmith2014.Audio.Conversion.validateRevorbOutput(Int32 exitCode, String output)
at Rocksmith2014.Audio.Conversion.wemToOggImpl(String sourcePath, String targetPath)
at Rocksmith2014.Audio.Conversion.wemToOgg(String wemFile)
at [email protected](String wemFile)
at Microsoft.FSharp.Collections.SeqModule.Iterate[T](FSharpFunc2 action, IEnumerable1 source) in D:\a_work\1\s\src\FSharp.Core\seq.fs:line 632
at [email protected]()
at [email protected]()

Could not intialize container! when trying to use "guitar.ogg" as Main Audio

Hi,
I tried creating my first CDLC today but when I tried to set EOF's exported guitar.ogg as the Main Audio of my song I got the following error message:

ArgumentException: Could not initialize container!
   at NAudio.Vorbis.VorbisSampleProvider..ctor(Stream sourceStream, Boolean closeOnDispose)
   at NAudio.Vorbis.VorbisWaveReader..ctor(Stream sourceStream, Boolean closeOnDispose)
   at NAudio.Vorbis.VorbisWaveReader..ctor(String fileName)
   at Rocksmith2014.Audio.Types.AudioReader.Create(String fileName)
   at Rocksmith2014.Audio.Volume.calculate(String fileName)
   at [email protected](Unit unitVar)
   at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2)
   at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)

My original song (also in *.ogg) could be set without issues and a preview.ogg I created and exported in EOF also worked without issue.

Can someone provide information regarding this error?

Exception importing Red Hot Chili Peppers - Otherside

An exception is thrown when trying to import Red Hot Chili Peppers - Otherside (https://ignition4.customsforge.com/user/collectedcdlcs/toggle/9074?platform=pc). I'm guessing this is because it's packaged incorrectly, but figured I'd open an issue in case it's something DLC Builder can work around.

This exception is thrown while deserializing othersidesong_rhythm.json:

AggregateException: One or more errors occurred. (One or more errors occurred. (Failed to parse type Rocksmith2014.Common.Manifest.ToneDto: expected JSON object, found Null))

Inner exception:
AggregateException: One or more errors occurred. (Failed to parse type Rocksmith2014.Common.Manifest.ToneDto: expected JSON object, found Null)
   at [email protected]() in C:\Programming\Rocksmith2014.NET\src\Rocksmith2014.DLCProject\PsarcImport\PsarcImporter.fs:line 221
   at [email protected]() in C:\Programming\Rocksmith2014.NET\samples\DLCBuilder.Domain\StateUtils.fs:line 420
   at [email protected]() in C:\Programming\Rocksmith2014.NET\samples\DLCBuilder.Domain\Main.fs:line 229

Looking at the json, I see this is what the Tones array looks like (with element 2 and 3 snipped to keep the paste short):

                "Tones": [
                    null,
                    { snipped_object_1 with "Key" and "Name" of "RhythmDistortion" },
                    { snipped_object_2 with "Key" and "Name" of "RyhthmClean" }
                ],

I used the Custom Song Toolkit to extract the psarc, remove the null element, and repack the psarc. This repacked psarc loads in DLC Builder, but it reports "Following tones are missing definitions: RhythmClean" for the Rhythm arrangement. In the Tones list it does show an entry for RhythmClean though (and when I click Edit, it shows the same settings as LeadClean from the Lead arrangement)

Both the original and repacked psarcs work fine in Rocksmith. Not 100% sure whether they're using RhythmClean, or maybe falling back to a default tone though.

If there's no easy work around/fix, I wouldn't worry too much about it -- I've successfully imported the base RS2014 songs, the RS1DLC songs, and the top 100 most downloaded songs on Customs Forge, and this is the only one that's thrown an exception, so manually fixing one in more than 100 isn't a huge deal.

.Net 7 AES error on Windows 7

When trying to build CDLC (test or release) on ver 2.0.0+ under win7 the following error appears:

AggregateException: One or more errors occurred. (The current platform does not support the specified feedback size.)

Inner exception:
CryptographicException: The current platform does not support the specified feedback size.
   at <StartupCode$Rocksmith2014-PSARC>[email protected]()

Version 1.6.2 works, So it must be connected to .Net 7 update.

It seems there was (is) a problem in .Net 7 on win7.
Found the only source with the same error (its in chinese, yet google translates okey-ish) - https://www.cnblogs.com/lindexi/p/17680647.html

It seems there is a workaround, yet it looks bulky and not really trustable.

Can you look into this issue? Is there a way to still support win7?

Add Linux support

  • Implement Wwise auto-conversion using wine.
  • Add Linux versions of ww2ogg and revorb.
  • Enable disabled unit tests.
  • Other places where the current platform is referenced (online update).
  • Create publish script.
  • Add GitHub workflow.
  • Update README.

DLC Builder for Linux v0.9.x Freeze with XFCE4

When I open the program, it binds to the upper corner, Whisker Menu is no longer available, the desktop becomes an "image" where I cannot get back to it, and I cannot switch to another program.

Also I can drag the program around and it creates multiple "after images" all over the screen.

The only way to fix is exit the program, use the "Ctrl-Esc" hot key that brought back the desktop but no panels. Then I could right-click to access XFCE's application menu to log out.

I'm using EndeavourOS Atlantis (an ArchLinux-based distro) with latest Xorg, and display drivers for Intel.

I use a dark GTK2 based icon and theme set which the program seems to comply with.

I just started playing around with v0.7.5 that I acquired in October last year. It was only recently I wanted to try the program. When I started it prompted me to download an update.

I could downgrade and go backwards till I find the most recent version that doesn't have this issue....

Pictures describe better so I am attaching an example of what's happening:

DLCBuilder-linux-0 9 1-freeze-Screenshot_2022-02-12_16-30-15

Please let me know if you'd like some more information about my setup.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.