2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "AudioEffectPitchShift"  inherits= "AudioEffect"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-19 19:11:11 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Adds a pitch-shifting audio effect to an audio bus.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-16 18:47:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Raises or lowers the pitch of original sound.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-16 18:47:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Allows modulation of pitch independently of tempo. All frequencies can be increased/decreased with minimal effect on transients.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-19 19:11:11 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<link  title= "Audio buses" > $DOCS_URL/tutorials/audio/audio_buses.html</link> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "fft_size"  type= "int"  setter= "set_fft_size"  getter= "get_fft_size"  enum= "AudioEffectPitchShift.FFTSize"  default= "3" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											The size of the [url=https://en.wikipedia.org/wiki/Fast_Fourier_transform]Fast Fourier transform[/url] buffer. Higher values smooth out the effect over time, but have greater latency. The effects of this higher latency are especially noticeable on sounds that have sudden amplitude changes.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "oversampling"  type= "int"  setter= "set_oversampling"  getter= "get_oversampling"  default= "4" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											The oversampling factor to use. Higher values result in better quality, but are more demanding on the CPU and may cause audio cracking if the CPU can't keep up.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "pitch_scale"  type= "float"  setter= "set_pitch_scale"  getter= "get_pitch_scale"  default= "1.0" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											The pitch scale to use. [code]1.0[/code] is the default pitch and plays sounds unaltered. [member pitch_scale] can range from [code]0.0[/code] (infinitely low pitch, inaudible) to [code]16[/code] (16 times higher than the initial pitch).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<constants > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_256"  value= "0"  enum= "FFTSize" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, but least stable over time.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_512"  value= "1"  enum= "FFTSize" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but less stable over time.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_1024"  value= "2"  enum= "FFTSize" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Use a buffer of 1024 samples for the Fast Fourier transform. This is a compromise between latency and stability over time.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_2048"  value= "3"  enum= "FFTSize" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Use a buffer of 2048 samples for the Fast Fourier transform. High latency, but stable over time.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_4096"  value= "4"  enum= "FFTSize" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:02:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Use a buffer of 4096 samples for the Fast Fourier transform. Highest latency, but most stable over time.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-13 02:42:49 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "FFT_SIZE_MAX"  value= "5"  enum= "FFTSize" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Represents the size of the [enum FFTSize] enum.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-24 10:39:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>