-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFMOD_DSP_PITCHSHIFT.html
55 lines (55 loc) · 4.11 KB
/
FMOD_DSP_PITCHSHIFT.html
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
<LINK REL="stylesheet" HREF="../static/styles.css">
<HTML>
<HEAD>
<TITLE>FMOD_DSP_PITCHSHIFT</TITLE>
</HEAD>
<BODY TOPMARGIN="0" class="api_reference">
<p class="header">Firelight Technologies FMOD Studio API</p>
<H1>FMOD_DSP_PITCHSHIFT</H1>
<P>
<p>Parameter types for the <A HREF="FMOD_DSP_TYPE.html">FMOD_DSP_TYPE_PITCHSHIFT</A> filter.</p>
</P>
<h3>Enumeration</h3>
<PRE class=syntax><CODE>typedef enum {
FMOD_DSP_PITCHSHIFT_PITCH,
FMOD_DSP_PITCHSHIFT_FFTSIZE,
FMOD_DSP_PITCHSHIFT_OVERLAP,
FMOD_DSP_PITCHSHIFT_MAXCHANNELS
} FMOD_DSP_PITCHSHIFT;
</CODE></PRE>
<h2>Values</h2>
<P class=dt><I>FMOD_DSP_PITCHSHIFT_PITCH</I></P>
<P class=indent>(Type:float) - Pitch value. 0.5 to 2.0. Default = 1.0. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch. </P>
<P class=dt><I>FMOD_DSP_PITCHSHIFT_FFTSIZE</I></P>
<P class=indent>(Type:float) - FFT window size. 256, 512, 1024, 2048, 4096. Default = 1024. Increase this to reduce 'smearing'. This effect is a warbling sound similar to when an mp3 is encoded at very low bitrates. </P>
<P class=dt><I>FMOD_DSP_PITCHSHIFT_OVERLAP</I></P>
<P class=indent>(Type:float) - Removed. Do not use. FMOD now uses 4 overlaps and cannot be changed. </P>
<P class=dt><I>FMOD_DSP_PITCHSHIFT_MAXCHANNELS</I></P>
<P class=indent>(Type:float) - Maximum channels supported. 0 to 16. 0 = same as fmod's default output polyphony, 1 = mono, 2 = stereo etc. See remarks for more. Default = 0. It is suggested to leave at 0! </P>
<h2>Remarks</h2><P>
<p>This pitch shifting unit can be used to change the pitch of a sound without speeding it up or slowing it down.<br>
It can also be used for time stretching or scaling, for example if the pitch was doubled, and the frequency of the sound was halved, the pitch of the sound would sound correct but it would be twice as slow.<br>
<br>
<b>Warning!</b> This filter is very computationally expensive! Similar to a vocoder, it requires several overlapping FFT and IFFT's to produce smooth output, and can require around 440mhz for 1 stereo 48khz signal using the default settings.<br>
Reducing the signal to mono will half the cpu usage.<br>
Reducing this will lower audio quality, but what settings to use are largely dependant on the sound being played. A noisy polyphonic signal will need higher fft size compared to a speaking voice for example.<br>
<br>
This pitch shifter is based on the pitch shifter code at http://www.dspdimension.com, written by Stephan M. Bernsee.<br>
The original code is COPYRIGHT 1999-2003 Stephan M. Bernsee <a href="mailto:smb@dspdimension.com">smb@dspdimension.com</a>.<br>
<br>
'<i>maxchannels</i>' dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will allocate enough memory for a 6 channel pitch shift, etc.<br>
If the pitch shift effect is only ever applied to the global mix (ie it was added with <A HREF="FMOD_ChannelGroup_AddDSP.html">ChannelGroup::addDSP</A>), then 0 is the value to set as it will be enough to handle all speaker modes.<br>
When the pitch shift is added to a channel (ie <A HREF="FMOD_Channel_AddDSP.html">Channel::addDSP</A>) then the channel count that comes in could be anything from 1 to 8 possibly. It is only in this case where you might want to increase the channel count above the output's channel count.<br>
If a channel pitch shift is set to a lower number than the sound's channel count that is coming in, it will not pitch shift the sound.<br></p>
</P>
<h2>See Also</h2>
<UL type=disc>
<LI><A HREF="FMOD_DSP_SetParameterFloat.html">DSP::setParameterFloat</A></LI>
<LI><A HREF="FMOD_DSP_GetParameterFloat.html">DSP::getParameterFloat</A></LI>
<LI><A HREF="FMOD_ChannelGroup_AddDSP.html">ChannelGroup::addDSP</A></LI>
<LI><A HREF="FMOD_DSP_TYPE.html">FMOD_DSP_TYPE</A></LI>
</UL>
<BR><BR><BR>
<P align=center><font size=-2>Version 1.03.06 Built on Apr 17, 2014</font></P>
<BR>
</HTML>