Net 3DS Soundtrack Converter 3DS: Difference between revisions

From GameBrew
No edit summary
m (Text replacement - "Category:PC utilities for 3DS homebrew" to "")
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = Net 3DS Soundtrack Converter
|title=Net 3DS Soundtrack Converter
| image = https://dlhb.gamebrew.org/3dshomebrew/Net3DSSoundtrackConverter.jpg|250px
|image=3dspc.png
| type = PC Utilities
|description=Create soundtracks from your 3DS games.
| version = v1.0.3
|author=evandixon
| licence = Mixed
|lastupdated=2016/12/08
| author = evandixon
|type=File Operation
| website = https://gbatemp.net/threads/net-3ds-soundtrack-converter-create-soundtracks-from-your-3ds-games.446493/
|version=1.0.3 & 1.1.1 source
| download = https://dlhb.gamebrew.org/3dshomebrew/DotNet3dsSoundtrackConverterv1.1.1.7z
|license=Mixed
| source = https://github.com/evandixon/DotNet3dsSoundtrackConverter
|download=https://dlhb.gamebrew.org/3dshomebrews/dotnet3dssoundtrackconverter.7z 1.0.3 & 1.1.1
|website=https://gbatemp.net/threads/net-3ds-soundtrack-converter-create-soundtracks-from-your-3ds-games.446493
|source=https://github.com/evandixon/DotNet3dsSoundtrackConverter
}}
}}
<youtube>hlklmUyMgTM</youtube>
.Net 3DS Soundtrack Converter is a tool that can convert the game files of a 3DS game into an MP3 soundtrack.
.Net 3DS Soundtrack Converter is a tool that can convert the game files of a 3DS game into an MP3 soundtrack.


== Usage ==
==User guide==
===How to use===


Usage of console app:
Usage: SoundtrackConsole.exe <Source> <SoundtrackDefinition> <OutputDirectory>


<pre>Usage: SoundtrackConsole.exe &lt;Source&gt; &lt;SoundtrackDefinition&gt; &lt;OutputDirectory&gt;</pre>
* Source can be either a directory containing the raw files of a 3DS ROM, or a compatible decrypted 3DS ROM.
* Source can be either a directory containing the raw files of a 3DS ROM, or a compatible decrypted 3DS ROM.
* SoundtrackDefinition is the path to the soundtrack definition file.
* SoundtrackDefinition is the path to the soundtrack definition file.
* OutputDirectory is where the soundtrack files will be generated.
* OutputDirectory is where the soundtrack files will be generated.


== Creating New Soundtrack Definitions ==
In order to use this, you'll need some sort of definition of the soundtrack. You will find some sample definitions for Pokémon Mystery Dungeon: Gates to Infinity and Pokémon Super Mystery Dungeon. The only current limitation is that VGM Stream must be able to play the raw files (which means definitions can be made for Pokemon X/Y/OR/AS/Sun/Moon).


===Creating New Soundtrack Definitions===
A soundtrack definition file is a text file structured as follows. Comments are not allowed in the actual file, but will be added below using the <code>#</code> character.
A soundtrack definition file is a text file structured as follows. Comments are not allowed in the actual file, but will be added below using the <code>#</code> character.


<pre>system=3DS #System of the game this is for
system=3DS #System of the game this is for
gameid=00040000000(BA8|BA9|950)00 #Regular expression matching the game ID of the game this is for.
gameid=00040000000(BA8|BA9|950)00 #Regular expression matching the game ID of the game this is for.
album=Pokemon Mystery Dungeon: Gates to Infinity
album=Pokemon Mystery Dungeon: Gates to Infinity
artist=Spike Chunsoft
artist=Spike Chunsoft
year=2013
year=2013
path=romfs/sound/stream #The directory the raw files are stored in
path=romfs/sound/stream #The directory the raw files are stored in
extension=bcstm #The file extension of the raw files
extension=bcstm #The file extension of the raw files
end #marks the end of the header
end #marks the end of the header
BGM_SYS_MENU=001 Main Menu #Converts `romfs/sound/stream/BGM_SYS_MENU.bcstm` to `001 Main Menu.mp3`
BGM_SYS_MENU=001 Main Menu #Converts `romfs/sound/stream/BGM_SYS_MENU.bcstm` to `001 Main Menu.mp3`
#Add more lines like the above</pre>
#Add more lines like the above
== Adding New Soundtrack Definitions ==


While soundtrack definitions can be supplied externally, automatic selection is currently only available for internal definitions. Steps to add a soundtrack definition to the program: 1. Add the soundtrack definition file to DotNet3dsSoundtrackConverter/Soundtracks/[culture]/ 2. Add the soundtrack definition file to the appropriate SoundtrackDefinitions.resx file corresponding to the culture used in step 1. The default culture is en-US. 3. Add the soundtrack definition to <code>DefinitionSelector.Soundtracks</code> as shown in <code>DefinitionSelector</code>’s constructor.
===Adding New Soundtrack Definitions===
While soundtrack definitions can be supplied externally, automatic selection is currently only available for internal definitions. Steps to add a soundtrack definition to the program:
* Add the soundtrack definition file to DotNet3dsSoundtrackConverter/Soundtracks/[culture]/
* Add the soundtrack definition file to the appropriate SoundtrackDefinitions.resx file corresponding to the culture used in the previous step. The default culture is en-US.
* Add the soundtrack definition to <code>DefinitionSelector.Soundtracks</code> as shown in <code>DefinitionSelector</code>’s constructor.


Assuming the soundtrack definition is properly formatted, once the above steps are completed the soundtrack definition can then be used with auto-detecting conversion methods.
Assuming the soundtrack definition is properly formatted, once the above steps are completed the soundtrack definition can then be used with auto-detecting conversion methods.


== Credits ==
==Changelog==
'''v1.1.1''' (source only)
* Fixed soundtrack definition detection when source is not supported.
 
'''v1.1.0''' (source only)
* Improved test.
 
'''v1.0.3'''
* Adds better compatibility with Sky Editor and plugins, but requires the presence of an additional DLL.
 
'''v1.0.1'''
* This is a re-release of 1.0.0 with an updated package, allowing a proper nuget package to be created.
 
'''1.0.0'''
* Initial release.
 
==Credits==
* All the people who are credited on the [https://github.com/evandixon/DotNet3dsToolkit .Net 3DS Toolkit].
* kode54 for [https://gitlab.kode54.net/kode54/vgmstream/ vgmstream].
* [https://github.com/AydinAdn AydinAdn] for MediaToolkit (forked to allow asynchronous processing).
* [http://www.icsharpcode.net/ IC#Code] for SharpZipLib.


* All the people who are credited on the [https://github.com/evandixon/DotNet3dsToolkit .Net 3DS Toolkit]
==External links==
* kode54 for [https://gitlab.kode54.net/kode54/vgmstream/ vgmstream]
* GitHub - https://github.com/evandixon/DotNet3dsSoundtrackConverter
* [https://github.com/AydinAdn AydinAdn] for MediaToolkit (which I forked to allow asynchronous processing)
* GBAtemp - https://gbatemp.net/threads/net-3ds-soundtrack-converter-create-soundtracks-from-your-3ds-games.446493
* [http://www.icsharpcode.net/ IC#Code] for SharpZipLib

Latest revision as of 04:24, 6 May 2024

Net 3DS Soundtrack Converter
3dspc.png
General
Authorevandixon
TypeFile Operation
Version1.0.3 & 1.1.1 source
LicenseMixed
Last Updated2016/12/08
Links
1.0.3 & 1.1.1 Download
Website
Source

.Net 3DS Soundtrack Converter is a tool that can convert the game files of a 3DS game into an MP3 soundtrack.

User guide

How to use

Usage: SoundtrackConsole.exe <Source> <SoundtrackDefinition> <OutputDirectory>
  • Source can be either a directory containing the raw files of a 3DS ROM, or a compatible decrypted 3DS ROM.
  • SoundtrackDefinition is the path to the soundtrack definition file.
  • OutputDirectory is where the soundtrack files will be generated.

In order to use this, you'll need some sort of definition of the soundtrack. You will find some sample definitions for Pokémon Mystery Dungeon: Gates to Infinity and Pokémon Super Mystery Dungeon. The only current limitation is that VGM Stream must be able to play the raw files (which means definitions can be made for Pokemon X/Y/OR/AS/Sun/Moon).

Creating New Soundtrack Definitions

A soundtrack definition file is a text file structured as follows. Comments are not allowed in the actual file, but will be added below using the # character.

system=3DS #System of the game this is for
gameid=00040000000(BA8|BA9|950)00 #Regular expression matching the game ID of the game this is for.
album=Pokemon Mystery Dungeon: Gates to Infinity
artist=Spike Chunsoft
year=2013
path=romfs/sound/stream #The directory the raw files are stored in
extension=bcstm #The file extension of the raw files
end #marks the end of the header
BGM_SYS_MENU=001 Main Menu #Converts `romfs/sound/stream/BGM_SYS_MENU.bcstm` to `001 Main Menu.mp3`
#Add more lines like the above

Adding New Soundtrack Definitions

While soundtrack definitions can be supplied externally, automatic selection is currently only available for internal definitions. Steps to add a soundtrack definition to the program:

  • Add the soundtrack definition file to DotNet3dsSoundtrackConverter/Soundtracks/[culture]/
  • Add the soundtrack definition file to the appropriate SoundtrackDefinitions.resx file corresponding to the culture used in the previous step. The default culture is en-US.
  • Add the soundtrack definition to DefinitionSelector.Soundtracks as shown in DefinitionSelector’s constructor.

Assuming the soundtrack definition is properly formatted, once the above steps are completed the soundtrack definition can then be used with auto-detecting conversion methods.

Changelog

v1.1.1 (source only)

  • Fixed soundtrack definition detection when source is not supported.

v1.1.0 (source only)

  • Improved test.

v1.0.3

  • Adds better compatibility with Sky Editor and plugins, but requires the presence of an additional DLL.

v1.0.1

  • This is a re-release of 1.0.0 with an updated package, allowing a proper nuget package to be created.

1.0.0

  • Initial release.

Credits

External links

Advertising: