CombinedAudioTool
A Tool for CombinedAudio.bin (in-game audio/sounds) for Minecraft for New Nintendo 3DS Edition (MC3DS) with a plethora of Features.
Install / Use
/learn @Cracko298/CombinedAudioToolREADME
CombinedAudioTool
- A Tool for CombinedAudio.bin for Minecraft for New Nintendo 3DS Edition (MC3DS) with a plethora of Features.
- Only support Windows Platforms Officially, due to being built and made using some Windows API functions.
Feature Set:
- Extract All FSB Soundbank Files in the Archive.
- Extract a FSB Soundbank File by Name/Sound-ID.
- Get File name(s) from Soundbank Files for easier recognition.
- Rename Extracted files to original filename(s).
- Rebuild
CombinedAudio.binwith new Custom Audio Files. - Extract Header from
CombinedAudio.bin. - Add padding to files automatically (Requires Original Extracted File).
- Collect all Sound Names/ID's.
- Rename all Segments to Original Filenames.
- Grab Segment File Sizes individually, or altogether.
- Updating your Script as new features become avaliable.
- Extract Audio from FSB Files (now including GCADPCM FSB Soundbank Files).
- Convert
*.wavback into GCADPCM/DSADPCM. - Restore CATool File Integrity.
- Encode Minecraft 3DS Music Files from Wave Files.
- Convert any Audio Filetype to Wave (requires FFMPEG).
- Install FFMPEG via Command Line.
- Add your own Custom Audio/Ambience/SFX to Minecraft 3DS.
- Get MetaData from
CombinedAudio.binArchive. - Change between Interleaved/Flat/Weaved for
SegmentFile.
Download(s):
- Download Here.
- Requires
Python 3.8+andPython STD(Installed alongside Python).
Usage:
THIS IS A COMMAND LINE TOOL! YOU MUST USE POWERSHELL (or) CMD PROMPT TO USE.
python CATool.py
--eca, extract-ca [CombinedAudioPATH] > Extracts All FSB Soundbank Files from the CombinedAudio.bin Archive.
--fn, find-sn [SegmentFilePATH] > Find the Segment Name from an Extracted FSB Soundbank File via --eca Flag.
--rs, rename-s [SegmentFilePATH] > Rename a Segment File FSB Soundbank File back to it's Original Filename.
--gh, get-header [CombinedAudioPATH] > Extracts the Header from the CombinedAudio.bin Archive.
--rca, rebuild-ca [SegmentOutFolderPATH] > Rebuilds the CombinedAudio.bin Archive via Segment Files.
--ap, add-padding [OriginalFilePATH] [ModifiedFilePATH] > Adds padding to set the Modified File Equal to the Original File Size.
--ne, name-extract [CombinedAudioPATH] [Sound Name/ID] > Extracts a FSB Soundbank File from the CombinedAudio.bin Archive via Name/SoundID.
--ra, rename-all [SegmentFolderPATH] > Renames all Segment Files back to their original FSB Soundbank Filename(s).
--gsid, get-soundid [CombinedAudioPATH] > Gets all Sound Names/ID's and Dumps them to a *.txt File.
--gssg, get-size-seg [SegmentFilePATH] > Gets the size of a specific Segment Soundbank FSB File.
--gs, get-size [SegmentOutFolderPATH] > Gets the size of all Segment Soundbank FSB Files.
--exa, extract-seg [SegmentFilePATH] > Attempts to extract Audio from Segment Soundbank FSB Files.
--cwav, convert-wave [SegmentFilePATH] [FileToConvertPATH] > Convert Custom Audio to Nintendo 'GCADPCM'/'DSADPCM' Format (*.dsp).
--pa, play-audio [WaveFilePATH] > Play Audio from a Wave-File.
--gmsc, generate-music [WaveFilePATH] > Generates a Valid Music FSB Soundbank File for Minecraft 3DS Edition from a Wave File.
--atw, to-wave [AudioFileToConvertToWavPATH] > Convert basically any Audio format like *.fsb, *.dsp or Formats like *.mp3 to Wave Format.
--impg, inst-ffmpeg > Install FFMPEG to '.\extrcd\mpg\bin'.
--efrw, ext-fsb-raw [SegmentFilePATH] > Extracts the raw GCADPCM/DSPADPCM Audio from an *.fsb Soundbank File.
--edrw, ext-dsp-raw [GeneratedDspFilePATH] > Extracts the raw GCADPCM/DSPADPCM Audio from a Nintendo *.dsp Audio File.
--rsnd, replace-snd [SegmentFilePATH] [DspFilePATH] > Convert Nintendo *.dsp Audio File to *.fsb Soundbank File.
--gmtd, get-metadata [CombinedAudioPATH] > Get info such as Header-Size, Number of Audio Files, and if the CombinedAudio.bin Archive has been Modified.
--chmd, change-mode [SegmentFilePATH] [Integer (0-2)] > Change the Mode the File is Played (interleaved, flat, and weaved). *May Enhance or Denhance the SFX.
--upd, update > Updates From Current Version to the Latest Version of 'CATool.py'.
--rstr, restore > Basically an Emergancy Version of '--upd' that Wipes all Files from CATool and Reinstalls them.
--h, help > Displays this Message.
Help Message:
python CATool.py --h
Sound ID's
thunder1 - segment_0.fsb
thunder2 - segment_1.fsb
explode1 - segment_2.fsb
explode2 - segment_3.fsb
rain1 - segment_4.fsb
rain2 - segment_5.fsb
shimmerblock - segment_6.fsb
fire_crackle2 - segment_7.fsb
add_item1 - segment_8.fsb
add_item2 - segment_9.fsb
add_item3 - segment_10.fsb
break1 - segment_11.fsb
break2 - segment_12.fsb
place1 - segment_13.fsb
place2 - segment_14.fsb
remove_item1 - segment_15.fsb
remove_item2 - segment_16.fsb
rotate_item1 - segment_17.fsb
rotate_item2 - segment_18.fsb
death1 - segment_19.fsb
death3 - segment_20.fsb
grow1 - segment_21.fsb
grow4 - segment_22.fsb
empty_lava1 - segment_23.fsb
empty_lava2 - segment_24.fsb
empty1 - segment_25.fsb
empty2 - segment_26.fsb
fill_lava1 - segment_27.fsb
fill_lava2 - segment_28.fsb
fill1 - segment_29.fsb
fill2 - segment_30.fsb
splash - segment_31.fsb
fallbig - segment_32.fsb
fallsmall - segment_33.fsb
weak1 - segment_34.fsb
weak2 - segment_35.fsb
weak3 - segment_36.fsb
hit1 - segment_37.fsb
hit2 - segment_38.fsb
hit3 - segment_39.fsb
cloth1 - segment_40.fsb
cloth2 - segment_41.fsb
cloth3 - segment_42.fsb
grass1 - segment_43.fsb
grass2 - segment_44.fsb
grass3 - segment_45.fsb
gravel1 - segment_46.fsb
gravel2 - segment_47.fsb
gravel3 - segment_48.fsb
sand1 - segment_49.fsb
sand2 - segment_50.fsb
sand3 - segment_51.fsb
snow1 - segment_52.fsb
snow2 - segment_53.fsb
snow3 - segment_54.fsb
stone1 - segment_55.fsb
stone2 - segment_56.fsb
stone3 - segment_57.fsb
wood1 - segment_58.fsb
wood2 - segment_59.fsb
wood3 - segment_60.fsb
in - segment_61.fsb
out - segment_62.fsb
fire - segment_63.fsb
ignite - segment_64.fsb
lava - segment_65.fsb
lavapop - segment_66.fsb
water - segment_67.fsb
base - segment_68.fsb
death - segment_69.fsb
hurt1 - segment_70.fsb
hurt2 - segment_71.fsb
hurt3 - segment_72.fsb
idle1 - segment_73.fsb
idle2 - segment_74.fsb
idle3 - segment_75.fsb
takeoff - segment_76.fsb
breathe1 - segment_77.fsb
breathe2 - segment_78.fsb
death - segment_79.fsb
hit1 - segment_80.fsb
hit2 - segment_81.fsb
hit3 - segment_82.fsb
fireball4 - segment_83.fsb
hurt1 - segment_84.fsb
hurt2 - segment_85.fsb
plop - segment_86.fsb
say1 - segment_87.fsb
say2 - segment_88.fsb
say3 - segment_89.fsb
step1 - segment_90.fsb
step2 - segment_91.fsb
hurt1 - segment_92.fsb
hurt2 - segment_93.fsb
hurt3 - segment_94.fsb
say1 - segment_95.fsb
say2 - segment_96.fsb
say3 - segment_97.fsb
step1 - segment_98.fsb
step2 - segment_99.fsb
step3 - segment_100.fsb
milk1 - segment_101.fsb
death - segment_102.fsb
say1 - segment_103.fsb
say2 - segment_104.fsb
say3 - segment_105.fsb
death - segment_106.fsb
hit1 - segment_107.fsb
hit2 - segment_108.fsb
hit3 - segment_109.fsb
idle1 - segment_110.fsb
idle2 - segment_111.fsb
idle3 - segment_112.fsb
portal - segment_113.fsb
portal2 - segment_114.fsb
scream1 - segment_115.fsb
scream2 - segment_116.fsb
scream3 - segment_117.fsb
stare - segment_118.fsb
hit1 - segment_119.fsb
hit2 - segment_120.fsb
wings1 - segment_121.fsb
wings3 - segment_122.fsb
wings5 - segment_123.fsb
growl2 - segment_124.fsb
growl3 - segment_125.fsb
affectionate_scream - segment_126.fsb
charge - segment_127.fsb
death - segment_128.fsb
moan1 - segment_129.fsb
moan2 - segment_130.fsb
moan3 - segment_131.fsb
scream1 - segment_132.fsb
scream2 - segment_133.fsb
scream3 - segment_134.fsb
ambient1 - segment_135.fsb
attack_loop - segment_136.fsb
curse - segment_137.fsb
elder_death - segment_138.fsb
elder_hit1 - segment_139.fsb
elder_idle3 - segment_140.fsb
flop1 - segment_141.fsb
guardian_death - segment_142.fsb
NULL_0 - segment_143.fsb
land_death - segment_144.fsb
land_hit1 - segment_145.fsb
land_idle1 - segment_146.fsb
angry1 - segment_147.fsb
death1 - segment_148.fsb
death2 - segment_149.fsb
idle1 - segment_150.fsb
idle2 - segment_151.fsb
idle3 - segment_152.fsb
idle4 - segment_153.fsb
idle5 - segment_154.fsb
spit1 - segment_155.fsb
spit2 - segment_156.fsb
hurt1 - segment_157.fsb
hurt2 - segment_158.fsb
hurt3 - segment_159.fsb
eat1 - segment_160.fsb
eat2 - segment_161.fsb
eat3 - segment_162.fsb
step1 - segment_163.fsb
step2 - segment_164.fsb
step3 - segment_165.fsb
step4 - segment_166.fsb
step5 - segment_167.fsb
swag - segment_168.fsb
angry1 - segment_169.fsb
armor - segment_170.fsb
breathe1 - segment_171.fsb
breathe2 - segment_172.fsb
breathe3 - segment_173.fsb
death - segment_174.fsb
angry1 - segment_175.fsb
angry2 - segment_176.fsb
death - segment_177.fsb
hit1 - segment_178.fsb
hit2 - segment_179.fsb
hit3 - segment_180.fsb
idle1 - segment_181.fsb
idle2 - segment_182.fsb
idle3 - segment_183.fsb
eat1 - segm
