+ All Categories
Home > Documents > SynthPresentation

SynthPresentation

Date post: 05-Apr-2018
Category:
Upload: kevin-reed
View: 214 times
Download: 0 times
Share this document with a friend

of 19

Transcript
  • 8/2/2019 SynthPresentation

    1/19

    Software Synthesizerwith VST.NET

    Kevin Reed

  • 8/2/2019 SynthPresentation

    2/19

    Overview

    Project motivations What is Virtual Studio Technology (VST)? What is VST.NET?

    Audio Processing MIDI Processing

    Combining Audio & MIDI Processing

    Synth Future Developments

  • 8/2/2019 SynthPresentation

    3/19

    Project Motivations

    Show how easy it is to create effects andvirtual instruments using VST

    Use VST.NET to create VST using C# .NET

  • 8/2/2019 SynthPresentation

    4/19

    Virtual Studio Technology (VST)History

    Developed by Steinberg in 1996 Provided a way to developed software based

    emulations of audio processing hardware In 1999 included support for virtual

    instruments (VSTi)

    Neon (VSTi) - the first virtual analog synth

  • 8/2/2019 SynthPresentation

    5/19

    VST.NET

    Allows for VST development in any .

    NET language (C#) Provides a structured framework Easier to learn than VST SDK

  • 8/2/2019 SynthPresentation

    6/19

    Definition:VST Host = Digital Audio Workstation (DAW) = Reaper =

  • 8/2/2019 SynthPresentation

    7/19

    Structure of a VST.NET Plugin

    VST Host(Reaper)

    VST.NETFramework

    PluginRoot Class

    VST.NET PluginInterface Manager

    AudioProcessor

    MIDIProcessor

    MIDISource

    PluginEditor

    PluginPrograms

  • 8/2/2019 SynthPresentation

    8/19

    Definitions

    Audio Buffer - temporary package of

    audio data to be sent to playback

    MIDI - (Musical Instrument DigitalInterface) a way to communicate musicaldata from an input device

  • 8/2/2019 SynthPresentation

    9/19

    Audio Processing

    AudioBuffers

    VST Host

    (Reaper)

    AudioProcessor

    ProcessedAudio

    Buffers

  • 8/2/2019 SynthPresentation

    10/19

    Audio Processing

    Done in blocks Block size set by VST host Size of block influences latency

    latency - time delay from audio or MIDI input

    to audio output as a result of processing

    1

    0

    -1

  • 8/2/2019 SynthPresentation

    11/19

    MIDI Processing

    MIDI EventCollection

    VST Host

    (Reaper)

    MIDIProcessor

    ProcessedMIDI Event

    AudioProcessor

  • 8/2/2019 SynthPresentation

    12/19

    Combining MIDI & Audio

    VST Host(Reaper)

    MIDIProcessor

    AudioProcessor

    ProcessedMIDI Event

    MIDI Event

    Processed

    MIDI Event

    OutputBuffers

    ProcessedOutput Buffers

  • 8/2/2019 SynthPresentation

    13/19

    Synthesis Logic

    When a note is presseda. Determine note frequencyb. Generate sound wave based on frequency

    i. Sine, Square, Triangle, Sawtoothc. Apply Attack, Decay, and Sustaind. Fill audio output buffers until release

    When a note is released Apply Release Stop filling output buffer

  • 8/2/2019 SynthPresentation

    14/19

    SynthesisWaveforms

  • 8/2/2019 SynthPresentation

    15/19

    SynthesisADSR

    Attack time - the volume change from zerostarting when a key is pressed

    Decay time - the volume level change after theattack is finished

    Sustain level - the fundamental level of the

    signal that is prolonged until the note is released Release time - the volume change from the

    sustain level to zero after the key is released

  • 8/2/2019 SynthPresentation

    16/19

    SynthesisADSR

    Attack

    De

    cay

    Sustain

    ReleaseAm

    plitud

    e

    Time

    Note On Note Off

  • 8/2/2019 SynthPresentation

    17/19

    Future Developments

    Choose waveform in plugin editor

    Combination of waveforms Edit ADSR parameters in real time

    Legato - tie notes together Portamento - glide from one frequency

    to the next

    Polyphony - multiple notes at the sametime

    Plugin Programs

  • 8/2/2019 SynthPresentation

    18/19

    Sources

    VST.NET http://vstnet.codeplex.com/ Marc's Blog Cabin - http://obiwanjacobi.blogspot.

    com/2008/06/vstnet-plugin-structure.html Waveform - http://en.wikipedia.org/wiki/Waveform ADSR Envelope - http://en.wikipedia.

    org/wiki/Synthesizer#ADSR_envelope

    http://en.wikipedia.org/wiki/Synthesizer#ADSR_envelopehttp://en.wikipedia.org/wiki/Synthesizer#ADSR_envelopehttp://en.wikipedia.org/wiki/Waveformhttp://obiwanjacobi.blogspot.com/2008/06/vstnet-plugin-structure.htmlhttp://obiwanjacobi.blogspot.com/2008/06/vstnet-plugin-structure.htmlhttp://vstnet.codeplex.com/
  • 8/2/2019 SynthPresentation

    19/19

    Questions?