Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] m4a2s - A sound dumping utility

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #1    
Old April 10th, 2015 (08:04 AM). Edited April 10th, 2015 by ipatix.
ipatix's Avatar
ipatix ipatix is offline
Sound Expert
 
Join Date: May 2008
Location: Germany
Gender: Male
Nature: Relaxed
Posts: 137
m4a2s - A sound dumping utility

Introduction:
Well, m4a2s is another of my "dirty" tools I wrote to export all of the music & soundeffect data to assembly source files.
I used it primarily to reimport the music and sound data to other games or to reimport it to the same game but to another offset. The trick behind all of that is that I disassemble all the files to pseudo-assembly source files (like mid2agb produces them) but by replacing the static pointers with dynamic labels so they are not depended on their original placement in the ROM by the linker.
I don't really know if anyone really needs this tool beside me but I thought "Hey, why not throw it in here and see if someone needs it?".

Usage:
Code:
$ m4a2s <yourrom.gba> <songtable offset in hex> <output folder of source data>
All of the output files will go to subfolders in the folder you specified called "seq", "bank" and "wave"

This is how files will look like. Here is an example for the songs:
Spoiler:
Code:
@ File generated by m4a2s Song-Module
    .include "MPlayDef.s"

    .equ    seq_290_grp, bank_032
    .equ    seq_290_pri, 0
    .equ    seq_290_rev, 178
    .equ    seq_290_mvl, 127
    .equ    seq_290_key, 0

    .section .rodata
    .global    seq_290
    .align    2

@*********************** Track 01 ***********************@

seq_290_0:
    .byte    KEYSH , seq_290_key+0
    .byte    TEMPO , 94/2
    .byte        VOICE , 73
    .byte        VOL   , 68*seq_290_mvl/mxv
    .byte        LFOS  , 44
    .byte        BENDR , 12
    .byte        PAN   , c_v+31
    .byte        BEND  , c_v+0
    .byte        N36   , An4 , v080
    .byte    W09
    .byte        MOD   , 7
    .byte    W03
    .byte        VOL   , 56*seq_290_mvl/mxv
    .byte    W06
    .byte                51*seq_290_mvl/mxv
    .byte    W06
    .byte    TEMPO , 76/2
    .byte                45*seq_290_mvl/mxv
    .byte    W06
    .byte                38*seq_290_mvl/mxv
    .byte    W06
    .byte                68*seq_290_mvl/mxv
    .byte        MOD   , 0
    .byte        N06   , En4 
    .byte    W06
    .byte                An4 
    .byte    W06
    .byte    TEMPO , 94/2
    .byte        VOL   , 68*seq_290_mvl/mxv
    .byte        N36   , Gn4 
    .byte    W09
    .byte        MOD   , 7
    .byte    W03
    .byte        VOL   , 56*seq_290_mvl/mxv
    .byte    W06
    .byte                51*seq_290_mvl/mxv
    .byte    W06
    .byte    TEMPO , 76/2
    .byte                45*seq_290_mvl/mxv
    .byte    W06
    .byte                38*seq_290_mvl/mxv
    .byte    W06
    .byte                68*seq_290_mvl/mxv
    .byte        MOD   , 0
    .byte        N06   , Dn4 
@...

This is an example for Voicegroups:
Spoiler:
Code:
@ File generated by m4a2s Voicegroup-Module
    .include "VoiceDef.s"

    .section .rodata
    .global    bank_041
    .align    2

bank_041:

@**************** Voice 000 ****************@

    .byte    DrumTable
    .byte    0x0
    .byte    0x0
    .byte    0x0
    .word    drums_001
    .byte    0x0, 0x0, 0x0, 0x0

@**************** Voice 001 ****************@

    .byte    KeySplit
    .byte    0x0
    .byte    0x0
    .byte    0x0
    .word    bank_001
    .word    map_000

@**************** Voice 002 ****************@

    .byte    SquareWave1
    .byte    Cn3 
    .byte    0x00
    .byte    0x00
    .word    WaveDuty50
    .byte    0, 0, 15, 0

@**************** Voice 003 ****************@

    .byte    SquareWave1
    .byte    Cn3 
    .byte    0x00
    .byte    0x00
    .word    WaveDuty50
    .byte    0, 0, 15, 0

@**************** Voice 004 ****************@

    .byte    DirectSound
    .byte    Cn3 
    .byte    0x00
    .byte    0x00
    .word    wave_085
    .byte    255, 249, 0, 165

@**************** Voice 005 ****************@

    .byte    SquareWave1
    .byte    Cn3 
    .byte    0x00
    .byte    0x00
    .word    WaveDuty50
    .byte    0, 0, 15, 0

@**************** Voice 006 ****************@

    .byte    SquareWave1
    .byte    Cn3 
    .byte    0x00
    .byte    0x00
    .word    WaveDuty50
    .byte    0, 0, 15, 0
@ ...

And finally an example for the waves (the exporter has a fancy useless visualization!):
Spoiler:
Code:
@ File generated by m4a2s Wave-Module
    .section .rodata
    .global    wave_004
    .align    2

wave_004:

    .hword    0x0000, 0x4000
    .word    0xD10C00 @ Mid-C pitch ~13379 Hz
    .word    11555 @ Loop Start
    .word    13800 @ Loop End

    .byte    0x00, 0x00, 0x00, 0xDC, 0xD9, 0xD5, 0xD3, 0xD0        @ #------------X-------------------#
    .byte    0xCD, 0xCA, 0xC7, 0xC5, 0xC0, 0xBC, 0xB9, 0xB4        @ #--------X-----------------------#
    .byte    0xB2, 0xAD, 0xA8, 0xA3, 0xA4, 0xA3, 0xA8, 0xA6        @ #----X---------------------------#
    .byte    0xAC, 0xA8, 0xB1, 0xA9, 0xB8, 0xA4, 0xEC, 0xF1        @ #-------X------------------------#
    .byte    0xCE, 0xE0, 0xDB, 0x01, 0xF7, 0x00, 0x17, 0x18        @ #--------------X-----------------#
    .byte    0x41, 0x18, 0x20, 0x3F, 0x61, 0x6C, 0x68, 0x69        @ #-------------------------X------#
    .byte    0x67, 0x66, 0x66, 0x65, 0x2A, 0xFA, 0x5F, 0x2B        @ #-------------------------X------#
    .byte    0x25, 0x18, 0xFF, 0x05, 0x11, 0x61, 0x55, 0x5B        @ #---------------------X----------#
    .byte    0x53, 0x55, 0x51, 0x53, 0x50, 0x51, 0x4F, 0x4E        @ #--------------------------X-----#
    .byte    0x4D, 0x4C, 0x4C, 0x4A, 0x51, 0x3C, 0x2F, 0x20        @ #------------------------X-------#
    .byte    0x1C, 0x14, 0x07, 0x00, 0xF7, 0xF3, 0xE8, 0xE8        @ #---------------X----------------#
    .byte    0xCF, 0xD8, 0xC3, 0xD4, 0xC1, 0xC0, 0xC9, 0xAE        @ #--------X-----------------------#
    .byte    0xB0, 0xA8, 0xAF, 0x94, 0xAE, 0xAB, 0xB1, 0x92        @ #----X---------------------------#
    .byte    0xBF, 0xAB, 0xB4, 0xCB, 0xF2, 0xDA, 0xB1, 0xFB        @ #---------X----------------------#
    .byte    0xEB, 0xE0, 0x08, 0x15, 0x0E, 0xEA, 0x04, 0x47        @ #----------------X---------------#
    .byte    0xEC, 0x34, 0x57, 0x07, 0x11, 0x0E, 0x56, 0x18        @ #--------------------X-----------#
    .byte    0x0A, 0x57, 0x1C, 0xFA, 0x26, 0x1B, 0x2D, 0xFD        @ #-------------------X------------#
    .byte    0x22, 0x2E, 0xE2, 0x0F, 0x08, 0xF8, 0x07, 0x0C        @ #-----------------X--------------#
    .byte    0xFF, 0xD6, 0xD3, 0x08, 0xEA, 0xDB, 0xF8, 0xF2        @ #-------------X------------------#
    .byte    0xD4, 0xCB, 0xE1, 0xE6, 0xCB, 0xD8, 0xE2, 0xDB        @ #-----------X--------------------#
    .byte    0xD1, 0xD5, 0xCD, 0xCD, 0xD4, 0xDD, 0xCC, 0xD4        @ #----------X---------------------#
    .byte    0xE3, 0xD4, 0xCF, 0xD7, 0xDA, 0xCA, 0xCA, 0xD6        @ #----------X---------------------#
    .byte    0xE2, 0xCA, 0xD3, 0xDC, 0xD2, 0xD6, 0xD7, 0xE4        @ #----------X---------------------#
    .byte    0xDE, 0xD9, 0xE7, 0xE5, 0xEC, 0xF1, 0xE5, 0xE8        @ #------------X-------------------#
    .byte    0xE7, 0xF0, 0xFC, 0xEF, 0x02, 0x01, 0xF8, 0x04        @ #---------------X----------------#
    .byte    0x07, 0x0B, 0x10, 0x07, 0x1C, 0x0C, 0x17, 0x0F        @ #-----------------X--------------#
    .byte    0x19, 0x17, 0x17, 0x15, 0x1D, 0x0F, 0x1E, 0x0F        @ #------------------X-------------#
    .byte    0x1F, 0x1F, 0x11, 0x17, 0x07, 0x19, 0x09, 0x0E        @ #------------------X-------------#
    .byte    0x0F, 0x07, 0x00, 0x05, 0xFC, 0x01, 0xF7, 0xF8        @ #----------------X---------------#
    .byte    0xFA, 0xEE, 0xF1, 0xE0, 0xF0, 0xE3, 0xE4, 0xDF        @ #-------------X------------------#
    .byte    0xE2, 0xDA, 0xD6, 0xE1, 0xE5, 0xE6, 0xE2, 0xE6        @ #------------X-------------------#
    .byte    0xE7, 0xE5, 0x09, 0x19, 0xF3, 0x15, 0x0C, 0x10        @ #----------------X---------------#
    .byte    0x26, 0x26, 0x2C, 0x36, 0x4B, 0x3E, 0x30, 0x3F        @ #----------------------X---------#
    .byte    0x7B, 0x5A, 0x64, 0x6B, 0x63, 0x5F, 0x58, 0x6A        @ #----------------------------X---#
    .byte    0x2E, 0x0C, 0x60, 0x29, 0x16, 0x17, 0x16, 0xFE        @ #--------------------X-----------#
    .byte    0xFF, 0x38, 0x33, 0x0C, 0x0B, 0x2C, 0x0F, 0xEE        @ #------------------X-------------#
    .byte    0x07, 0x14, 0xFB, 0xEB, 0x05, 0x05, 0xE4, 0xE5        @ #---------------X----------------#
    .byte    0x0F, 0x03, 0xEB, 0xF6, 0xDD, 0xD9, 0xDE, 0xEE        @ #-------------X------------------#
    .byte    0xE5, 0xE4, 0x1C, 0xEB, 0xC9, 0xEA, 0x1A, 0x1A        @ #--------------X-----------------#
    .byte    0xF1, 0x1F, 0x1F, 0xFB, 0xFB, 0x0B, 0x07, 0xD4        @ #----------------X---------------#
    .byte    0x0C, 0x11, 0xE4, 0xEF, 0xF6, 0xF5, 0x03, 0x3C        @ #----------------X---------------#
    .byte    0x43, 0x17, 0x19, 0x59, 0x32, 0x3B, 0x57, 0x4E        @ #-----------------------X--------#
    .byte    0x3C, 0x27, 0x58, 0x5E, 0x2D, 0x77, 0x5A, 0x34        @ #-------------------------X------#
    .byte    0x29, 0x35, 0x3E, 0x11, 0x27, 0x3B, 0xF6, 0x0B        @ #--------------------X-----------#
    .byte    0x03, 0x0A, 0xF1, 0xE9, 0x00, 0xDB, 0xD0, 0xE5        @ #-------------X------------------#
    .byte    0xDB, 0xCF, 0xCC, 0xC9, 0xBE, 0xA9, 0xC3, 0xC9        @ #--------X-----------------------#
    .byte    0xBA, 0xB2, 0xCC, 0xC8, 0xAD, 0xB9, 0xC8, 0xCE        @ #-------X------------------------#
    .byte    0xA4, 0xBD, 0xD6, 0xB5, 0xC3, 0xCE, 0xC3, 0xC6        @ #--------X-----------------------#
    .byte    0xB3, 0xDE, 0xD0, 0xBB, 0x05, 0xD3, 0xCD, 0xD4        @ #----------X---------------------#
    .byte    0xDB, 0xF4, 0xCF, 0xF1, 0x10, 0xC2, 0xF0, 0xFA        @ #-------------X------------------#
    .byte    0xF5, 0xFD, 0xE9, 0x12, 0xF6, 0xE3, 0x11, 0xFA        @ #---------------X----------------#
    .byte    0x01, 0x0B, 0x08, 0x01, 0xF0, 0x04, 0x17, 0x00        @ #----------------X---------------#
    .byte    0x18, 0x14, 0x0A, 0x04, 0x0C, 0x0B, 0x0B, 0x17        @ #-----------------X--------------#
    .byte    0x11, 0x0E, 0x07, 0x15, 0x10, 0x03, 0x18, 0x19        @ #-----------------X--------------#
    .byte    0x00, 0x11, 0x14, 0x10, 0x0E, 0x17, 0x1F, 0xF1        @ #-----------------X--------------#
    .byte    0x0D, 0x18, 0x06, 0x00, 0x13, 0x16, 0xF2, 0xF0        @ #----------------X---------------#
    .byte    0x27, 0x09, 0xF3, 0x0C, 0x1A, 0x0B, 0xF9, 0x1E        @ #-----------------X--------------#
    .byte    0x1F, 0x03, 0x17, 0x24, 0x07, 0x17, 0x24, 0x22        @ #-------------------X------------#
    .byte    0x14, 0x23, 0x3B, 0x11, 0x22, 0x3D, 0x36, 0x1D        @ #--------------------X-----------#
    .byte    0x31, 0x44, 0x2E, 0x2C, 0x46, 0x45, 0x3A, 0x3A        @ #-----------------------X--------#
    .byte    0x3B, 0x38, 0x37, 0x57, 0x2D, 0x28, 0x33, 0x34        @ #----------------------X---------#
    .byte    0x2C, 0x29, 0x36, 0x1F, 0xFF, 0x1C, 0x18, 0x06        @ #-------------------X------------#
    .byte    0x0D, 0x18, 0x03, 0xEA, 0xF5, 0xF2, 0xD9, 0xEF        @ #---------------X----------------#
    .byte    0x01, 0xDF, 0xC2, 0xD5, 0xE8, 0xD5, 0xE6, 0xF7        @ #------------X-------------------#
    .byte    0xE9, 0xCB, 0xDC, 0xF4, 0xF4, 0xFC, 0x12, 0xE6        @ #-------------X------------------#
    .byte    0xF1, 0xFD, 0xFF, 0x0C, 0x1D, 0x3B, 0x1E, 0x05        @ #-----------------X--------------#
    .byte    0x35, 0x3B, 0x2A, 0x47, 0x4A, 0x51, 0x34, 0x2E        @ #-----------------------X--------#
    .byte    0x40, 0x36, 0x47, 0x4C, 0x2D, 0x39, 0x38, 0x2C        @ #-----------------------X--------#
    .byte    0x40, 0x43, 0x37, 0x19, 0x18, 0x2A, 0x27, 0x0E        @ #---------------------X----------#
    .byte    0x27, 0x13, 0xFA, 0x00, 0x02, 0x05, 0xF8, 0xFE        @ #----------------X---------------#
    .byte    0x0B, 0xEE, 0xE4, 0xEC, 0xD6, 0xE8, 0xDD, 0xDE        @ #-------------X------------------#
    .byte    0xC5, 0xC2, 0xD1, 0xD3, 0xC6, 0xE3, 0xCF, 0xBF        @ #---------X----------------------#
    .byte    0xBB, 0xD6, 0xE7, 0xD0, 0xC7, 0xCA, 0xCD, 0xC3        @ #---------X----------------------#
    .byte    0xC1, 0xC4, 0xDC, 0xC9, 0xC7, 0xCC, 0xD0, 0xC7        @ #---------X----------------------#
    .byte    0xBC, 0xE5, 0xE1, 0xCB, 0xD5, 0xDB, 0xCD, 0xDC        @ #----------X---------------------#
    .byte    0xE7, 0xF1, 0xC6, 0xD9, 0xF9, 0xD0, 0xE4, 0xFE        @ #------------X-------------------#
    .byte    0x06, 0xE0, 0xDF, 0x01, 0xF9, 0xD0, 0x0C, 0xF9        @ #--------------X-----------------#
    .byte    0xF2, 0xF3, 0xFB, 0x01, 0xF2, 0x06, 0x0B, 0xE6        @ #---------------X----------------#
    .byte    0xF7, 0x0D, 0x00, 0xFD, 0x04, 0x09, 0xEA, 0xE9        @ #---------------X----------------#
    .byte    0x04, 0xFD, 0xF4, 0xF4, 0xFB, 0xF2, 0xFD, 0xF0        @ #---------------X----------------#
    .byte    0xFD, 0xF7, 0xF9, 0xEB, 0xE3, 0xFA, 0xFA, 0xE4        @ #--------------X-----------------#
    .byte    0xEE, 0xF7, 0xE8, 0xE4, 0xE6, 0xF7, 0xE7, 0xFD        @ #-------------X------------------#
    .byte    0x01, 0xDA, 0xED, 0x07, 0x00, 0xF2, 0xEF, 0x0C        @ #--------------X-----------------#
    .byte    0xF3, 0xE3, 0x2A, 0x1A, 0xF2, 0x00, 0x19, 0x24        @ #-----------------X--------------#
    .byte    0x07, 0x21, 0x33, 0x0E, 0x1C, 0x32, 0x1E, 0x2F        @ #--------------------X-----------#
    .byte    0x3A, 0x3F, 0x24, 0x1F, 0x49, 0x25, 0x20, 0x49        @ #----------------------X---------#
    .byte    0x4D, 0x20, 0x13, 0x2E, 0x2E, 0x05, 0x21, 0x34        @ #--------------------X-----------#
    .byte    0x13, 0xF4, 0x00, 0x0B, 0xFE, 0x03, 0xFC, 0xE4        @ #---------------X----------------#
    .byte    0xD3, 0xE2, 0xE6, 0xC6, 0xD2, 0xED, 0xCE, 0xB0        @ #----------X---------------------#
    .byte    0xCE, 0xD4, 0xC8, 0xC0, 0xFF, 0xE7, 0xC7, 0xBE        @ #----------X---------------------#
    .byte    0xEC, 0xF1, 0xEF, 0xF3, 0x00, 0xE7, 0xF2, 0x14        @ #--------------X-----------------#
    .byte    0x18, 0x17, 0x23, 0x29, 0x1A, 0x3D, 0x52, 0x4E        @ #---------------------X----------#
    .byte    0x31, 0x31, 0x5B, 0x3B, 0x2D, 0x4F, 0x6E, 0x4F        @ #------------------------X-------#
    .byte    0x3A, 0x5E, 0x69, 0x31, 0x47, 0x69, 0x5C, 0x4A        @ #--------------------------X-----#
    .byte    0x29, 0x41, 0x21, 0x21, 0x3E, 0x29, 0x00, 0x1D        @ #--------------------X-----------#
    .byte    0x17, 0x02, 0xFD, 0x14, 0x02, 0xD8, 0xEA, 0xF8        @ #---------------X----------------#
    .byte    0xD9, 0xBA, 0xD4, 0xDE, 0xC3, 0xAE, 0xC5, 0xBD        @ #--------X-----------------------#
    .byte    0xA7, 0xC5, 0xD0, 0xCD, 0xB9, 0xB6, 0xAF, 0xB9        @ #-------X------------------------#
    .byte    0xBD, 0xC4, 0xB3, 0xB1, 0xBE, 0xBC, 0xAD, 0xB8        @ #-------X------------------------#
    .byte    0xCB, 0xC0, 0xB8, 0xC2, 0xCE, 0xC6, 0xBB, 0xCB        @ #--------X-----------------------#
    .byte    0xDD, 0xC9, 0xC2, 0xC8, 0xD9, 0xCE, 0xCF, 0xDD        @ #----------X---------------------#
    .byte    0xE4, 0xD8, 0xEE, 0xF0, 0xE8, 0xEB, 0xF1, 0xE9        @ #-------------X------------------#
    .byte    0xEB, 0xF4, 0x03, 0xFB, 0xEE, 0x02, 0xFD, 0xFE        @ #---------------X----------------#
    .byte    0xFA, 0x06, 0x07, 0xFF, 0x03, 0x06, 0xF8, 0x0C        @ #----------------X---------------#
    .byte    0x0A, 0x00, 0xFD, 0xF2, 0x01, 0x05, 0xFD, 0x06        @ #----------------X---------------#
    .byte    0x00, 0xF3, 0xF6, 0x05, 0x0D, 0xF6, 0xEE, 0xFC        @ #---------------X----------------#
    .byte    0xFF, 0xF8, 0xF6, 0x01, 0xF3, 0xD8, 0xE5, 0x04        @ #--------------X-----------------#
    .byte    0xE7, 0xEF, 0xFA, 0xFD, 0xE6, 0xE3, 0x04, 0xF1        @ #--------------X-----------------#
    .byte    0xEC, 0x0B, 0xF8, 0xE1, 0xED, 0x0C, 0x12, 0xF3        @ #---------------X----------------#
    .byte    0x32, 0x29, 0xE8, 0xFB, 0x2D, 0x4B, 0x19, 0x17        @ #-------------------X------------#
    .byte    0x4A, 0x1B, 0x10, 0x45, 0x4D, 0x47, 0x28, 0x46        @ #----------------------X---------#
    .byte    0x50, 0x34, 0x54, 0x4A, 0x30, 0x39, 0x4B, 0x28        @ #-----------------------X--------#
    .byte    0x04, 0x30, 0x49, 0x10, 0xFE, 0x2C, 0x20, 0xDF        @ #------------------X-------------#
    .byte    0xEB, 0x25, 0xF9, 0xC7, 0xD5, 0xF7, 0xC0, 0xB5        @ #------------X-------------------#
    .byte    0xDA, 0xC2, 0xAA, 0xBF, 0xC6, 0xC5, 0xBA, 0xDB        @ #--------X-----------------------#
    .byte    0xC4, 0xA2, 0xDF, 0xE7, 0xD0, 0xD5, 0xF7, 0xF9        @ #-----------X--------------------#
    .byte    0xC0, 0xF7, 0x19, 0xF2, 0xFF, 0x28, 0x3F, 0x2B        @ #-----------------X--------------#
    .byte    0x0F, 0x45, 0x3D, 0x36, 0x52, 0x4F, 0x52, 0x4C        @ #------------------------X-------#
    .byte    0x4F, 0x54, 0x5D, 0x68, 0x60, 0x4C, 0x6E, 0x73        @ #---------------------------X----#
    .byte    0x59, 0x42, 0x5E, 0x5E, 0x46, 0x39, 0x4D, 0x42        @ #-------------------------X------#
    .byte    0x21, 0x2A, 0x3F, 0x1D, 0x0F, 0x15, 0x0F, 0x03        @ #-------------------X------------#
    .byte    0xF3, 0x04, 0xEF, 0xE1, 0xE8, 0xD3, 0xC0, 0xC6        @ #------------X-------------------#
    .byte    0xCA, 0xBD, 0xB2, 0xCE, 0xBB, 0x9D, 0xAF, 0xBF        @ #-------X------------------------#
    .byte    0xA8, 0x9E, 0xBB, 0xC7, 0x99, 0x98, 0xB9, 0xBE        @ #-----X--------------------------#
    .byte    0xAD, 0xAC, 0xC7, 0xBE, 0xAB, 0xB8, 0xB2, 0xC5        @ #------X-------------------------#
    .byte    0xD2, 0xC3, 0xBD, 0xCC, 0xDB, 0xCD, 0xB7, 0xE8        @ #---------X----------------------#
    .byte    0xE5, 0xCC, 0xD4, 0xF9, 0xF5, 0xCE, 0xE9, 0x0E        @ #------------X-------------------#
    .byte    0xEE, 0xE3, 0xF8, 0x00, 0xFE, 0xFD, 0x15, 0x02        @ #---------------X----------------#
    .byte    0xF6, 0x05, 0x0F, 0x05, 0x13, 0x13, 0x06, 0x02        @ #----------------X---------------#
    .byte    0x25, 0x21, 0x02, 0x0B, 0x1D, 0x11, 0xF8, 0x13        @ #------------------X-------------#
    .byte    0x29, 0x07, 0xFE, 0x1B, 0x21, 0xFC, 0xFB, 0x1F        @ #------------------X-------------#
    .byte    0x1D, 0x10, 0x0C, 0xFF, 0xFA, 0xFD, 0x13, 0xFC        @ #----------------X---------------#
    .byte    0xF8, 0x03, 0xE1, 0xD1, 0xFB, 0x0C, 0xEE, 0xCE        @ #-------------X------------------#
    .byte    0xFB, 0xF3, 0xBB, 0xDC, 0xFB, 0xEB, 0xD3, 0xEA        @ #------------X-------------------#
    .byte    0xF7, 0xD7, 0xE0, 0x13, 0xFC, 0xF6, 0x0B, 0x0D        @ #---------------X----------------#
    .byte    0xFF, 0x14, 0x2C, 0x20, 0x0F, 0x30, 0x3A, 0x10        @ #-------------------X------------#
    .byte    0x2C, 0x51, 0x2D, 0x1C, 0x43, 0x54, 0x2F, 0x17        @ #----------------------X---------#
    .byte    0x47, 0x3E, 0x11, 0x25, 0x31, 0x2D, 0x18, 0x1D        @ #---------------------X----------#
    .byte    0x15, 0xFF, 0x09, 0x23, 0x00, 0x00, 0x05, 0xE6        @ #----------------X---------------#
    .byte    0xCC, 0xE7, 0x01, 0xD9, 0xC5, 0xE9, 0xE6, 0xAD        @ #-----------X--------------------#
    .byte    0xC6, 0xE7, 0xD8, 0xC0, 0xEB, 0xF6, 0xCB, 0xD4        @ #-----------X--------------------#
    .byte    0xFD, 0xF2, 0xDE, 0xF8, 0x01, 0xF9, 0x05, 0x29        @ #---------------X----------------#
    .byte    0x18, 0x17, 0x3B, 0x34, 0x26, 0x39, 0x63, 0x45        @ #----------------------X---------#
    .byte    0x2A, 0x57, 0x68, 0x46, 0x4E, 0x69, 0x78, 0x4F        @ #--------------------------X-----#
    .byte    0x4F, 0x72, 0x68, 0x5F, 0x5D, 0x5C, 0x62, 0x52        @ #---------------------------X----#
    .byte    0x4C, 0x43, 0x42, 0x4B, 0x39, 0x23, 0x24, 0x28        @ #-----------------------X--------#
    .byte    0x1A, 0x06, 0x0B, 0x15, 0xFB, 0xE4, 0xE2, 0xEB        @ #---------------X----------------#
    .byte    0xD3, 0xCA, 0xD3, 0xD5, 0xB5, 0xA7, 0xC0, 0xC0        @ #--------X-----------------------#
    .byte    0xA8, 0xB7, 0xB6, 0xB2, 0xA5, 0xB3, 0xB9, 0x9F        @ #-----X--------------------------#
    .byte    0xB1, 0xBE, 0xAA, 0xA5, 0xAA, 0xB7, 0xA3, 0xB2        @ #-----X--------------------------#
    .byte    0xC5, 0xAD, 0xA9, 0xC1, 0xC8, 0xCA, 0xBE, 0xCD        @ #-------X------------------------#
    .byte    0xC5, 0xBA, 0xD9, 0xDE, 0xD5, 0xD9, 0xD3, 0xE1        @ #----------X---------------------#
    .byte    0xE7, 0xE2, 0xEA, 0xE6, 0xFB, 0xF5, 0xEF, 0x05        @ #-------------X------------------#
    .byte    0x02, 0xFC, 0x08, 0x10, 0x09, 0xEE, 0x0A, 0x24        @ #----------------X---------------#
    .byte    0x12, 0x10, 0x16, 0x17, 0x05, 0x0F, 0x2C, 0x1C        @ #------------------X-------------#
    .byte    0x09, 0x16, 0x13, 0x07, 0x0B, 0x21, 0x15, 0x07        @ #------------------X-------------#
    .byte    0x1B, 0x13, 0xFF, 0x00, 0x27, 0x19, 0xFE, 0x12        @ #-----------------X--------------#
    .byte    0x12, 0xF9, 0xEF, 0x0C, 0x0C, 0xF5, 0xFF, 0x08        @ #----------------X---------------#
    .byte    0xE6, 0xF7, 0xFD, 0xFC, 0xE4, 0xF7, 0x01, 0xE0        @ #--------------X-----------------#
    .byte    0xE7, 0xF7, 0xED, 0xF3, 0xFE, 0x02, 0xEF, 0xF1        @ #--------------X-----------------#
    .byte    0x0F, 0xFA, 0xFC, 0x19, 0x13, 0x10, 0x16, 0x28        @ #-----------------X--------------#
    .byte    0x12, 0x03, 0x38, 0x3E, 0x34, 0x40, 0x38, 0x2A        @ #---------------------X----------#
    .byte    0x2D, 0x4D, 0x57, 0x39, 0x40, 0x46, 0x24, 0x20        @ #-----------------------X--------#
    .byte    0x38, 0x47, 0x27, 0x26, 0x32, 0x17, 0x00, 0x0E        @ #--------------------X-----------#
    .byte    0x14, 0x02, 0x03, 0x00, 0xED, 0xDC, 0xEB, 0xEB        @ #--------------X-----------------#
    .byte    0xDF, 0xD3, 0xE5, 0xC9, 0xBC, 0xDE, 0xED, 0xDE        @ #-----------X--------------------#
    .byte    0xD7, 0xDF, 0xD7, 0xD7, 0xE3, 0xE2, 0xE2, 0xFC        @ #------------X-------------------#
    .byte    0xF0, 0xEC, 0xFC, 0x15, 0x16, 0x0D, 0x29, 0x2B        @ #-----------------X--------------#
    .byte    0x17, 0x27, 0x40, 0x3E, 0x3B, 0x53, 0x4E, 0x35        @ #-----------------------X--------#
    .byte    0x4F, 0x55, 0x50, 0x59, 0x69, 0x64, 0x44, 0x4E        @ #--------------------------X-----#
    .byte    0x6A, 0x60, 0x54, 0x54, 0x56, 0x44, 0x35, 0x40        @ #--------------------------X-----#
    .byte    0x3F, 0x2D, 0x29, 0x1E, 0x1D, 0x10, 0x00, 0xFC        @ #-------------------X------------#
    .byte    0xF8, 0xF3, 0xEC, 0xD5, 0xCE, 0xC3, 0xC5, 0xC3        @ #-----------X--------------------#
    .byte    0xB8, 0xAB, 0xAB, 0xAD, 0xAB, 0xA6, 0xA3, 0xA3        @ #-----X--------------------------#
    .byte    0x98, 0x9B, 0xA9, 0xAA, 0xA7, 0xAB, 0xB1, 0xA3        @ #----X---------------------------#
    .byte    0xA9, 0xB3, 0xB3, 0xA9, 0xBB, 0xC2, 0xBD, 0xB7        @ #------X-------------------------#
    .byte    0xCC, 0xE0, 0xC0, 0xC9, 0xD8, 0xD8, 0xD4, 0xDC        @ #----------X---------------------#
    .byte    0xEB, 0xEB, 0xDE, 0xE4, 0xE1, 0xF0, 0xF6, 0xF4        @ #-------------X------------------#
    .byte    0x08, 0x03, 0xFD, 0xFB, 0xF8, 0x12, 0x15, 0x0D        @ #----------------X---------------#
    .byte    0x0D, 0xFE, 0x10, 0x16, 0x0A, 0x1A, 0x28, 0x25        @ #------------------X-------------#
    .byte    0xFE, 0x05, 0x22, 0x13, 0x08, 0x1A, 0x25, 0x0C        @ #------------------X-------------#
    .byte    0xFD, 0x12, 0x10, 0x06, 0x11, 0x20, 0x1E, 0x00        @ #-----------------X--------------#
    .byte    0x04, 0x0A, 0xFC, 0x05, 0x16, 0x02, 0xEA, 0xEC        @ #---------------X----------------#
    .byte    0x08, 0xF1, 0xF3, 0x03, 0x01, 0xE5, 0xDB, 0xF8        @ #--------------X-----------------#
    .byte    0xE4, 0xD3, 0xFA, 0xFE, 0xE5, 0xE9, 0xEC, 0xE2        @ #-------------X------------------#
    .byte    0xD8, 0x0B, 0x12, 0xF4, 0x00, 0x09, 0x04, 0xFB        @ #---------------X----------------#
    .byte    0x12, 0x32, 0x17, 0x13, 0x2C, 0x1F, 0x24, 0x32        @ #--------------------X-----------#
    .byte    0x3A, 0x42, 0x46, 0x4F, 0x35, 0x2C, 0x38, 0x42        @ #-----------------------X--------#
    .byte    0x43, 0x41, 0x41, 0x3D, 0x29, 0x2F, 0x3A, 0x37        @ #-----------------------X--------#
    .byte    0x25, 0x1F, 0x1D, 0x0E, 0x03, 0x06, 0x09, 0x08        @ #------------------X-------------#
    .byte    0xEE, 0xEB, 0xDB, 0xD2, 0xD1, 0xD1, 0xD7, 0xD3        @ #-----------X--------------------#
    .byte    0xD4, 0xCC, 0xB4, 0xCC, 0xDB, 0xCC, 0xD2, 0xC8        @ #---------X----------------------#
    .byte    0xD6, 0xC0, 0xD2, 0x07, 0x02, 0xF0, 0xF5, 0x0D        @ #-------------X------------------#
    .byte    0x13, 0x00, 0x2E, 0x40, 0x2E, 0x3E, 0x3D, 0x4F        @ #---------------------X----------#
    .byte    0x3F, 0x46, 0x6B, 0x67, 0x65, 0x60, 0x5F, 0x69        @ #---------------------------X----#
    .byte    0x69, 0x74, 0x71, 0x64, 0x75, 0x60, 0x60, 0x5C        @ #-----------------------------X--#
    .byte    0x66, 0x66, 0x49, 0x42, 0x47, 0x39, 0x28, 0x1F        @ #------------------------X-------#
    .byte    0x23, 0x1A, 0x05, 0x00, 0xFE, 0xF9, 0xDF, 0xCE        @ #---------------X----------------#
    .byte    0xDB, 0xD3, 0xC2, 0xB4, 0xB4, 0xB6, 0xA5, 0xA3        @ #-------X------------------------#
    .byte    0x9D, 0x91, 0x9E, 0x8F, 0x93, 0x98, 0xA5, 0xA2        @ #---X----------------------------#
    .byte    0x8B, 0xA9, 0xAB, 0x99, 0x8A, 0x96, 0xAD, 0xA4        @ #---X----------------------------#
    .byte    0x9B, 0xBA, 0xA6, 0xA1, 0xA3, 0xB5, 0xC2, 0xBC        @ #-----X--------------------------#
    .byte    0xC7, 0xCA, 0xB9, 0xC6, 0xD5, 0xD5, 0xDA, 0xEA        @ #---------X----------------------#
    .byte    0xED, 0xCA, 0xDA, 0x06, 0x06, 0xFE, 0x08, 0x0F        @ #--------------X-----------------#
@ ...


Disclaimer:
This tool is licensed under the terms of the GPLv3 license. It currently does work but I didn't invest time into making it "idiot proof". It can easily crash when if parameters are given".

Contributing:
Since this tool is licensed under the GPLv3 feel free to contribute by forking my repository on GitHub and improving the code. As I said above, the code is
partially pretty dirty and I just want to warn you :D

Downloads & Links:
The source (C#) of this tool is available on my GitHub:
https://github.com/ipatix/m4a2s
The download can be found under the "release" section. Quick link:
https://github.com/ipatix/m4a2s/releases/tag/v0.1-beta

So I hope that someone might be interested in this tool.
Have a nice day
__________________
Visit my YouTube channel (music hacking and other stuff): http://www.youtube.com/user/theipatix
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 10:18 PM.