-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwave_to_sdl.py
63 lines (61 loc) · 1.1 KB
/
wave_to_sdl.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import nimbus
import nimbus.sources
import nimbus.sinks
import nimbus.transformers
import numpy as np
sync_frame = np.array(
[
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
1,
1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
]
)
wave_source = nimbus.sources.Wave("examples/10080101_16bit.wav", buffer_size=5512)
sdl_sink = nimbus.sinks.SDL(width=2080, height=1200)
pipeline = nimbus.Pipeline(
wave_source,
[
nimbus.transformers.Caster(np.float32),
nimbus.transformers.Hilbert(),
nimbus.transformers.Caster(np.float32),
nimbus.transformers.Tee(nimbus.sinks.Audio()),
nimbus.transformers.Resample(sample_rate=4160),
nimbus.transformers.Apt_Sync(sync_frame),
nimbus.transformers.Caster(np.uint8),
],
sdl_sink,
)
pipeline.run()