You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.MD
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ The 2D image buffering mechanism is **double-buffered**, that means we collect 1
39
39
40
40
The program spawns 5 threads, we got 1 thread for FFT, T-F masking, IFFT, overlapping, while 4 other threads are actively doing deep learning task in the background.
41
41
42
-
We got 4 sources to demix, we run 4 CNN in parallel, each gemm() is sequential.
42
+
We got 4 sources to demix, we run 4 CNN in parallel, each convolutional layer gemm() is sequential.
43
43
44
44
## Demo and screenshot
45
45
<palign="center">
@@ -74,7 +74,7 @@ We got 4 sources to demix, we run 4 CNN in parallel, each gemm() is sequential.
74
74

75
75
76
76
## System Requirements and Installation
77
-
Currently, the UI is implemented in JUCE.
77
+
Currently, the UI is implemented using JUCE with no parameters can be adjusted.
78
78
79
79
Any compilable audio plugin host or the standalone program will run the program.
80
80
@@ -90,23 +90,23 @@ I have no plan for supporting 4 stems for mobile phone.
90
90
## FAQ
91
91
1. Why not just go for libtensorflow for everything, TensorFlow is static computation graph-based, should be suitable for audio inference?
92
92
93
-
A: There is a couple of reason for that. First, Python program that related to the Time-frequency transform and CNN entry point must be rewritten before generate a useful Tensorflow freezed model(.pb), no matter how static the computation graph is, why?
93
+
A: There is a couple of reason for that. Python program that related to the Time-frequency transform and CNN entry point must be rewritten before generate a useful Tensorflow freezed model(.pb), no matter how static the computation graph is. But why?
94
94
95
-
Simply because __Spleeter__ official Tensorflow model pack 4 stems/CNN into same checkpoint file, 4 stems are totally sequential/run in series, the reason Tensorflow model run so fast, they uses SIMD instructions.
95
+
Simply because __Spleeter__ official Tensorflow model pack 4 stems/CNN into same checkpoint file, 4 stems are totally sequential/series, the reason Tensorflow model run so fast, they uses SIMD instructions.
96
96
97
97
Other than that, Tensorflow doesn't parallel the code path you want.
98
98
99
-
You need to write a Python program, you will going to split the checkpoint of 4 stems model into 4 freezed graph and then use libtensorflow API to call 4 graphs on each thread.
99
+
You need to write a Python program, you will going to split the checkpoint of 4 stems model into 4 individual freezed graph(.pb) and then use libtensorflow API to call 4 individual sessions on each thread.
100
100
101
101
2. The audio processor is so slow, slower than Python version on the same hardware.
102
102
103
-
A: Not really, the plugin isn't like __official__ Spleeter, we can't do everything in offline, there's a big no to write a real-time signal processor in offline.
103
+
A: Not really, the plugin isn't like __official__ Spleeter, we can't do everything in offline, there's a big no to write a real-time signal processor that run in offline mode.
104
104
105
-
The audio processor buffering system will cost extra time to process compared to offline Python program.
105
+
The audio processor buffering system will cost extra overhead to process compared to offline Python program.
106
106
107
107
At the same time, the FFT implementation isn't the best of course, but definitely comparable to Tensorflow.
108
108
109
-
Different audio plugin host or streaming system have different buffer size, the system with a small buffer will definitely make the system slower.
109
+
Different audio plugin host or streaming system have different buffer size, the system with a small buffer will definitely make the processing slower.
110
110
111
111
## License
112
112
Other than the project main components are GPL-licensed, I don't know much about Intel MKL.
0 commit comments