

We now offer a subscription for just 10 cents a day**h1>
You will always enjoy the full version of Mp4Gain with all its features and benefits.
For just 10 cents a day*
*Unlimited FULL version of Mp4Gain, billed $US12.50 Quarterly (+ $5 USD one time subscription payment JUST in the first payment).
All other payments will be just $3.12 per month, billed quaterly.
That's only 10 cents per day!
CLICK TO PURCHASE
THIS PRICE ONLY LASTS FOR A FEW DAYS
For just 10 cents a day*
Audio-intro deel 3

WAV

structuur
bestandskop
Het WAV-formaat volgt het RIFF Resource Interchange-bestandsformaat, dus het WAV-formaat is eigenlijk een relatie met drie lagen, wat hier vereenvoudigd wordt. Het bestandsheaderformaat is als volgt:
Adres Carving type inhoud
00H-03H 4 tekens * 4 RIFF-vlag voor uitwisseling van bronbestanden
04H-07H 4 unsigned int Het aantal bytes vanaf het volgende adres tot het einde van het bestand.
08H-0BH 4 karakters * 4 WAV-bestand WAVE-logo
0CH-0FH 4 karakters * 4 fmt wave-bestandsvlag, het laatste cijfer is 0x20 spatie
10H-13H 4 unsigned int De grootte van de subchunk-bestandskop. Voor het WAV-subfragment is de waarde 0x10.
14H-15H 2 korte niet-ondertekende Formaattype, wanneer de waarde 1 is, betekent dit dat de gegevens lineaire PCM-codering zijn;
16H-17H 2 kort niet-ondertekend aantal kanalen
18H-1BH 4 int unsigned Sampling rate
1CH-1FH 4 int unsigned Wave file bytes per seconde = sample rate Bitdiepte PCM / 8 kanalen
20H-21H 2 korte unsigned DATA data block unit lengte = aantal kanalen * PCM bitdiepte / 8
22H-23H 2 kort unsigned Bitdiepte PCM
24H-27H 4 karakters * 4 gegevensstempelgegevens
28H-2BH 4 unsigned int Totale lengte van datadeel (bytes)
struct WAVHeader
{ char RIFF [ 4 ]; ///Resource bestandsuitwisselingsvlag RIFF niet-ondertekende LEN; ///Aantal bytes vanaf het volgende adres tot het einde van het bestand char WAV [ 4 ]; ///WAV-bestandsvlag WAVE char FMT [4]; ///Wave fmt-bestandsaanwijzer, laatste cijfer is 0x20 spatie unsigned SubchunkSize; ///De grootte van de sub-chunk bestandsheader, voor WAV deze sub-chunk is de waarde 0x10 DATATYPE short unsigned; / //Formaattype, wanneer de waarde 1 is, betekent dit dat de gegevens niet-ondertekende lineaire PCM-codering kort CH zijn; ///Aantal niet-ondertekende kanalen F; /// Niet-ondertekende samplefrequentie BYTERATE; ///Aantal bytes per seconde van wave-bestand = sample rate*PCM bit depth/8*Aantal niet-ondertekende kanalen
korte DATAUNITLEN; ///DATA block unit length=kanaalnummer*Bitdiepte PCM/8 unsigned short BITDEPTH; /// Bitdiepte karakter PCM DATA [ 4 ]; ///Data flag data unsigned DATALEN ; ///Gegevens gedeeltelijke totale lengte (bytes)};
gegevensorganisatie
Na de bestandskop staat het gegevensgedeelte van het WAV-bestand. De gegevensorganisatie is: de linkerkanaalwaarde van het eerste monsterpunt, de rechterkanaalwaarde van het eerste monsterpunt, …, de linkerkanaalwaarde van het laatste monsterpunt, de rechterkanaalwaarde van de laatste monsterpuntwaarde. Elke waarde heeft een bitdiepte van bits.
Genereer een eenvoudige wav
Vul eerst de Wav-header in.
WAVHeader getHeader ( int nummer )
{
WAV Header res; memcpy (res.RIFF, “RIFF” , sizeof (res.RIFF)); memcpy (res.WAV, “WAVE” , sizeof (res.WAV)); memcpy (res.FMT, “fmt”, grootte van (res.FMT)); res.SubchunkSize= 0x10; res.DATATYPE=1; res.CH= 2 ; res.F=F; res.BITDEPTH=DIEPTE; res.BYTERATE=res.F*res.BITDEPTH/ 8 *res.CH; res.DATAUNITLEN=res.CH*res.BITDEPTH/8 ; memcpy(res.DATA, “gegevens”
, grootte van ( res.DATA ));
res.DATALEN=num*res.DATAUNITLEN;
res.LEN=res.DATALEN+ 44 -8 ; terugkeerders; }
Definieer eerst de sleutelnaam – frequentievergelijkingstabel.
const dubbele toetsf[]=
{ 27.5 , 29.1352 , 30.8677 , 32.7032 , 34.6478 , 36.7081 , 38.8909 , 41.2034 , 43.6535 , 46.2493 , 48.9994 , 51.9131 , 55 , 58.2705 , 61.7354 , 65.4064 , 76978.2957 ,
103.826 , 110 , 116.541 , 123.471 , 130.813 , 138.591 , 146.832 , 155.563 , 164.814 , 174.614 , 184.997 , 195.998 , 207.652 , 220 , 233.082 , 246.942 , 261.626 , 277.183 , 293.665, 329.1628 , 440
, 466.164 , 493.883 , 523.251 , 554.365 , 587.33 , 622.254 , 659.255 , 698.456 , 739.989 , 783.991 , 830.609 , 880 , 932.328 , 987.767 , 1046.5 , 1108.73 , 1344229864 , ,
1975.53, 2093, 2217.46, 2349.32, 2489.02, 2637.02, 2793.83, 2959.96, 3135.96, 3322.44, 3729.31, 3951.07, 4186.01; ___ { “A-0”, “A#0”, “B-0”, “C-1”, “C#1”, “D-1”, “D#1”, “E-1”, “F-1”, “F#1”
, “G-1”, “G#1”, “A-1”, “A#1”, “B-1”, “C-2”, “C#2”, “D-2″, ” D#2″, “E-2”, “F-2”, “F#2”, “G-2”, “G#2”, “A-2”, “A#2”, “B- 2”, “C-3”, “C#3”, “D-3”, “D#3”, “E-3”, “F-3”, “F#3”, “G-3” , “zon#3” ,
