Revision 592:e7c5b55aab9a
| src/may/stream/framer.yeti | ||
|---|---|---|
| 82 | 82 |
var padded = true; |
| 83 | 83 |
var windower = id; |
| 84 | 84 |
var transform = id; |
| 85 |
var mixer = id; |
|
| 85 | 86 |
for options \case of |
| 86 | 87 |
Hop h: hop := h; |
| 87 | 88 |
Padded p: padded := p; |
| ... | ... | |
| 92 | 93 |
if f then |
| 93 | 94 |
transform := mat.mapRows (fft.realForwardMagnitude framesize); |
| 94 | 95 |
fi; |
| 96 |
MixedTo c: |
|
| 97 |
mixer := manip.mixedTo c; |
|
| 95 | 98 |
esac; |
| 96 | 99 |
map transform |
| 97 | 100 |
(map windower |
| 98 |
(frames' framesize hop padded stream))); |
|
| 101 |
(frames' framesize hop padded |
|
| 102 |
(mixer stream)))); |
|
| 99 | 103 |
|
| 100 | 104 |
complexFrames framesize options stream = |
| 101 | 105 |
(var hop = framesize; |
| ... | ... | |
| 103 | 107 |
var windower = id; |
| 104 | 108 |
var rowTransform = |
| 105 | 109 |
do r: complex.complexArray r (vec.zeros (vec.length r)) done; |
| 110 |
var mixer = id; |
|
| 106 | 111 |
for options \case of |
| 107 | 112 |
Hop h: hop := h; |
| 108 | 113 |
Padded p: padded := p; |
| ... | ... | |
| 114 | 119 |
if f then |
| 115 | 120 |
rowTransform := fft.realForward framesize; |
| 116 | 121 |
fi; |
| 122 |
MixedTo c: |
|
| 123 |
mixer := manip.mixedTo c; |
|
| 117 | 124 |
esac; |
| 118 | 125 |
map do m: |
| 119 | 126 |
cm.fromRows (map rowTransform (mat.asRows m)) |
| 120 | 127 |
done |
| 121 | 128 |
(map windower |
| 122 |
(frames' framesize hop padded stream))); |
|
| 129 |
(frames' framesize hop padded |
|
| 130 |
(mixer stream)))); |
|
| 123 | 131 |
|
| 124 | 132 |
streamContiguous rate framesize frames = |
| 125 | 133 |
(var remaining = frames; |
Also available in: Unified diff