HOME BREWED SOFTWARE CODE PRACTICE OSCILLATOR VST VSTi PLUGIN

664 views
Skip to first unread message

aa0hw

unread,
Sep 29, 2014, 9:24:37 AM9/29/14
to i_...@googlegroups.com

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)

 sineCW vst, vsti,  plugin,  acts just like a hardware CODE PRACTICE OSCILLATOR, 

only sineCW vst CPO plugin, is "keyed" using MIDI INPUT, you can adjust the PITCH, VOLUME, RISE and FALL TIME

AND sineCW also has its own internal bandpass filter, you adjust this bandpass filter via the CENTER and Q controls to make

your own midi keyed cw audio tone output to be as narrow or wide in bandpass as you desire, while at the same time

getting rid of almost all the  cw wave "edge" noises. 


Use a VST HOST, in order to use this plugin.  This plugin is "keyed" via MIDI INPUT of 

either hardware or virtual midi devices, cable, or direct connections using a VST HOST like MiniHost Modular


please see this ongoing article for more information

http://qrqcwnet.ning.com/forum/topics/home-brewed-software-code-practice-oscillator-vst-plugin


You can route the cw audio tones from this setup over to the input of MUMBLE if you use VB ASIO BRIDGE, and VOICEMEETER or JACKROUTER.


df7t...@gmail.com

unread,
Dec 30, 2023, 8:03:05 PM12/30/23
to iCW - internet CW
Hello Chuck,
Your plugin sineCW3 has been successfully installed using my old (32bit) Pedalboard 2 host and Windows 10.
I had a first QSO via iCW using it and it works.

...But it seems to be an early version and the newer ones sineCW and sineCW7 have some additional features.

I was not able to get these working in Pedalboard (could not connect the "param" port from reagate to your plugin)

Are the newer sineCW plugin versions 64bit only ?


TNX and HNY!
73
Tom DF7TV

Pedalboard2-sineCW3.jpg

df7t...@gmail.com

unread,
Dec 31, 2023, 9:53:32 AM12/31/23
to iCW - internet CW
Hi again Chuck,
just made a little measurement concerning the delay between square wave CW input and sine wave CW output.
(I am using the Behringer UCA222 with the original Behringer Asio driver)

That's great -- it is hard to see a latency in the Pedalboard 2's "Signal Analyzer" plugin.
If I would have to give a best guess -- well (below) 0.1 ms.

73
Tom
Latency-sineCW3-Behringer-UCA222.jpg

Chuck Vaughn

unread,
Jan 1, 2024, 8:05:55 AMJan 1
to i_...@googlegroups.com
sineCW7, if i remember correctly, is 32 bit vst plugin...

NOTE:  pedalboard is a very old and no longer updated VST HOST
i would use another, modern,  VST HOST,  and try sineCW7

CARLA is one, that has 32 and 64 bit windows downloads...  
here is the latest 32 bit Carla with 32 sineCW7 vst plugin
sineCW7carla32bit.png
  
ELEMENT is one i have used in the past and liked   

--

---
You received this message because you are subscribed to the Google Groups "iCW - internet CW" group.
To unsubscribe from this group and stop receiving emails from it, send an email to i_cw+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/i_cw/72ea9423-f4da-4bd7-9773-e74207bca6c3n%40googlegroups.com.

df7t...@gmail.com

unread,
Jan 1, 2024, 8:26:19 AMJan 1
to iCW - internet CW
Thank you Chuck!

Yes - you are 100% correct - "Pedalboard2" is verrry old...

I think I will give a try to Carla on a small notebook, where I have Linux (Fedora) as OS.
I'll have to learn a lot -- but perhaps a good project for the new year.

73
HNY to all
Tom

Chuck Vaughn

unread,
Jan 1, 2024, 8:41:26 AMJan 1
to i_...@googlegroups.com
another possible is you might try (RE)drawing your own plugin using the sineCW 7 VST plugin
     synthedit elements...
download both the 32 and 64 bit synthedit programs
and see if you can load up my 32bit sketch attached below... and then adapt/improve it...
might be a fun collaborative project to advance sineCW...
attached synthedit patch =  sineCW_FINAL.se1


sineCW_FINAL.se1

Chuck Vaughn

unread,
Jan 1, 2024, 8:42:59 AMJan 1
to i_...@googlegroups.com
here is the link to download a zip file containing the latest 32 bit sineCW vst plugin

On Mon, Jan 1, 2024 at 7:26 AM df7t...@gmail.com <df7t...@gmail.com> wrote:

Chuck Vaughn

unread,
Jan 1, 2024, 8:59:17 AMJan 1
to i_...@googlegroups.com
here is the latest 64 bit carla, using the 64 bit vst3 plugin  sineCW
on windows 11 desktop:
carla64win11.png

On Mon, Jan 1, 2024 at 7:26 AM df7t...@gmail.com <df7t...@gmail.com> wrote:

Chuck Vaughn

unread,
Jan 1, 2024, 9:03:12 AMJan 1
to i_...@googlegroups.com
here is a view of the synthedit sineCW guts  
sythneditsinecwelements.png

On Mon, Jan 1, 2024 at 7:26 AM df7t...@gmail.com <df7t...@gmail.com> wrote:

df7t...@gmail.com

unread,
Jan 1, 2024, 10:09:00 AMJan 1
to iCW - internet CW
Thank you very much for the source code sineCW_FINAL.se1 Chuck!

So far, I am able to open and change it in SynthEdit version 1.4.

I am sure it will be fun to get a VST(i) built, based on your work...

CU 73
Tom

df7t...@gmail.com

unread,
Jan 2, 2024, 3:44:56 PMJan 2
to iCW - internet CW
Hello Chuck and all,
just to give some feedback:

Carla Plugin Host 2.5.6 , 32bit has been installed on Windows 10 PC.

Your "sineCW_FINAL.se1" file for SynthEdit has been renamed to "sineCW22" and only a few GUI layout changes have been made in SynthEdit 32 bit Version 1.4.

Then the the SynthEdit file has been saved to sineCW.se1 and exported to sineCW22.dll

Then Carla has been set up to use this vst(i) in combination with reagate.

That's what's shown on the picture.

The output signal has been tested on the iCW Chicago server and I think it is very enjoyable.
The monitor tone has been found to be of such low latency,
that I had no problems to send up to 50 wpm with a dual-lever paddle.

Thank you for your support!
CU 73
Tom DF7TV



sinCW22-Carla2-5-6-Plugin-Host-32bit-Windows.jpg

aa0hw

unread,
Jan 3, 2024, 6:26:22 AMJan 3
to iCW - internet CW
Congrats !  Tom !
looks super sharp
happy to see you were able to get CARLA PLugin Host up and running too..
DSP load looks a bit high at 70 percent
what audio drivers were you using for Carla,  WASAPI EXCLUSIVE / shared,  ASIO  etc ?

df7t...@gmail.com

unread,
Jan 3, 2024, 11:06:06 AMJan 3
to iCW - internet CW
Hello Chuck,
Yes the DSP load looks very strange -- in fact the bar is "oscillating fast" between 0 and 100%.
I don't think that's a real value to be taken serious. Sometimes after a restart of Windows it will stay down (below 2%)
for quite a while. Regardless of this strange behaviour, there seem to be no consequences to the quality of the CW output signal.

This notebook is quite old (over 10 years) and has been updated/"improved" and a lot :)


The sound card here is the Behringer UCA222A with the Asio driver supplied by Behringer.

The attached  picture shows the sineCW22 in action during 15 minutes while replying to your post.
As you may see "DSP load 0%" while sending a constant row of DITs at about 58 wpm.



CU 73
TomsinCW22-Carla2-5-6-Plugin-Host-32bit-Windows-Behringer-UCA222.jpg

df7t...@gmail.com

unread,
Jan 3, 2024, 11:27:00 AMJan 3
to iCW - internet CW
...Just another remark about the extremely low latency, when listening to the monitor tone with headphones connected to the "Phones" jack at the UCA 202:

The Logikey K-5 provides an internal speaker making a pleasant monitor tone as well.

Even, if I listen to this internal speaker and the UCA202 at the same time -- it poses absolutely no problem -- they are "in sync" :)

But for sure I turn off the K-5 speaker to enjoy the sineCW's signal.

CU 73
Tom

df7t...@gmail.com

unread,
Jan 3, 2024, 8:46:05 PMJan 3
to iCW - internet CW
Update:

in the new sineCW23, the sliders for Pitch, Volume etc. have been changed to a different type.
As soon as the mouse pointer gets above a slider, its color changes from blue to black and
the value may be changed by the mouse's wheel.

A simple spectrum display (plugin of Carla) has been added in the lower part of the CPO.
This is handy to get some information about the center frequendy and spectrum of the signal or when optimizing 
parameters using the sliders/mouse wheel.

sineCW23.jpg
CU 73
Tom DF7TV

(If someone is interested in, I may make the SynthEdit (1.4) and Carla (3.5.7) files available for download.)

df7t...@gmail.com

unread,
Jan 3, 2024, 8:50:48 PMJan 3
to iCW - internet CW
...just to be correct: the spectrum display is a building block of SynthEdit -- not a plugin of Carla

CU

aa0hw

unread,
Jan 4, 2024, 6:49:11 AMJan 4
to iCW - internet CW
Looks super sharp, love the idea of having the SPEC AN viewing the waveform bandwidth and shape...
have you tested using a VST3  export or VST2 only so far ?  
32 bit and/or  64 bit ?   
i think in the VST world  vst2 plugins are outdated now, and support is emphasized for vst3
FROM STEINBERG:

VST 2 Discontinued

January 19, 2022

The discontinuation of VST 2 marks the final step in the transition process to VST 3. Focusing solely on VST 3 will increase the stability of our products and allow us to fully leverage the advantages of the VST 3 platform.

As it stands, Steinberg hosts continue to offer VST 2 compatibility. Users of Mac computers with Apple silicon can continue to use VST 2 plug-ins under Rosetta 2.

Moreover, within the next 24 months, Steinberg's host applications and plug-ins across macOS and Windows will offer VST 3 compatibility only.

To ensure that you are prepared for these eventualities, we recommend to check if any third-party VST 2 plug-ins are in use and, if so, to contact the corresponding plug-in developers for details on supporting VST 3.

https://helpcenter.steinberg.de/hc/en-us/articles/4409561018258-VST-2-Discontinued#:~:text=The%20discontinuation%20of%20VST%202,to%20offer%20VST%202%20compatibility.


Message has been deleted

df7t...@gmail.com

unread,
Jan 4, 2024, 10:40:35 AMJan 4
to iCW - internet CW
Only VST2 plugins tested so far.

But there is a version of SynthEdit (1.5 beta) which is exporting to VST3 plugins.
To my knownledge this version is not working stable already; but some guys already use / test it.

The only 64-bit thing, that I have tested, is to load sineCW23.dll (VST2) and reagate-standalone (VST2) into the 64 bit version of the VST host Carla 3.5.7 - that seems to work without issues.

The 32-bit sineCW23 files for SynthEdit 1.4 and Carla 3.5.7 and a picture showing the settings of reagate may be downloaded here (zip-file): sineCW23
from my page at QSL.net

CU 73
Tom



df7t...@gmail.com

unread,
Jan 4, 2024, 1:14:47 PMJan 4
to iCW - internet CW
64 bit:

I just loaded the SynthEdit 1.4 file for sineCW23 into the beta version of SynthEdit 1.5 and then exported it to sineCW24.VST3

The parameters for the export are shown in the picture.

Even so some graphic elements are shown slightly differently in the VST3 plugin, the first impression is that it works in Carla 2.5.7 64 bit.
When testing, I also used the 64 bit version of reagate plugin

CU 73
Tom
sine24CW-SynthEdit15beta-Exporting-VST3.jpg

df7t...@gmail.com

unread,
Jan 4, 2024, 1:57:20 PMJan 4
to iCW - internet CW
The files for sineCW24-64bit may be downloaded from my page at QSL.net : https://www.qsl.net/d/df7tv/download/cpo/vst/

I have removed the "Readout" field below the sliders. It seems, that one might manully enter values in these fields, which lead to unwanted effects.
The sliders instead have limited (valid) ranges.

CU 73
Tom

sineCW24.jpg

Chuck Vaughn

unread,
Jan 4, 2024, 2:09:42 PMJan 4
to i_...@googlegroups.com
your 64 bit vst3 looks sharp too...
congrats...
what were the unwanted effects you noticed when using the text entry below each slider ?

--

---
You received this message because you are subscribed to the Google Groups "iCW - internet CW" group.
To unsubscribe from this group and stop receiving emails from it, send an email to i_cw+uns...@googlegroups.com.

df7t...@gmail.com

unread,
Jan 4, 2024, 2:24:11 PMJan 4
to iCW - internet CW
In sine23CW, I may enter e.g. the value "50" into the Readout-field -- resulting in a "far away", at least not audible tone.
The sliders seem to be well limited (by you) to useful ranges.

Perhaps in some much later version...
One might have some Readouts which correspond e.g. to frequency/Hz for the pitch "ms" for the rise fall time etc..
And one might get input fields for manual entry which only allow for valid (senseful) values.

CU 73
Tom

S. Steltzer

unread,
Jan 4, 2024, 7:01:43 PMJan 4
to df7t...@gmail.com, 'joe living' via iCW - internet CW
Tom,

Not sure what development environment your using but in the ones I work with input boxes like that have a Boolean property named ReadOnly which defaults to false.  Setting that true would still allow the readout of the actual values which I think is rather necessary otherwise your shooting in the dark.

73!
Steve, WF3T

df7t...@gmail.com

unread,
Jan 4, 2024, 7:34:57 PMJan 4
to iCW - internet CW
Thanks Steve!


I liked Chuck's presentation of "sineCW" CPO in some of his videos and think it may become useful for CW learners and iCW users.


I am using SynthEdit 1.4 to build VSTs. In the program there are "modules" like sliders already available for insertion to the VST.

So far I did not find an option to avoid the possibility to manually insert values in the "Readout" of the sliders; something like "display-only / You are not allowed to write here".

But I have to admit, that I am doing this stuff since two days only and, for sure, there is a lot to learn :) --- I am still in the "deep dark"

At least today I managed to find a way to show real frequency values in Hz for the pitch of the oscillator :)


The next version of sineCW will have the slider "Readouts" again -- just knowing, that one should not enter some strange values manually.

73
Tom

df7t...@gmail.com

unread,
Jan 5, 2024, 11:39:40 PMJan 5
to iCW - internet CW
sineCW25:

Some changes took place.

The pitch frequency is now displayed in Hz (400 to 1000 Hz). 
This range is independent from the MIDI NOTE provided by the MIDI output of the reagate-standalone plugin.

The ranges of sliders were adjusted.
A rough approximation has been applied to the Rise and Fall time setting. The displayed values now give at least a coarse idea of the times in ms.
A value of "6" corresponds (more or less) to the often used value of 6 ms. The range is from about 3 ms to about 16 ms.

Details may be found in the SynthEdit 1.4  screen below the pictures from Carla 2.5.7 32 bit VST host. It shows all modules used in sineCW25
The MIDI NOTE information from the reagate plugin is not used -- only the "ON" "OFF" signal is jused to gate the ADSR2 module (see SynthEdit screen on the left side)
which influences the lengths of DIT/DAH elements.

It would be nice to make sineCW independent from the reagate plugin - - there are perhaps  modules in SynthEdit available 
to build a suitable gate and then to replace the "MIDI to CV" module by it (see SynthEdit screen on the left side).


The zip-file (including input files for SynthEdit, Carla, the VST2  sine25CW.dll and setttings for reagate)



CU 73
Tom DF7TV



sineCW25-Carla-2r5r7-32bit-VST-host.png


sineCW25-SynthEdit1r4.png

S. Steltzer

unread,
Jan 6, 2024, 1:16:46 AMJan 6
to df7t...@gmail.com, 'joe living' via iCW - internet CW
The proverbial 2 thumbs up Tom :-) Nice work.
73!
Steve, WF3T

df7t...@gmail.com

unread,
Jan 6, 2024, 2:37:45 AMJan 6
to iCW - internet CW
Thanks Steve!


Future ideas:

The "Readout" of the sliders is not shown and instead a "Voltmeter" display will be used. That avoids the possibility to enter values beyond senseful ranges.

The "Volume" level adjustment moves towards the output; some filters etc. dont like to be overdriven.

The displayed value of "Volume" is shown in some usual audio unit (dbfs or so)

Display of the Center Freq of the flter in Hz. Perhaps a bypass to switch the filter out of the chain.

I first thought it might be a good idea to have the filter "tracking" the pitch, but sometimes it sounds good to have it a few 10 Hz "off" :)
That seems to make the tone "brighter" or "darker". At present the band pass is two-stage; a switch to choose between one and two stages might be added.


..Well and perhaps the replacement of the (external) reagate plugin. But okay - this plugin free, available as VST2 for 32 bit and as VST3 for 64 bit -- so not really necessary to replace it.



73
Tom

df7t...@gmail.com

unread,
Jan 8, 2024, 12:31:27 AMJan 8
to iCW - internet CW
sineCW30 32bit VST2 plugin

Hello again,

First let's see how sine30CW looks like:

sineCW30-Skin-2024-01-08.png

The keyer has been in TUNE mode for this picture. The displayed value below the VU meter is its reading (db VU).

Here you see the plugin in Carla 32 bit VST host' Patchbay:

sineCW30-Patchbay-of-Carla-VST-Plugin-Host-2024-01-08.png


These are the settings of reagate-standalone:

sineCW30-setting-of-reagate-standalone-plugin-2024-01-08.png

And, finally, the info text ("About"), that you will see, if you click with the right mouse button on the Skin of the (active) sineCW30 plugin:

sineCW30-About-Info-text-2024-01-08.png




The name "sineCW30" for this plugin will stay, even if there will be future updates/revisions. 
An updated file sineCW30 will replace the former one and the revision date will be shown in the "About" text of the plugin.

Download folder:


Apart from the pictures shown in this post, the zip file sineCW30.zip
includes at present:

1.) sineCW30.se1, the input file for SynthEdit 1.4, 32 bit - SynthEdit can render a virtual sythesizer and export it to a VST file.

2.) sineCW30.carxp, my input file for Carla 2.5.7, 32 bit VST host.
You will have to adjust folder settings - or just draw the setup as shown in the above picture in Carla's patchbay.
You may use other VST host programs as well.

3.) sineCW30.dll, the VST2 32 bit plugin for the Code Practice Oscillator.

The reagate-standalone.dll VST2 32 bit plugin can be downloaded for free from the Reaper page of cockos Inc.
It'a a component of ReaPlugs.

Look for "Download ReaP,lugs VST v2.36 32-bit" at

                    https://www.reaper.fm/reaplugs/

After downloading / installing the package, you may delete all plugins,
except reagate-standalone.dll

Chuck - thank you so much for starting this project and for providing all the information, input file for SynthEdit of your previous versions and giving hints!
I saw one of nice your YouTube videos showing the sineCW CPO and I could not withstand to try it. It leads to very easy setups for CW training or Internet CW
and at the same time the sound is great.
 

CU 73
Tom DF7TV

df7t...@gmail.com

unread,
Jan 8, 2024, 12:42:08 AMJan 8
to iCW - internet CW
sineCW30 32bit VST2 plugin

Here you see what's "under the hood":

(SynthEdit 1.4, 32-bit modules)

sineCW30-Modules-in-SynthEdit-1r5-32bit-2024-01-08.png


CU 73
Tom DF7TV

aa0hw

unread,
Jan 8, 2024, 7:19:21 AMJan 8
to iCW - internet CW
FANTASTIC WORK Tom !!
congrats !

say,   was just wondering if you have made any progress trying to clone REAGATE with  Synthedit modules...
and add "it" before the sineCW  SE elements/modules   
REAGATE is such an excellent plugin, though...  but would still be fun to test to see if synthedit modules could perform the same
function and if so, then export both audio to midi GATE and MIDI CW KEYER, as a single plugin with both functions intact   etc...

CONGRATs again Tom on your fine work here on this project and progressing it to the next level of function
c
...

df7t...@gmail.com

unread,
Jan 8, 2024, 2:55:53 PMJan 8
to iCW - internet CW
Hello Chuck,

well I tried to build a gate with SynthEdit 1.4 modules.

It consisted of a cascade of modules: high pass, low pass, peak holder and a comparator to transform the inccomming (4 to 10kHz) square wave  CW signal to a proper "ON" "OFF" signal .

Perhaps a second peak holder, after the comparator, may lead to a proper signal -- did not try it so far.

I stopped my exeriments on that for now, but the idea to have "all in one" still attracts me :)

So - until now I have not been successful and you are right - reagate does a very good job.


73
Tom

df7t...@gmail.com

unread,
Jan 8, 2024, 3:20:57 PMJan 8
to iCW - internet CW
That's how one of the experiments for a gate looked like:

Experiment-to-replace-reagate-for-sineCW30.png

The main problem has been that the signal at the output of the comparator looks principally okay - but during a code element the expected HIGH level
shows short and sharp returns to the LOW level (related to the square  wave input frequency).


73
Tom

df7t...@gmail.com

unread,
Jan 8, 2024, 3:39:30 PMJan 8
to iCW - internet CW
Gate

Another idea I had in mind looks like this:

1. Detect the rising edge of the square wave input signal at the start of a code element
2. set the output to HIGH
3. As long as there is no pause of more than the period of the square wave signal (0.2 ms or so) at the input -> keep the output HIGH
4. As soon as such a pause appears -> set the output to LOW
5. Return to 1.

I did not try that so far.

73
Tom

Chuck Vaughn

unread,
Jan 9, 2024, 8:03:03 AMJan 9
to i_...@googlegroups.com
have you tried to use JACK AUDIO CONNECTION KIT  on windows 11 ?
mumble now has a working jack audio engine option for mumble input/output and Carla will use jack too on windows 11 
and after you install everything into carla,  between   REAGATE/SINEcw/mumble   you can wire it all up inside the carla
connection bay and it will save it all, apps & connections between them,  including mumble(i think)   might be worth a test...also to test latency...JACK AUDIO
would still use your behrenger asio driver (i think)   been a long time since i have used windows being linux only for over 10 yrs or more...

--

---
You received this message because you are subscribed to the Google Groups "iCW - internet CW" group.
To unsubscribe from this group and stop receiving emails from it, send an email to i_cw+uns...@googlegroups.com.

Chuck Vaughn

unread,
Jan 9, 2024, 9:24:31 AMJan 9
to i_...@googlegroups.com
i forgot to ask you to provide a chain-graph
from input of sound card to // DSP modules // to // mumble input // mumble output to sound card
since you are using ASIO driver from behringer... curious to see if you are engaging 
a virtual audio cable for the sineCW audio output to mumble input etc...

On Mon, Jan 8, 2024 at 2:39 PM df7t...@gmail.com <df7t...@gmail.com> wrote:
--

---
You received this message because you are subscribed to the Google Groups "iCW - internet CW" group.
To unsubscribe from this group and stop receiving emails from it, send an email to i_cw+uns...@googlegroups.com.

df7t...@gmail.com

unread,
Jan 9, 2024, 11:15:45 AMJan 9
to iCW - internet CW
Hello Chuck,

The software here is Windows 10, Mumble 1.5.517 (RC), Carla 2.5.6 32-bit, Behringer UCA222 - 32 bit ASIO driver (original).

From https://jackaudio.org/faq/jack_on_windows.html I see that Jackaudio is available for Windows -- so far I never used it on Windows.
But perhaps I will try it and give you some feedback. 

Latency is no problem with my present setup for iCW via Mumble.
The best proof has been that, when I had the monitor tone of the keyer on while I listened to the sineCW output on the headphones jack at the UCA222-- the tones
were in perfect synchronisaton -- I just remarked that there were two different pitches at the same time. :)

I  have Voicmeeter Potato and their Virtual Audio Cable installed, but do not use them at present.
I already used the Virtual Audio Cable for the output of Mumble, but at present (being lazy), I just use an USB headset with built-in soundcard for the output of Mumble.

Using the nice mixer features of Voicemeeter to get the local monitor tone and Mumble output to the same headphones introduces some latency, which I cant handle
when I send with a paddle. I think the situation is different, when a keyboard  is used for sending (thinking that some ms delay of the monitor tone then is less important when typing) , 
but I have no experience with keyboard sending.

At present I am modifying a little audio amplifier, which will be used to combine the monitor tone and Mumble output to the same headphones.