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 04:56]
bogonetic
intelligent_audio_switch_box [2014/10/28 22:51] (current)
brechtdeman Put HAMR hammer on bottom.
Line 7: Line 7:
 An example usage is the augmentation of an instrument performance by providing control over any kind of audio effect by parameters embedded in the performance itself, such as pitch, level, or timbral features. E.g. a guitarist who desires harmonic distortion only on the higher notes, a vocalist who wants a long echo on the really loud hits, or a trombone that needs a flanger on slides between notes. It can also be used in less creative, more functional ways to control level, dynamics or spectrum. ​ An example usage is the augmentation of an instrument performance by providing control over any kind of audio effect by parameters embedded in the performance itself, such as pitch, level, or timbral features. E.g. a guitarist who desires harmonic distortion only on the higher notes, a vocalist who wants a long echo on the really loud hits, or a trombone that needs a flanger on slides between notes. It can also be used in less creative, more functional ways to control level, dynamics or spectrum. ​
  
-==== The Team ====+===== The Team =====
  
 * **Brecht De Man** PhD student at Queen Mary University of London, United Kingdom * **Brecht De Man** PhD student at Queen Mary University of London, United Kingdom
Line 17: Line 17:
 * **Simon-Claudius Wystrach** //​(remote)//​ Master student at University of York, United Kingdom * **Simon-Claudius Wystrach** //​(remote)//​ Master student at University of York, United Kingdom
  
-==== Features ====+{{::​inasbteam.jpg|The team: Brecht, Nikolay, Simon-Claudius (remote) and Tom}}
  
-=== Plugin === 
  
-{{::​inasbplugin.png|}}+===== Features =====
  
-=== Parameters ​===+==== Plugin ====
  
-== GAIN == +{{::​inasbpluginscreenshot.png|Screenshot of the plugin}} 
 + 
 +==== Parameters ==== 
 + 
 +=== 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
  
-== INERTIA == +=== INERTIA ​=== 
- ​- ​+ ​- ​Determines how fast to apply parameter changes, for example, a high inertia setting will create a sweeping effect.
  
  
-=== Learning ===+==== Learning ​====
 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 ===+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). ​
  
-* BitBucket wiki (incl. this Powerpoint) +==== Tools ====
-* Including test audio +
-* Extensive sensible commenting of the code+
  
-==== Implementation ====+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. 
  
-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 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). +You will need Steinberg'​s [[http://www.steinberg.net/nc/en/company/developer/sdk_download_portal.html|VST SDK]] (2.4 for standard VST pluginsalthough 3.also includes ​the former). 
  
-=== Getting started ===+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. ​
  
-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. +==== Distribution ====
  
-=== Distribution === +To be released - stay tuned! ​
-BitBucket Git repository is located at https://​bogonetic@bitbucket.org/​bogonetic/​inasbv1.git+
  
-=== Testing ​===+==== 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.1414313761.txt.gz · Last modified: 2014/10/26 04:56 by bogonetic