@@ -6,10 +6,43 @@ Generate audio stream with a function.
6
6
7
7
[ ![ npm install audio-generator] ( https://nodei.co/npm/audio-generator.png?mini=true )] ( https://npmjs.org/package/audio-generator/ )
8
8
9
+ #### Direct
9
10
10
11
``` js
11
- var Generator = require (' audio-generator' );
12
- var Speaker = require (' audio-speaker' );
12
+ const generator = require (' audio-generator' );
13
+ const speaker = require (' audio-speaker' );
14
+
15
+ // panned sine generator
16
+ let generate = generator (time => [
17
+ Math .sin (Math .PI * 2 * time * 439 ), // channel 1
18
+ Math .sin (Math .PI * 2 * time * 441 ), // channel 2
19
+ ], { duration: 2 });
20
+ let write = speaker ();
21
+
22
+ // hook up generator → speaker loop
23
+ (function loop () {
24
+ write (generate (), loop);
25
+ })();
26
+ ```
27
+
28
+ #### Pull stream
29
+
30
+ ``` js
31
+ var generator = require (' audio-generator/pull' );
32
+ var speaker = require (' audio-speaker/pull' );
33
+ var pull = require (' pull-stream/pull' );
34
+
35
+ pull (
36
+ generator (Math .random , { duration: 2 }),
37
+ speaker ()
38
+ );
39
+ ```
40
+
41
+ #### Node stream
42
+
43
+ ``` js
44
+ var Generator = require (' audio-generator/stream' );
45
+ var Speaker = require (' audio-speaker/stream' );
13
46
14
47
Generator (
15
48
// Generator function, returns sample values -1..1 for channels
@@ -30,9 +63,6 @@ Generator(
30
63
.on (' error' , function (e ) {
31
64
// error happened during generation the frame
32
65
})
33
- .setFunction (function (time , n ) {
34
- return [Math .random (), Math .random ()];
35
- })
36
66
.pipe (Speaker ());
37
67
```
38
68
0 commit comments