Programmer Guide/SPU Reference/UCONV: Difference between revisions

From STX Wiki
Jump to navigationJump to search
 
(3 intermediate revisions by the same user not shown)
Line 13: Line 13:
!output !!description !!data type !!value type!!comment
!output !!description !!data type !!value type!!comment
|-
|-
|<var>Y</var>||converted input data||same type as <var>A<var>||variable  
|<var>Y</var>||converted input data||same type as <var>A</var>||variable  
|}
|}
;Description:
;Description:
Line 27: Line 27:
|<code>1</code>
|<code>1</code>
|<code>0</code>
|<code>0</code>
|Linear transformation. Parameter <var>A</var> is used as slope and parameter <var>B</var> as offset<BR><math>Y=A.X+B\!</math>
|Linear transformation. Parameter <var>A</var> is used as slope and parameter <var>B</var> as offset<BR>
<math>Y=A.X+B\!</math>
|-
|-
|<code>1</code> or <code>HZ2CENT</code>
|<code>1</code> or <code>HZ2CENT</code>
|<code>1</code>
|<code>1</code>
|<code>0</code>
|<code>0</code>
|Convert frequency from Hertz to Cents. Parameter <var>A</var> is used as reference frequency and <var>B</var> as offset in Cents.<BR><math>Y=1200\cdot\log_2\left (\frac{X}{A}\right )+B</math>
|Convert frequency from Hertz to Cents. Parameter <var>A</var> is used as reference frequency and <var>B</var> as offset in Cents.<BR>
<math>Y=1200\cdot\log_2\left (\frac{X}{A}\right )+B</math>
|-
|-
|<code>2</code> or <code>CENT2HZ</code>
|<code>2</code> or <code>CENT2HZ</code>
|<code>1</code>
|<code>1</code>
|<code>0</code>
|<code>0</code>
|Convert frequency from Cents to Hertz. Parameter <var>A</var> is used as reference frequency and <var>B</var> as offset in Cents.<BR><var>Y</var><code>=</code><var>A</var><code>.2(</code><var>x</var><code>-</code><var>b</var><code>)/1200</code>
|Convert frequency from Cents to Hertz. Parameter <var>A</var> is used as reference frequency and <var>B</var> as offset in Cents.<BR>
<math>Y=A\cdot 2^{\frac{X-B}{1200}}</math>
|-
|-
|<code>3</code> or <code>HZ2BARK</code>
|<code>3</code> or <code>HZ2BARK</code>
Line 52: Line 55:
|<code>1</code>
|<code>1</code>
|<code>20</code>
|<code>20</code>
|Convert from linear to logarithmic scale. Parameter a is used as reference value and <var>b</var> as factor: <var>y</var><code>=</code><var>b</var><code>.log10(</code><var>x</var><code>/</code><var>a</var><code>)</code>
|Convert from linear to logarithmic scale. Parameter <var>A</var> is used as reference value and <var>B</var> as factor.<BR>
<math>Y=B \cdot log_{10} \left (\frac{X}{A} \right )</math>
|-
|-
|<code>6</code> or <code>LOG2LIN</code>
|<code>6</code> or <code>LOG2LIN</code>
|<code>1</code>
|<code>1</code>
|<code>20</code>
|<code>20</code>
|Convert from logarithmic to linear scale. Parameter a is used as reference value and <var>b</var> as factor: <var>y</var><code>=</code><var>a</var><code>.10</code><var>x</var><code>/</code><var>b</var>
|Convert from logarithmic to linear scale. Parameter <var>A</var> is used as reference value and <var>B</var> as factor.<BR>
<math>Y=A \cdot 10^{\frac{X}{B}}</math>
|-
|-
|<code>7 or HZ2MEL</code>
|<code>7 or HZ2MEL</code>

Latest revision as of 13:24, 9 May 2011

Apply amplitude or frequency scale conversion.

[SPU UCONV X TYP A B OUT Y]

input description data type value type default value
X input date number, vector variable
TYP conversion (see description) number (int.), string constant 0
A, B conversion parameters (see description) number variable
output description data type value type comment
Y converted input data same type as A variable
Description

This atom performs a conversion of the input X (containing physical data) into another unit or domain. The type of conversion is controlled by the selection input TYPE and the parameter inputs A and B. The input data can be stored in a number or vector. If the input is a vector, the conversion is applied to all elements.

TYPE default
A
default
B
applied transformation /conversion
0 or LINEAR 1 0 Linear transformation. Parameter A is used as slope and parameter B as offset

{\displaystyle Y=A.X+B\!}

1 or HZ2CENT 1 0 Convert frequency from Hertz to Cents. Parameter A is used as reference frequency and B as offset in Cents.

{\displaystyle Y=1200\cdot \log _{2}\left({\frac {X}{A}}\right)+B}

2 or CENT2HZ 1 0 Convert frequency from Cents to Hertz. Parameter A is used as reference frequency and B as offset in Cents.

{\displaystyle Y=A\cdot 2^{\frac {X-B}{1200}}}

3 or HZ2BARK - - Convert frequency from Hertz to Barks. Uses the transformation published by Zwicker and Fastl (1990). The parameters A and B are ignored.
4 or BARK2HZ - - Convert frequency from Barks to Hertz. Uses an iteration method that minimizes the distance to the forward conversion algorithm. The parameters A and B are ignored.
5 or LIN2LOG 1 20 Convert from linear to logarithmic scale. Parameter A is used as reference value and B as factor.

{\displaystyle Y=B\cdot log_{10}\left({\frac {X}{A}}\right)}

6 or LOG2LIN 1 20 Convert from logarithmic to linear scale. Parameter A is used as reference value and B as factor.

{\displaystyle Y=A\cdot 10^{\frac {X}{B}}}

7 or HZ2MEL - - Convert from Hertz to Mel. The parameters A and B are ignored.
8 or MEL2HZ - - Convert from Mel to Hertz. The parameters A and B are ignored.
9 or HZ2ERB - - Convert from Hertz to ERB (Equivalent Rectangular Bandwidth). The parameters A and B are ignored.
10 or ERB2HZ - - Convert from ERB (Equivalent Rectangular Bandwidth) to Hertz. The parameters A and B are ignored.
See also

<SP-atoms>

Navigation menu

Personal tools