User Tools

Site Tools


intelligent_audio_switch_box

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
intelligent_audio_switch_box [2014/10/26 05:02]
bogonetic
intelligent_audio_switch_box [2014/10/28 22:51] (current)
brechtdeman Put HAMR hammer on bottom.
Line 16: Line 16:
  
 * **Simon-Claudius Wystrach** //​(remote)//​ Master student at University of York, United Kingdom * **Simon-Claudius Wystrach** //​(remote)//​ Master student at University of York, United Kingdom
 +
 +{{::​inasbteam.jpg|The team: Brecht, Nikolay, Simon-Claudius (remote) and Tom}}
 +
  
 ===== Features ===== ===== Features =====
  
-=== Plugin ===+==== Plugin ​====
  
-{{::inasbplugin.png|}}+{{::inasbpluginscreenshot.png|Screenshot of the plugin}}
  
-=== Parameters ===+==== Parameters ​====
  
-== GAIN == +=== GAIN === 
  - Amplification level of the input signal.  - Amplification level of the input signal.
  
-== THRESHOLD == +=== THRESHOLD ​=== 
  - The value of discrimination between channel A and B.  - The value of discrimination between channel A and B.
  
-== HYSTERESIS == +=== HYSTERESIS ​=== 
  - A noise gate that perpetuates the current state  - A noise gate that perpetuates the current state
  
-== INERTIA == +=== INERTIA ​=== 
- - Determines how fast to apply parameter changes, for example, a low inertia setting will create a sweeping effect.+ - Determines how fast to apply parameter changes, for example, a high inertia setting will create a sweeping effect.
  
  
Line 41: Line 44:
 During the learning stage, four spectral features (centroid, flatness, crest and roll-off) are extracted from training examples. They are associated with one of the channels and stored in memory. The user would toggle "Train A" or "Train B" button and then produce sound for the plugin to learn from. The "​Finish"​ button completes the training stage, and the plugin becomes ready to route the signal. During the learning stage, four spectral features (centroid, flatness, crest and roll-off) are extracted from training examples. They are associated with one of the channels and stored in memory. The user would toggle "Train A" or "Train B" button and then produce sound for the plugin to learn from. The "​Finish"​ button completes the training stage, and the plugin becomes ready to route the signal.
  
-===== Playback ​=====+==== Playback ====
 During the playback mode an algorithm finds the training example(s) nearest to the features extracted real-time from sound and the corresponding class routes the sound signal to the appropriate channel. During the playback mode an algorithm finds the training example(s) nearest to the features extracted real-time from sound and the corresponding class routes the sound signal to the appropriate channel.
  
-===== Sample Code ===== 
  
-{{::​inasbcode.png|}}+===== Implementation =====
  
- +==== Guidelines ​====
-===== Documentation ===== +
- +
-* BitBucket wiki (incl. this Powerpoint) +
-* Including test audio +
-* Extensive sensible commenting of the code +
- +
-===== Implementation Details =====+
  
 First off, know that //Channel A// corresponds with //0//, with //false// and with //left//, and //Channel B// corresponds with //1//, with //true// and with //right// (depending on the context: JUCE's channel number is 0 or 1, which corresponds to left and right in a traditional setup in a Digital Audio Workstation (DAW), while we are using booleans to toggle between the two channels). ​ First off, know that //Channel A// corresponds with //0//, with //false// and with //left//, and //Channel B// corresponds with //1//, with //true// and with //right// (depending on the context: JUCE's channel number is 0 or 1, which corresponds to left and right in a traditional setup in a Digital Audio Workstation (DAW), while we are using booleans to toggle between the two channels). ​
  
-===== Getting started =====+==== Tools ====
  
 We use the [[http://​www.juce.org|JUCE]] toolkit for building VST/AU plugins. If you're on Mac OS X, see [[http://​feature-space.com/​en/​post161.html|this page]] to fix some Core Audio related issues with XCode first. If you're on Windows, it is advised that you use Visual Studio to manipulate the code, as JUCE enables easy setup for a select set of IDEs.  We use the [[http://​www.juce.org|JUCE]] toolkit for building VST/AU plugins. If you're on Mac OS X, see [[http://​feature-space.com/​en/​post161.html|this page]] to fix some Core Audio related issues with XCode first. If you're on Windows, it is advised that you use Visual Studio to manipulate the code, as JUCE enables easy setup for a select set of IDEs. 
 +
 +You will need Steinberg'​s [[http://​www.steinberg.net/​nc/​en/​company/​developer/​sdk_download_portal.html|VST SDK]] (2.4 for standard VST plugins, although 3.0 also includes the former). ​
 +
 +Finally, when using JUCE life will be significantly easier if you use one of the IDEs it supports, i.e. any Visual Studio version for Windows, XCode for Mac, and CodeBlocks (but less fussy) for Linux. ​
  
 ==== Distribution ==== ==== Distribution ====
-BitBucket Git repository is located at https://​bitbucket.org/​bogonetic/​inasbv1 
  
-==== Testing ​====+To be released - stay tuned!  
 + 
 +==== Documentation ​==== 
 + 
 +To be released with the code.  
 + 
 +* This wiki 
 + 
 +* Included test audio on repository 
 + 
 +* Extensive, sensible commenting of the code: 
 + 
 +{{::​inasbcode.png|}}
  
-For your conveniencewe added two test audio files to the repository that we think to work well to demonstrate/test the plugin+//For this hackour team received ​the prize for 'Best Code' - one of three HAMR trophies./
 +{{::​iNASBhammer.jpg|'​Best Code' hammer, one of the three HAMR trophies.}}
intelligent_audio_switch_box.1414314176.txt.gz · Last modified: 2014/10/26 05:02 by bogonetic