SSIGIN

From STX Wiki
Jump to navigationJump to search

Read/Write signal from/to a wave item.

[SPU RSIGIN SIG REV L POS K D TYP OUT X1 .. X8 SR XMAX]

Random read: Read signal frames from selected position POS. The frame addresses the signal from POS-L/2 to POS+L/2-1

[SPU ASIGIN SIG REV L K D TYP OUT X1 .. X8 SR N I XMAX]

Absolute read: Read signal frames without overlap. Frame I addresses the signal from I*L to (I+1)*L-1.

[SPU CSIGIN SIG REV L S K D TYP OUT X1 .. X8 SR N I XMAX]

Centered read: Read overlapping signal frames. Frame I addresses the signal from I*S-L/2 to I*S+L/2-1. All samples outside the address range of the wave item are set to 0.

[SPU SSIGIN SIG REV L S K D TYP OUT X1 .. X8 SR N I XMAX]

Shifted read: Read overlapping signal frames. Frame I addresses the signal from I*S-(L-S) to I*S+L/2-1. All samples outside the address range of the wave item are set to 0.

[SPU SIGOUT SIG X1 .. X8 OUT SR I XMAX]

Shifted read: Read overlapping signal frames. Frame I addresses the signal from I*S-(L-S) to I*S+L/2-1. All samples outside the address range of the wave item are set to 0.
input description data type value type default value
A input data number, vector variable
B masker or threshold number, vector variable
C replacement data number, vector variable
COND condition number (int.), string variable 0
output description data type value type comment
Y masked data same type as A variable
Description

If the condition defined by COND is true, Ci is assigned to Yi, otherwise Yi is set to Ai.

If A is a vector, the inputs B and C can be numbers or vectors with the same length as A. The output Y has always the same type as A.

COND Assignment
0 or < {\displaystyle Y_{i}={\begin{cases}C_{[i]}&{\mbox{if }}A_{i}<B_{[i]}\\A_{i}&{\mbox{otherwise}}\end{cases}}}
1 or > {\displaystyle Y_{i}={\begin{cases}C_{[i]}&{\mbox{if }}A_{i}>B_{[i]}\\A_{i}&{\mbox{otherwise}}\end{cases}}}
2 or {\displaystyle Y_{i}={\begin{cases}C_{[i]}&{\mbox{if }}A_{i}\leqslant B_{[i]}\\A_{i}&{\mbox{otherwise}}\end{cases}}}
3 or {\displaystyle Y_{i}={\begin{cases}C_{[i]}&{\mbox{if }}A_{i}\geqslant B_{[i]}\\A_{i}&{\mbox{otherwise}}\end{cases}}}

with: 0 ≤ i < length of A; [i] means: index is used only if the input is a vector

See also

<SP-atoms>



SSIGIN - read signal (for filters, ...)

Usage:

SSIGIN SIG REV L S K D

Inputs:
SIG name of shell-wave-item no default
REV 0, YES|1) def.=NO
L frame length in samples (>=4) def.=1024
S frame shift in samples (1 <= S <= L) def.=L/4
K amplification factor def.=1
D differentiation factor (0..1) def.=0
Outputs:
Xi signal of channel i (L samples)
SR sampling rate in Hz
N number of frames
I frame counter (0..N)
Function:

This atom implements an alternative signal-frame read function that can be used instead of CSIGN. The frame-splitting method is designed to be used for filter or other frequency-domain processing methods. The partitioning of the signal is similar to the method used by the phase vocoder, but no windowing or other processing is applied to the frames. The picture below shows the frame partitioning method:

1310.png

Frame partitioning method used by SSIGIN=====Notes:=====

This read function is currently not used, because specialized signal-I/O (analysis/re-synthesis) atoms for the filter methods have been implemented. The values of the outputs SR and N are set during the initialization. The output I is initialized to 0 and incremented by 1 after each read cycle. The input REV can be used to reverse the signal in time.

Navigation menu

Personal tools