Skip to content

Commit 6c198f7

Browse files
committed
Update example usage
1 parent eb23cec commit 6c198f7

File tree

1 file changed

+58
-79
lines changed

1 file changed

+58
-79
lines changed

example.php

Lines changed: 58 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,31 @@
33
require_once 'WavFile.php';
44
require_once 'WavMaker.php';
55

6-
siusecase();
7-
//maryHad();
8-
//noiseTest();
9-
//sineTest();
10-
//squareTest();
11-
//sineWave();
6+
maryHad();
7+
noiseTest();
8+
sineTest();
9+
squareTest();
10+
sineWave();
1211
mergeWavs();
12+
appendWavs();
1313

14-
function siusecase()
15-
{
16-
$audio_path = dirname(__FILE__) . '/audio';
17-
18-
$wav = new WavMaker(1, 11025, 16);
19-
20-
$letters = array('p', 'k', 'l', '2', '5', 'm');
21-
$wavs = array();
22-
foreach ($letters as $letter) {
23-
$letter = strtoupper($letter);
24-
25-
if (!isset($wavs[$letter])) {
26-
try {
27-
$l = new WavFile($audio_path . '/' . $letter . '.wav');
28-
$wavs[$letter] = $l;
29-
} catch (Exception $ex) {
30-
// failed to open file...handle
31-
die("Error with character '$letter': " . $ex->getMessage());
32-
}
33-
}
34-
35-
$wav->appendWav($wavs[$letter]);
36-
}
37-
38-
$wav->save(dirname(__FILE__) . '/wavs/siout.wav');
39-
40-
$sound = new WavFile(dirname(__FILE__) . '/wavs/mary.wav');
41-
42-
$wav->mergeWav($sound);
43-
44-
$wav->save(dirname(__FILE__) . '/wavs/siout-merged.wav');
45-
46-
die('Saved captcha');
47-
}
4814

4915
function mergeWavs()
5016
{
5117
$wav1 = new WavFile(dirname(__FILE__) . '/wavs/spin.wav');
5218
$wav2 = new WavFile(dirname(__FILE__) . '/wavs/sinetest-2-44100-8.wav');
53-
19+
5420
$wav1->mergeWav($wav2);
55-
56-
$fp = fopen(dirname(__FILE__) . '/wavs/merged.wav', 'w+b');
57-
fwrite($fp, $wav1->makeHeader());
58-
fwrite($fp, $wav1->getDataSubchunk());
59-
60-
fclose($fp);
61-
62-
die('Merge completed');
21+
22+
$wav1->save(dirname(__FILE__) . '/wavs/merged.wav');
23+
24+
echo "mergeWavs() completed.\n";
6325
}
6426

6527
function maryHad()
6628
{
6729
$wav = new WavMaker(1, 11025, 16);
68-
30+
6931
$wav->generateSineWav(493.883, 0.4); // b
7032
$wav->generateSineWav(440, 0.4); // a
7133
$wav->generateSineWav(391.995, 0.4); // g
@@ -74,14 +36,14 @@ function maryHad()
7436
$wav->generateSineWav(493.883, 0.4); // b
7537
$wav->generateSineWav(493.883, 0.8); // b
7638
$wav->generateSineWav(440, 0.4); // a
77-
$wav->generateSilence(0.05);
39+
$wav->insertSilence(0.05);
7840
$wav->generateSineWav(440, 0.4); // a
79-
$wav->generateSilence(0.05);
41+
$wav->insertSilence(0.05);
8042
$wav->generateSineWav(440, 0.8); // a
8143
$wav->generateSineWav(493.883, 0.4); // b
8244
$wav->generateSineWav(587.330, 0.4); // d
8345
$wav->generateSineWav(587.330); // d
84-
$wav->generateSilence(2); // long pause
46+
$wav->insertSilence(2); // long pause
8547
$wav->generateSineWav(493.883, 0.4); // b
8648
$wav->generateSineWav(440, 0.4); // a
8749
$wav->generateSineWav(391.995, 0.4); // g
@@ -90,82 +52,99 @@ function maryHad()
9052
$wav->generateSineWav(493.883, 0.4); // b
9153
$wav->generateSineWav(493.883, 0.8); // b
9254
$wav->generateSineWav(440, 0.4); // a
93-
$wav->generateSilence(0.05);
55+
$wav->insertSilence(0.05);
9456
$wav->generateSineWav(440, 0.4); // a
95-
$wav->generateSilence(0.05);
57+
$wav->insertSilence(0.05);
9658
$wav->generateSineWav(440, 0.8); // a
9759
$wav->generateSineWav(493.883, 0.4); // b
9860
$wav->generateSineWav(587.330, 0.4); // d
9961
$wav->generateSineWav(587.330); // d
100-
62+
10163
$wav->save(dirname(__FILE__) . '/wavs/mary.wav');
102-
103-
die('Mary had a little lamb');
64+
65+
echo "maryHad() completed.\n";
10466
}
10567

10668
function sineTest()
10769
{
10870
// generate 3 second sine waves in multiple bit and sample rates
10971
$sps = array(8000, 11025, 22050, 44100);
11072
$bps = array(8, 16, 24);
111-
73+
11274
foreach($sps as $samplesPerSec) {
11375
foreach($bps as $bitsPerSample) {
11476
$wav = new WavMaker(2, $samplesPerSec, $bitsPerSample);
11577
$wav->generateSineWav(329.628, 3);
116-
78+
11779
$wav->save(dirname(__FILE__) . '/wavs/sinetest-2-' . $samplesPerSec . '-' . $bitsPerSample . '.wav');
11880
}
11981
}
120-
121-
die('Sine test completed');
82+
83+
echo "sineTest() completed.\n";
12284
}
12385

12486
function squareTest()
12587
{
12688
$sps = array(8000, 11025, 22050, 44100);
12789
$bps = array(8, 16, 24);
128-
90+
12991
foreach($sps as $samplesPerSec) {
13092
foreach($bps as $bitsPerSample) {
13193
$wav = new WavMaker(1, $samplesPerSec, $bitsPerSample);
13294
$wav->generateSquareWave(130.813, 3);
133-
95+
13496
$wav->save(dirname(__FILE__) . '/wavs/squaretest-1-' . $samplesPerSec . '-' . $bitsPerSample . '.wav');
13597
}
13698
}
137-
138-
die('Square test completed');
99+
100+
echo "squareTest completed.\n";
139101
}
140102

141103
function noiseTest()
142104
{
143105
$sps = array(8000, 44100);
144106
$bps = array(8, 16);
145-
107+
146108
foreach($sps as $samplesPerSec) {
147109
foreach($bps as $bitsPerSample) {
148110
$wav = new WavMaker(1, $samplesPerSec, $bitsPerSample);
149111
$wav->generateNoise(3);
150-
112+
151113
$wav->save(dirname(__FILE__) . '/wavs/noise-1-' . $samplesPerSec . '-' . $bitsPerSample . '.wav');
152114
}
153115
}
154-
155-
die('Noise test completed');
116+
117+
echo "noiseTest() completed.\n";
156118
}
157119

158120
function sineWave()
159121
{
160122
$wav = new WavMaker(1, 44100, 16); // 2 channel, 44100 samples/sec, 16 bits/sample
161123
$wav->generateSineWav(659.255, 3); // E5 for 2 seconds
162-
163-
164-
$fp = fopen(dirname(__FILE__) . '/wavs/sine.wav', 'w+b');
165-
fwrite($fp, $wav->makeHeader());
166-
fwrite($fp, $wav->getDataSubchunk());
167-
168-
fclose($fp);
169-
170-
die('Sine wav completed');
124+
125+
$wav->save(dirname(__FILE__) . '/wavs/sine.wav');
126+
127+
echo "sineWave() completed\n";
128+
}
129+
130+
function appendWavs()
131+
{
132+
$numChannels = 1;
133+
$sampleRate = 11025;
134+
$bpSample = 24;
135+
136+
$wav = new WavFile($numChannels, $sampleRate, $bpSample);
137+
$sineWave = new WavMaker($numChannels, $sampleRate, $bpSample);
138+
$sqreWave = new WavMaker($numChannels, $sampleRate, $bpSample);
139+
140+
$sineWave->generateSineWav(880, 2.5);
141+
$sqreWave->generateSquareWave(880, 2.5);
142+
143+
$wav->appendWav($sineWave);
144+
$wav->insertSilence();
145+
$wav->appendWav($sqreWave);
146+
147+
$wav->save(dirname(__FILE__) . '/wavs/appended.wav');
148+
149+
echo "appendWavs() completed.\n";
171150
}

0 commit comments

Comments
 (0)