Sebane1 / FFXIVVoicePackCreator

A voice pack creation tool, voice swapper, MS-ADPCM, and OGG SCD generator
MIT License
31 stars 5 forks source link

Orchestrion Type Audio #5

Closed Ghoulfriend closed 1 year ago

Ghoulfriend commented 1 year ago

Hi, Seeing as you added BGM, I was wondering if you were interested in figuring out the orchestrion sound files, and including them in the tool at some point. They seem to be mono audio, but something is different about them from SFX, as what I had generated using this tool resulted in some weird behaviour such as:

Sebane1 commented 1 year ago

As far as I'm aware, FFXIV only has OGG or MS-ADPCM files. OGG for BGM MS-ADPCM for SFX

Sebane1 commented 1 year ago

I would double check that you exported an OGG scd file, and not an MS-ADPCM file for BGM.

Ghoulfriend commented 1 year ago

I used .wav, and your voice type, orchestrions aren't bgm, nevertheless BGM and .ogg doesn't work either, same issue.

Sebane1 commented 1 year ago

Interesting. I know sound edits are kind of wonky at the moment and are still very new,

For example, penumbra seems to play all MS-ADPCM files on the System Sounds track regardless of folder location. MS-ADPCM files also play over BGM.

BGM files on the other hand will cancel each other out as only one or two tracks can play at any given time.

My tool supplies the only two formats the game uses for the most part. But sounds aren't exactly wired into the game by current mod loaders where they should be.

Ghoulfriend commented 1 year ago

bgm_orch_499.zip

Maybe this could help to spot the difference? It's closer to SFX based on the fact that it only has one channel, but it also loops unlike SFX, and the aforementioned qualities of muting the BGM sound.

Sebane1 commented 1 year ago

I was able to hear animal crossing tossing the file into vgmstream The file appears to be an MS-ADPCM file.

Ghoulfriend commented 1 year ago

Oops, that's my bad I accidentally uploaded my modified attempt. bgm_orch_499.zip This should be the vanilla file

Sebane1 commented 1 year ago

The vanilla file is Ogg Vorbis

Ghoulfriend commented 1 year ago

Weird, BGM wouldn't work, and is usually stereo, so Explorer's conversion would end up with bad noise due to this being Mono, or if I used stereo it simply has the aformentioned issues.

Sebane1 commented 1 year ago

I've only just integrated BGM export into my tool as an option, so I'm sure there's probably some extra options I can toy around with and add if they help.

One thing to note with my tools conversion process it that it will actually pre-process files its given. Which means, you can give it a .mp3, .wav, etc and it will autoconvert it to the correct format before converting to .scd

I probably need to add a checkbox or something to trigger converting to mono during that phase.

Sebane1 commented 1 year ago

For MS-ADPCM mono is forced, for the OGG conversion it currently is not enforced.

Ghoulfriend commented 1 year ago

I'm just not sure that it being Mono is the missing component here, since no matter if Ogg ( Stereo ) or MS-ADPCM ( Mono ), the symptoms seem to be the same. I also tried to using a mono Ogg and it just ended up distorted.

Vanilla orchestrions seem to be prioritized ahead of BGM entirely, even with Portable Orchestrion you cannot force anything to play, but with the modified ones playing no matter the format, they are overwritten/stopped using the Portable Orchestrion plugin

Sebane1 commented 1 year ago

Download this and let me know if it helps you. I added an option that generates mono ogg .scd files. https://drive.google.com/file/d/1eJnNWq9Y42EYrqjHaXY77KrLly5_y8pL/view?usp=share_link

Ghoulfriend commented 1 year ago

Will let you know if it does, will edit this comment. EDIT: Same issue, just with sped up audio, I used a mono .ogg and the mono option

Sebane1 commented 1 year ago

Can you try feeding in a raw wav for the ogg file? The program will auto convert it to what it needs to be. I just wanna rule out the fact that your mono .ogg being re-encoded as a mono ogg isn't having an impact.

Ghoulfriend commented 1 year ago

Used a normal stereo .wav, seems to be the same results as mentioned above, using vgmstream I was able to confirm that the conversion to mono was successful.

Sebane1 commented 1 year ago

I'm suspecting that the way penumbra loads sounds files is not 1:1 with how the game usually loads sounds. Audio that plays back does not really provide a way to say which audio channel a sound should play in.

It seems to only really recognize BGM or System Sounds as supported playback channels, and I'm sure there's other nuances involved.

Here's a really dumb question, but have you tried using the vanilla file as its own replacement to observe what happens?

Ghoulfriend commented 1 year ago

Same deal happens with Textools as well. EDIT: Vanilla file works. EDIT2: Even if it's a completely different orchestrion .scd, however using vanilla BGM types results in the same observed behaviour that I encounter with my converted ones.

Sebane1 commented 1 year ago

Okay, so I compared the original file with what my tool outputs, and....... While VGM stream most certainly calls both files Ogg Vorbis, the vanilla file does not look like the kind of OGG Vorbis I'm used to seeing at all. Almost unrecognizable pulling it into a hex editor.

Which leads me to wonder if there's more than one type of ogg vorbis format.

Sebane1 commented 1 year ago

image image There's almost no pattern in the vanilla file saying that its Ogg Vorbis, which is weird.

Sebane1 commented 1 year ago

So, I've concluded that Orchestrions have their very own separate header file it seems. Its still an .ogg vorbis file inside, but a lot of the beginning data that says its a vorbis SCD is stripped out. So, I need to generate a file that does the same for the orchestrion to work correctly.

Three .scd formats confirmed.

Sebane1 commented 1 year ago

I'll tackle this in about 8 hours when I wake up from slumber. But this is roughly where ogg data begins in both files. We can see that the Orchestrion file is much shorter before reaching its data. image

Sebane1 commented 1 year ago

I've managed to replicate the initial SCD header attempting to generate orchestrion files.

However, the byte pattern between the .ogg I'm injecting, and the .ogg file in the original orchestrion appear to be two different formats based on the hex pattern.

I think its still another variant of ogg file contained inside.

image image

Sebane1 commented 1 year ago

So far I haven't been able to figure out any more information on solving why orchestrion ogg files are so different. Beyond injecting the audio file into the .scd file where it should be, figuring out audio formats isn't my direct expertise, so this is going slowly as I try to find more info.

Experimental generator is in place, but the game is currently unable to read my files.

Ghoulfriend commented 1 year ago

Okay, I just remembered something that might help, I've used XIVAlexander at some point to generate higher quality soundtrack using .flac from blu-ray discs, now I looked into it again and it seems it has also converted orchestrions where it had material, so to speak. I went ingame and got the "Solid" orchestrion roll ( Ishgard day ), and it seems to work as it's supposed to.

I uploaded a sample of the XIVAlexander made file and the vanilla, also here's a link to the XIVAlexander repo: https://github.com/Soreepeong/XivAlexander in case it helps.

Sample.zip

Sebane1 commented 1 year ago

I think I've finally been led to a path of starting the process of re-writing the way I currently handle file conversions until I fully understand how the .scd format works.

At the moment I kinda cheese the conversion process by stitching data from known working files together, and matching patterns. This works for the BGM, and Sound Effects, but my orchestrion files keep coming out as invalid files.

I've looked at the XivAlexander code, but because its in C++ and not my primary programming language, there's a bit of a fog trying to fully understand everything its doing. I've also been looking through the code for VFXEditor to see how it handles .scd files as well.

My brain aches, but I wont be complete until my tool can do all the .scd conversions XD

Sebane1 commented 1 year ago

The latest version of the tool finally addresses Orchestrion support.

Ghoulfriend commented 1 year ago

Tool seems to generate 20kb 0:02 long files for orchestrion, also none of the loop options seem to do anything for BGM either.

Also probably deserving of it's own thing but latest version seems to have issues with the Standalone SCD window selection, however this weird behaviour seems to have existed prior as I disabled internet and used and older build and same 20kb files.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidCastException: Unable to cast object of type 'FFXIVVoicePackCreator.SCDCreator' to type 'FFXIVVoicePackCreator.MainWindow'.
   at FFXIVVoicePackCreator.FilePicker.filePath_TextChanged(Object sender, EventArgs e)
   at System.Windows.Forms.TextBoxBase.OnTextChanged(EventArgs e)
   at System.Windows.Forms.Control.set_Text(String value)
   at System.Windows.Forms.TextBoxBase.set_Text(String value)
   at System.Windows.Forms.TextBox.set_Text(String value)
   at FFXIVVoicePackCreator.FilePicker.openButton_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
System.Private.CoreLib
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Private.CoreLib.dll
----------------------------------------
FFXIV Voice Pack Creator
    Assembly Version: 1.0.0.4
    Win32 Version: 1.0.0.4
    CodeBase: file:///D:/Downloads/FFXIVVoicePackCreator(5)/FFXIV%20Voice%20Pack%20Creator.dll
----------------------------------------
System.Runtime
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Runtime.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56811
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/System.Windows.Forms.dll
----------------------------------------
AutoUpdater.NET
    Assembly Version: 1.7.6.0
    Win32 Version: 1.7.6.0
    CodeBase: file:///D:/Downloads/FFXIVVoicePackCreator(5)/AutoUpdater.NET.dll
----------------------------------------
System.Drawing.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Drawing.Primitives.dll
----------------------------------------
System.Windows.Forms.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56811
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/System.Windows.Forms.Primitives.dll
----------------------------------------
System.ComponentModel.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.ComponentModel.Primitives.dll
----------------------------------------
System.Runtime.InteropServices
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Runtime.InteropServices.dll
----------------------------------------
System.Collections.Specialized
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Collections.Specialized.dll
----------------------------------------
System.ComponentModel.EventBasedAsync
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.ComponentModel.EventBasedAsync.dll
----------------------------------------
System.Net.ServicePoint
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.ServicePoint.dll
----------------------------------------
System.Net.Security
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Security.dll
----------------------------------------
System.ComponentModel.TypeConverter
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.ComponentModel.TypeConverter.dll
----------------------------------------
System.Collections.Concurrent
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Collections.Concurrent.dll
----------------------------------------
System.Collections
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Collections.dll
----------------------------------------
System.Threading
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Threading.dll
----------------------------------------
System.Threading.Thread
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Threading.Thread.dll
----------------------------------------
System.Net.WebClient
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.WebClient.dll
----------------------------------------
System.Net.Requests
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Requests.dll
----------------------------------------
System.Xml.XmlSerializer
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Xml.XmlSerializer.dll
----------------------------------------
System.Private.Xml
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Private.Xml.dll
----------------------------------------
System.Xml.ReaderWriter
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Xml.ReaderWriter.dll
----------------------------------------
System.Private.Uri
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Private.Uri.dll
----------------------------------------
System.Net.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Primitives.dll
----------------------------------------
System.Net.WebHeaderCollection
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.WebHeaderCollection.dll
----------------------------------------
System.Net.Http
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Http.dll
----------------------------------------
System.Diagnostics.Tracing
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.Tracing.dll
----------------------------------------
System.Security.Cryptography
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Security.Cryptography.dll
----------------------------------------
System.Collections.NonGeneric
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Collections.NonGeneric.dll
----------------------------------------
System.Diagnostics.DiagnosticSource
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.DiagnosticSource.dll
----------------------------------------
System.Net.Quic
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Quic.dll
----------------------------------------
System.Threading.ThreadPool
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Threading.ThreadPool.dll
----------------------------------------
System.Net.Sockets
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.Sockets.dll
----------------------------------------
Microsoft.Win32.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/Microsoft.Win32.Primitives.dll
----------------------------------------
System.Memory
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Memory.dll
----------------------------------------
System.Net.NameResolution
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Net.NameResolution.dll
----------------------------------------
System.Security.Principal.Windows
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Security.Principal.Windows.dll
----------------------------------------
System.Security.Claims
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Security.Claims.dll
----------------------------------------
System.Threading.Overlapped
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Threading.Overlapped.dll
----------------------------------------
System.Text.Encoding.Extensions
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Text.Encoding.Extensions.dll
----------------------------------------
System.Runtime.Loader
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Runtime.Loader.dll
----------------------------------------
System.Diagnostics.TraceSource
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.TraceSource.dll
----------------------------------------
System.Reflection.Emit.ILGeneration
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Reflection.Emit.ILGeneration.dll
----------------------------------------
System.Reflection.Emit
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Reflection.Emit.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: n/a
    CodeBase: 
----------------------------------------
System.Reflection.Primitives
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Reflection.Primitives.dll
----------------------------------------
System.Text.RegularExpressions
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Text.RegularExpressions.dll
----------------------------------------
System.Drawing.Common
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/System.Drawing.Common.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 7.0.122.56811
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/Accessibility.dll
----------------------------------------
Microsoft.Win32.SystemEvents
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/Microsoft.Win32.SystemEvents.dll
----------------------------------------
System.ComponentModel
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.ComponentModel.dll
----------------------------------------
System.Numerics.Vectors
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Numerics.Vectors.dll
----------------------------------------
System.ObjectModel
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.ObjectModel.dll
----------------------------------------
System.Resources.Extensions
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/System.Resources.Extensions.dll
----------------------------------------
System.Drawing
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56811
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.WindowsDesktop.App/7.0.1/System.Drawing.dll
----------------------------------------
System.Diagnostics.FileVersionInfo
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.FileVersionInfo.dll
----------------------------------------
System.Diagnostics.StackTrace
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.StackTrace.dll
----------------------------------------
System.Reflection.Metadata
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Reflection.Metadata.dll
----------------------------------------
System.Collections.Immutable
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Collections.Immutable.dll
----------------------------------------
System.Diagnostics.Process
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Diagnostics.Process.dll
----------------------------------------
System.Linq
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/System.Linq.dll
----------------------------------------
NAudio.Vorbis
    Assembly Version: 1.5.0.0
    Win32 Version: 1.5.0.0
    CodeBase: file:///D:/Downloads/FFXIVVoicePackCreator(5)/NAudio.Vorbis.dll
----------------------------------------
NAudio.Core
    Assembly Version: 2.1.0.0
    Win32 Version: 2.1.0.0
    CodeBase: file:///D:/Downloads/FFXIVVoicePackCreator(5)/NAudio.Core.dll
----------------------------------------
netstandard
    Assembly Version: 2.1.0.0
    Win32 Version: 7.0.122.56804
    CodeBase: file:///C:/Program%20Files/dotnet/shared/Microsoft.NETCore.App/7.0.1/netstandard.dll
----------------------------------------
NVorbis
    Assembly Version: 0.10.4.0
    Win32 Version: 0.10.4.0
    CodeBase: file:///D:/Downloads/FFXIVVoicePackCreator(5)/NVorbis.dll
----------------------------------------

************** JIT Debugging **************
Sebane1 commented 1 year ago

Looks like I broke it tweaking the file input to register changes to the main window. Otherwise it should be using the FFXIV Explorer implementation for BGM. And for Orchestrion it uses VFXEditors implementation.

Sebane1 commented 1 year ago

Fixed the crash error. Let me know if any of the other issues also persist. BGM converter shouldn't have changed internally.

Ghoulfriend commented 1 year ago

Well, whatever is the case Orchestrion doesn't work for me, it just spits out a 20kb file, BGM and Sound Effect work. With VFXEditor I was able to create an orchestrion type, though it seems to boil down to a few flags.

image Also, when you select output selection after having selected it once it gives you another window instead.

Sebane1 commented 1 year ago

Looking deeper into the Orchestrion generation and its left me a bit confused. The generation code is forked from VFXEditor, so in theory there shouldn't be any difference. I pull in an orchestrion file where I put in an audio file with blank data, and then inject the new data similar to how I handle generating battle voices.

Sebane1 commented 1 year ago

Alrighty, I managed to confirm that the audio file is being injected and playing in VGMStream. Weird semantical stuff was breaking it.

Ghoulfriend commented 1 year ago

Can confirm it works ingame as well, thank you.