Using SYNTHEDIT, http://www.synthedit.com/,
I was able to make a VST plugin (VSTi plugin would be more accurate since it is a synthesizer plugin) that acts just like a hardware CODE PRACTICE OSCILLATOR, only this one is keyed using MIDI INPUT
NOTE: [ there are several versions of the sineCW vst plugin available to test in all the attachments below ]
This sineCW vsti plugin is keyed using a MIDI INPUT, which acts just like a normal rig would being keyed with cw keyers.
There is an ongoing article about MIDI KEYED CPO in the Blogs
HERE is an example of the waveform showing a dit using this plugin:
Here below is a picture of the setup...using a VST HOST...and being keyed using AUDIO to MIDI technique ~ an 18 khz wave from a 555 chip goes into the MIC JACK, this triggers REAGATE to send a midi note of any pitch you choose, to the input of the sineCW3 vst plugin, which keys just like a normal CPO, and then the output of sineCW3 goes to a final BANDPASS filter where you can adjust it to remove any remaining cw note edge noise and also determine how narrow you want the cw tones - audio bandwidth - to be...
NOTE: CLICK ON PICTURE for large FULL SCREEN VIEW
If you take a look at the PLUGIN GUI, you will see several parameters. The most important are the ATTACK and RELEASE....which sets the RISE and FALL time of the cw note. The 2nd to last PATCHVALUE is also interesting, you can vary the "hardness" of the keying by selecting one of the other options here, ie EXPONENTIAL . Send a cw file and adjust these 3 parameters while listening LIVE, to get everything set to your desired sending cw "sound"
Please find attached the download link if you are interested in testing this VST PLUGIN on your computer system. This is a 32 bit only VST PLUGIN. Place this dll file into your VST 32 BIT folder and rescan your VST HOST to pick it up...
HERE IS AN EXAMPLE OF HOW THIS HOME BREWED VST CPO SINE WAVE CW OSCILLATOR sounds when sending cw at qrq speed 80 wpm....from TOM, W4BQF's article - COPYING CW OVER 70 WPM.
HERE IS A LIVE DEMO OF USING PADDLES with this VST PLUGIN CPO
Working on adding a couple of new features with the next version:
THE PITCH control allows varying the frequency above and below 700 hertz, when selecting midi note 54 in the REAGATE VST PLUGIN.
- see attachments for sineCW7.dll, if all works on your VST HOST it will look like this:
If you download the beta version of synthedit here;
and just install and load the program on the desktop for the first time, It seems as though the GUI for this plugin starts working fully. You don't have to do anything else but load the synthedit program once. Just bringing it up to the desktop does "something" to allow the GUI to work fully as pictured above.
here attached is the next version - sineCW7.dll - as pictured above
Here is another version, this time with its own BANDPASS FILTER, the CENTER and Q, set the center frequency and Q of the filter for how narrow or wide you would like the bandpass filter to be....easy to adjust....just send some dits and adjust both CENTER for max volume and Q for best sound on the cw element edges. Here are a couple of pictures of the VST PLUGIN and the WAVE SHAPE and SPECTRUM GRAPH
ALSO: NO RINGING IS OBSERVED on the edges of the cw wave when using the internal bandpass filter
HERE IS A SHORT EXAMPLE of how sineCW8 version sounds when using its own CW BANDPASS FILTER
HERE IS A SCREEN SHOT OF THE VST HOST MNIhost Modular showing the vst plugin setup. There are 3 instances of REAGATE to allow using software cw keyboards in addition to cw paddles. FLdigi can select its own soundcard and that connects to the 2nd REGATE VST PLUGIN, the 3rd REGATE is for using software cw keyboards that do not have an option for selecting the soundcard - so you have to use DEFALT SOUNDCARD instead. MiniHost Modular allows you to control the volume on the interconnecting wires.
here is a 7z file for sineCW8 attached
Here is a short demo of a "VST 3" 64 bit plugin for sineCW using a virutal midi keyboard to key this sineCW VST3 plugin.
This is a proof of concept to be able to use a normal HARDWARE MIDI INPUT device like the TEENSY BOARDs midi
to hook up your paddles and key the TEENSY device and the TEENSY MIDI OUTPUT keys this sineCW vst3 plugin.
Here is a combined view of the original waveform from the css555 16 khz square wave, on top, and on bottom is the output waveform from the sineCW plugin [ after the input css555 16 khz square wave goes through the AUDIO to MIDI conversion from the reagate vst plugin which then sends a midi message to key sineCW ]
HERE IS sineCW using the EXPONENTIAL ENVELOPE SETTING
HERE IS THE AUDIO SPECTRUM ANALYSIS OF THE EXPONENTIAL SETTING
HERE IS WHAT THE NEW WAVEFORMS LOOK LIKE - the tone input to the MIC JACK 10KHZ TONE on TOP and the output of sineCW on the bottom - a circuit change to the TLC555 ; a 2.5volt -1 Farad - CAP - for the TLC555 voltage supply was added to the circuit used for the MIC JACK POWERed ONLY code practice oscillator setup
Here is an example of using multiple sineCW VST plugin instances to individually control the CW PITCH and CW VOLUME of any & every CW OP that is in qso with you on Mumble over the iCW server: