<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://vjmedia.wpi.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kdmccormick</id>
	<title>vjmedia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://vjmedia.wpi.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kdmccormick"/>
	<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/Special:Contributions/Kdmccormick"/>
	<updated>2026-10-22T08:57:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.8</generator>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243812</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243812"/>
		<updated>2015-05-05T04:27:21Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid_new.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243811</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243811"/>
		<updated>2015-05-05T04:27:15Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid_new.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243810</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243810"/>
		<updated>2015-05-05T04:26:56Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243809</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243809"/>
		<updated>2015-05-05T04:26:03Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid_new.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243808</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243808"/>
		<updated>2015-05-05T04:25:51Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243806</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243806"/>
		<updated>2015-05-05T04:20:33Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vi.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243805</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243805"/>
		<updated>2015-05-05T04:20:26Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243804</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243804"/>
		<updated>2015-05-05T04:20:19Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243803</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243803"/>
		<updated>2015-05-05T04:20:12Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid_new.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243802</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243802"/>
		<updated>2015-05-05T04:14:20Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid_new.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243801</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243801"/>
		<updated>2015-05-05T03:29:14Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243800</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243800"/>
		<updated>2015-05-05T03:29:08Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243799</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243799"/>
		<updated>2015-05-05T03:28:58Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://storage.wpi.edu/manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243798</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243798"/>
		<updated>2015-05-05T03:28:42Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://storage.wpi.edu/manzo/kdmccormick_final-project/demo-vid.mp4&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243793</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243793"/>
		<updated>2015-05-05T01:30:04Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Demo Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/Academics/Depts/HUA/Manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243792</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243792"/>
		<updated>2015-05-05T01:28:28Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;br /&gt;
&lt;br /&gt;
==Demo Video==&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://media.wpi.edu/manzo/kdmccormick_final-project/demo-vid.avi&amp;lt;/mediaplayer&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243610</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243610"/>
		<updated>2015-04-29T13:53:01Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;br /&gt;
Effects do not have any methods that are intended for outside modules to use. However, you may safely modify the values you passed in as constructor parameters (Fader.left_gain, Oscillator.freq, etc.), and the changes will take place in real time.&lt;br /&gt;
===Other===&lt;br /&gt;
  init()&lt;br /&gt;
      Initializes PyAudio library; must be called before using KAudio&lt;br /&gt;
&lt;br /&gt;
  terminate()&lt;br /&gt;
      Terminates PyAudio library; should be called when finished using KAudio&lt;br /&gt;
&lt;br /&gt;
  set_chunk_size(val)&lt;br /&gt;
      val (int) : the number of frames to be written to the output stream at a time&lt;br /&gt;
&lt;br /&gt;
  WaveTypes constants for passing into Wave constructor:&lt;br /&gt;
      WaveType.SINE&lt;br /&gt;
      WaveType.SQAURE&lt;br /&gt;
      WaveType.TRIANGLE&lt;br /&gt;
      WaveType.SAWTOOTH&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243608</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243608"/>
		<updated>2015-04-29T13:47:24Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from the [https://github.com/mekkz/kaudio GitHub page.]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243607</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243607"/>
		<updated>2015-04-29T13:46:17Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: /* Effect Constructors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from [[https://github.com/mekkz/kaudio]]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;br /&gt;
&lt;br /&gt;
 Compressor(low_thresh, low_factor, high_thresh, high_factor)&lt;br /&gt;
     low_thresh  (int16) : maximum amplitude threshold for upward scaling&lt;br /&gt;
     low_factor  (float) : factor by which samples below low_thresh are scaled upwards&lt;br /&gt;
     high_thresh (int16) : minimum amplitude threshold for downward scaling&lt;br /&gt;
     high_factor (float) : factor by which samples below high_thresh are scaled downwards&lt;br /&gt;
===Effect Methods===&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243606</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243606"/>
		<updated>2015-04-29T13:43:25Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from [[https://github.com/mekkz/kaudio]]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
 import kaudio&lt;br /&gt;
 kaudio.init()&lt;br /&gt;
  &lt;br /&gt;
 // your code here&lt;br /&gt;
  &lt;br /&gt;
 kaudio.terminate()&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
The two fundamental data types in KAudio are &amp;#039;&amp;#039;&amp;#039;Signals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Effects&amp;#039;&amp;#039;&amp;#039;. Signals represent a stream of audio data, either from a file or generated programmatically. Effects represent machines that take in signals and maniupulate them. Examples include Amplifiers, Compressers, and Faders.&lt;br /&gt;
===Signal Constructors===&lt;br /&gt;
 SignalFromAudioFile(fpath, loop=False)&lt;br /&gt;
     fpath (str)  : file path to a 2-channel, uncompressed PCM .WAV file&lt;br /&gt;
     loop  (bool) : loaded audio is looped if True, else is played just once&lt;br /&gt;
&lt;br /&gt;
 Wave(wave_type, freq, amplitude, loop=True)&lt;br /&gt;
     wave_type (int)   : shape of wave. See WaveType constants&lt;br /&gt;
     freq      (float) : frequency of wave in hertz&lt;br /&gt;
     amplitude (int16) : maximum amplitude of wave on a scale of 0 to 2^15 - 1&lt;br /&gt;
     loop      (bool)  : if True plays indefinitely, else plays exactly one period&lt;br /&gt;
&lt;br /&gt;
 CompositeSignal(*signals)&lt;br /&gt;
     signals (Signal[]) : argument list of signals to be averaged together to form a new signal&lt;br /&gt;
===Signal Methods===&lt;br /&gt;
 play()&lt;br /&gt;
     starts playing the signal to default audio output&lt;br /&gt;
&lt;br /&gt;
 pause()&lt;br /&gt;
     stops playing the signal, but preserves its state&lt;br /&gt;
&lt;br /&gt;
 rewind()&lt;br /&gt;
     resets the signal to its original state&lt;br /&gt;
&lt;br /&gt;
 is_playing()&lt;br /&gt;
     returns whether or not the signal is currently being played&lt;br /&gt;
&lt;br /&gt;
 add_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be applied to this signal&lt;br /&gt;
&lt;br /&gt;
 remove_effect(e)&lt;br /&gt;
     e (Effect) : the effect to be removed from this signal&lt;br /&gt;
===Effect Constructors===&lt;br /&gt;
 Amplifier(gain)&lt;br /&gt;
     gain (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
&lt;br /&gt;
 Fader(left_gain, right_gain)&lt;br /&gt;
     left_gain  (float) : factor by which the amplitude of the signal&amp;#039;s left channel will be scaled&lt;br /&gt;
     right_gain (float) : factor by which the amplitude of the signal&amp;#039;s right channel will be scaled&lt;br /&gt;
&lt;br /&gt;
 ComplexFader(l_to_l, l_to_r, r_to_l, r_to_r)&lt;br /&gt;
     Similar to fader, but allows redirection of one channel&amp;#039;s data to another&lt;br /&gt;
     l_to_l (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     l_to_r (float) : factor by which signal&amp;#039;s left channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
     r_to_l (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s left channel&lt;br /&gt;
     r_to_r (float) : factor by which signal&amp;#039;s right channel will be scaled and outputted to the new signal&amp;#039;s right channel&lt;br /&gt;
&lt;br /&gt;
 Overdriver(gain, cutoff)&lt;br /&gt;
     Distorts the given signal&lt;br /&gt;
     gain   (float) : factor by which the signal&amp;#039;s amplitude will be scaled&lt;br /&gt;
     cutoff (int16) : absolute value at which the amplitude of the wave will be clipped off&lt;br /&gt;
&lt;br /&gt;
 Oscillator(freq, gain)&lt;br /&gt;
     Amplifies and attenuates the given signal in a periodic fashion&lt;br /&gt;
     freq      (int)   : frequency of the oscillation in Hertz&lt;br /&gt;
     amplitude (float) : maximum gain/attenuation factor throughout cycle&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243602</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243602"/>
		<updated>2015-04-29T13:14:56Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from [[https://github.com/mekkz/kaudio]]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import kaudio&lt;br /&gt;
kaudio.init()&lt;br /&gt;
&lt;br /&gt;
// your code here&lt;br /&gt;
&lt;br /&gt;
kaudio.terminate()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243600</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243600"/>
		<updated>2015-04-29T13:13:03Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: Initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;br /&gt;
Setup:&lt;br /&gt;
*Download the latest version of kaudio.py from [[https://github.com/mekkz/kaudio]]&lt;br /&gt;
*Place it in the same folder as the module from which you wish to use KAudio&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
	<entry>
		<id>https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243596</id>
		<title>KAudio Python Library</title>
		<link rel="alternate" type="text/html" href="https://vjmedia.wpi.edu/index.php?title=KAudio_Python_Library&amp;diff=243596"/>
		<updated>2015-04-29T13:09:22Z</updated>

		<summary type="html">&lt;p&gt;Kdmccormick: Initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;KAudio&amp;#039;&amp;#039;&amp;#039; is an experimental proof-of-concept audio processing library for Python. It allows users to generate audio signals, load audio from files, apply various effects to the audio, and then play it back. It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; currently a finished product, and it is not intended to be used in a production environment.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Requirements:&lt;br /&gt;
*Python 2.7.x&lt;br /&gt;
*NumPy 1.8.2 or greater&lt;br /&gt;
*PyAudio 0.2.8 or greater&lt;/div&gt;</summary>
		<author><name>Kdmccormick</name></author>
		
	</entry>
</feed>