HOME BREWED SOFTWARE CODE PRACTICE OSCILLATOR VST VSTi PLUGIN

1,125 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.

BTW: I have changed the color of sineCW30 to "Heathkit"-green :) :)

CU 73
Tom

Chuck Vaughn

unread,
Jan 9, 2024, 1:04:30 PMJan 9
to i_...@googlegroups.com
Hi Tom
the Heathkit Green looks great...
ok on the voicemeeter APP...
is that how you pipe the output of sineCW vst into the MUMBLE input?
output of sineCW into VB-CABLE 1 input mixer to mumble input and and at the same time
output of sineCW into VB-CABLE 1 input mixer to VoiceMeeter hardware output 1(usb sound card)  ?
c
...

df7t...@gmail.com

unread,
Jan 9, 2024, 10:18:23 PMJan 9
to iCW - internet CW
sineCW30

Well .... "Heathkit is back" :)

sineCW30.png


New:

Center frequency of Band Pass now shown in Hz below the slider

Center frequency of BP may be set independantly (select "Tune")   of follow (select  "Track")  the oscillator's Pitch.




Chuck: The square wave CW signal is at the input of the Behringer UCA222 soundcard, the output of UCA222 is connected to the input of an old Soundblaster USB soundcard. Carla uses the UCA222 as "Engine" / sound device. 
In Mumble: INPUT: Line in Creative SB, OUTPUT: USB headphones with built-in soundcard. 

So, at present I do not listen to the fancy sound of sineCW30 when sending, but to the (not so bad) speaker of my LogiKey K-5 keyer.
A hardware "audio combiner" (modified amplifier) for headphones is a work in (slow) progress. Then finally I will hear both signals over the same headphones.

At present I do not use the internal sound card of the notebook and no virtual audio cable or Voicmeeter Potato .


73
Tom

df7t...@gmail.com

unread,
Jan 10, 2024, 7:36:51 PMJan 10
to iCW - internet CW
sineCW30

Added a selctor: Band Pass "ON", "OFF"
Adeed a selector: Fall (time) "TRACK", "SET"; when "TRACK" is active, the Fall time will follow the Rise time (be the same as)

Default selections are:
BAND PASS: "ON", "TRACK"
FALL: "TRACK"


73
Tom




sineCW30.pngTom

df7t...@gmail.com

unread,
Jan 11, 2024, 9:49:33 AMJan 11
to iCW - internet CW
For sure -- it's a CODE PRACTICE OSCILLATOR -- no CODE SIGNAL GENERATOR :)

Sometimes strange things happen. When I thought about using only capital letters, I had a look to the hp8640 (a real SIGNAL GENERATOR)

Well I saw they wrote everything in capital letters ...and somehow I just unintentionally took their name for the equipment :)

It is corrected in the latest version of today.

73
Tom

Chuck Vaughn

unread,
Jan 11, 2024, 10:34:51 AMJan 11
to i_...@googlegroups.com
Nice Work on that tracking bandpass filter !
you are becoming a synthedit MASTER LEVEL PLUGIN developer !
hope you can(will) make a demo video of your new plugin,  once you have reached your final goal and are ready to display a LIVE DEMO of it !

C
...

df7t...@gmail.com

unread,
Jan 11, 2024, 11:28:28 AMJan 11
to iCW - internet CW
...well normally I set the filter to the pitch (...and I saw you doing that in your videos as well)

So -- made it just to save some time for us all.

Sorry, I can't make videos -- you are the iCW YouTube hero :)

And I am far away from being a SynthEdit master...there is a groups.io for SynthEdit, where you may find real masters.

There are also lots of "libraries" made by users. Recently I saw a "Hann window" (the correct name for "Hanning" window)
mentioned --- sure, like the "raised cosine" that would be some nice addition.
Real C++ programmers will say, that the code produced by SynthEdit is not very efficient ( and they are right), but I think for our purposes, so far,
it works very nice.
All in all, it is fun using SynthEdit and the learning curve is steep.

CU 73
Tom

df7t...@gmail.com

unread,
Jan 11, 2024, 7:57:22 PMJan 11
to iCW - internet CW
sineCW30

The zip-file for sineCW30 at


at present,  is updated often -- if you downloaded the file, please report to this list, if it works (or what does not work).


MNI TNX!

73
Tom DF7TV

df7t...@gmail.com

unread,
Jan 11, 2024, 8:15:27 PMJan 11
to iCW - internet CW
...I am interested in getting the README.TXT file included in the zip-archive to be as helpfull as possible.

73
Tom

df7t...@gmail.com

unread,
Jan 11, 2024, 8:36:30 PMJan 11
to iCW - internet CW
...if you succesfully installed the present version of sineCW30
it should look like this for the "TUNE" mode (carrier)
Please click the right mouse button being over the plugin display /skin to see the revision date in "ABOUT" and report it as well.

At present it is:
"Revised January 11, 2024"

sineCW30.png


TNX
73
Tom

df7t...@gmail.com

unread,
Jan 12, 2024, 2:04:10 PMJan 12
to iCW - internet CW
sineCW30

....getting a bit closer to the "Heathkit-Style" (white on green text only)

Here is a view in SynthEdit of today

sineCW30-SynthEdit.png


The upload of this revision to ftp.qsl.net will be done later

CU 73
Tom

df7t...@gmail.com

unread,
Jan 12, 2024, 11:10:50 PMJan 12
to iCW - internet CW
sineCW30

The sineCW30.zip revision of January 13, 2024 is available at:

Download folder:


Please read the Readme.txt of the archive -- it should help to get sineCW30 going (...well I hope so)

73
Tom DF7TV

df7t...@gmail.com

unread,
Jan 13, 2024, 3:58:33 PMJan 13
to iCW - internet CW
sineCW30

The plugin works within Cantabile Lite host. Just tested that and I like this host.

sineCW30-Cantabile-Lite-x86-V4.png

73
Tom

df7t...@gmail.com

unread,
Jan 13, 2024, 7:21:37 PMJan 13
to iCW - internet CW
sineCW30

Here I added LoudMax to the end of the chain in Cantabile Lite.

Set to -12 dB for OUT (I think that's a good level for Mumble input), it will keep that value over a large range of the output signal  (tested from -25 dB VU to 0 dB VU) of sineCW30.
So - no testing necessary before having a QSO over Mumble.

73
Tom


LoudMax.png

df7t...@gmail.com

unread,
Jan 16, 2024, 12:00:22 AMJan 16
to iCW - internet CW
sineCW30

Measured Rise and Fall times [ms] are now (nearly) exact to  the values shown below the according sliders of sineCW30.


The revision may be downloaded from

Download folder:
Please read the Readme.txt of the archive.


73
Tom

Audacity recordings are shown for the Rise and Fall sliders set to 2, 6 and 10 ms.
These are 30 wpm DITs with the Band Pass filter "OFF"
Pitch: 700 Hz, Envelope: Exponential

BP-OFF-2ms.png
BP-OFF-6ms.png
BP-OFF-10ms.png

Chuck Vaughn

unread,
Jan 16, 2024, 6:07:29 AMJan 16
to i_...@googlegroups.com
was it a synthedit new math formula calculation in one of the modules that gave you more precision on /R \F times  ?


df7t...@gmail.com

unread,
Jan 16, 2024, 12:54:13 PMJan 16
to iCW - internet CW
sineCW30
   The new Rise / Fall time calculation

Hi Chuck,

I'll talk only about the Rise time, because calculation of the Fall time is done exactly in the same way.



Let's have a look at the SynthEdit circuit of the present version:

Rise-Fall-present.png

From left to right:

The value range of the Rise slider is 2 to 10.
The Divde module divides by 4

Let's call the value after the division X

Here is addionally an enlarged view of the "Waveshaper3" module's conversion curve:

Waveshaper3-present.png


In coarse: the x-value correspond to the slider value;  the y-value to the voltage necessary at the
Attack pin of the module Waveshaper3.

This logarithmic dependency stems from how the ADSR2 module adds "Attack" time.
From the Help of SynthEdit for that module, you see that:

                                           seconds = 10^(0.4 volts - 3)

where seconds means the Attack time, volts the voltage at the Attack pin.

After a bit of rearrangement, I got to:

                                        volts = 2.5 * log10 (mseconds), for mseconds >= 1

...so we now have the dependency of the voltage at the Attack pin from the Attack ( Rise) time
in milli-seconds. That's the basis for the Waveshaper3 conversion curve / Look-up table.

That's what's behind the new version.

BTW: You may extend the range of the Rise / Fall sliders in SynthEdit to Low:1, High: 20 - corresponding
          to a maximum Rise time of  20ms. Thats the maximum range I prepared.

I just limited it to the range 2ms to 10ms in this version.

(You may see the "nodes" or X/Y pairs defining the conversion curve in SynthEdit when clicking on the Waveshaper3 module and
then clicking on "Details" in the right panel describing the definition of the module. They are at present:
"(0.000,0.000)(0.500,0.753)(1.000,1.505)(1.500,1.945)(2.000,2.258)(2.500,2.500)(3.000,2.698)(3.500,2.865)(4.000,3.010)(4.500,3.138)(5.000,3.253)")


73
Tom

df7t...@gmail.com

unread,
Jan 16, 2024, 6:54:51 PMJan 16
to iCW - internet CW
sineCW30
  Rise / Fall time calculation

ALTERNATIVE

Here is an alternative (draft) to do the conversion from Rise time [ms] to Votage [V] at the Attack pin of ADSR2:

unit-converter.png

So - no "number crunching" by "Waveshaper3" necessary.

The standard module "Unit Converter" in mode "kHz to octave" already provides a
logarithmic function which can be easily applied to get:
 
volts = 2.5 * log10 (mseconds), for mseconds >= 1



73
Tom

df7t...@gmail.com

unread,
Jan 16, 2024, 7:22:41 PMJan 16
to iCW - internet CW
sineCW30
  Rise / Fall time calculation

BEST (?) ALTERNATIVE

Here is an alternative (draft) to do the conversion from Rise time [ms] to Votage [V] at the Attack pin of ADSR2:

float-function.png

The standard module "Float Function" , found under "Conversion" allows a lot of mathematical functions, including log10.

So I could directly enter B = 2.5 * log10(A)

So that's perhaps the most elegant way to go in the next revision.

73
Tom

df7t...@gmail.com

unread,
Jan 20, 2024, 3:41:20 AMJan 20
to iCW - internet CW
sineCW30

Changes: The original "Q" slider for the band pass filter has been replaced by a "3dB-BW [%]" slider.
A suitable setting is 70% (of the center frequency). It may be set from 40% to 90%.


Download folder:
Please read the Readme.txt of the archive.

73
Tom


sineCW30-Patchbay-of-Cantabile-VST-Plugin-Host.png

Chuck Vaughn

unread,
Jan 20, 2024, 6:18:31 AMJan 20
to i_...@googlegroups.com
excellent choice for a more understandable "q" BP filter factor
- congrats again on your most excellent progress !

df7t...@gmail.com

unread,
Jan 20, 2024, 6:25:11 AMJan 20
to iCW - internet CW
Thank you Chuck!

df7t...@gmail.com

unread,
Jan 23, 2024, 2:19:23 AMJan 23
to iCW - internet CW
sine30CW

Draft of a possible replacement for reagate-standalone gate (Reaplugs) by standard modules of SynthEdit 1.4


Hello,

It's very fresh, but so far the first results look promissing...

DF7TV-sineCW30-replace-reagate-standalone-by-SynthEdit-standard-modules.png

For the test I used a keyed square wave input signal of 2 Vpp at 4 kHz at "Line-In" of the VST host's sound card (Behringer UCA222)

It should work fine for 4 kHz to 10 kHz.

The High Pass filter just takes away the DC part of the input signal.

The combination of the comparator, two monostables and an OR gate is a kind of "Is the key closed ?" detector :)

Let's see if it works reliably and it will be in the next revision to avoid the reagate-standalone gate.

73
Tom

df7t...@gmail.com

unread,
Jan 23, 2024, 6:35:27 AMJan 23
to iCW - internet CW
sineCW30

Changes:
The revised version of sineCW30 now is based only on standard modules provided by SynthEdit 1.4
MIDI events are no longer used.
ReaPlugs' "reagate-standalone" plugin is no longer required for the CPO.


The revision may be downloaded from

Download folder:
Please read the Readme.txt of the archive.

73
Tom

Shown is the new path from INPUT to the Gate of ADSR2:

DF7TV-sineCW30-SynthEdit-standard-modules-only.png


The revised Code Practice Oscillator running in Cantabile Lite Host:

sineCW30-Patchbay-of-Cantabile-VST-Plugin-Host.png    

df7t...@gmail.com

unread,
Jan 23, 2024, 8:52:27 AMJan 23
to iCW - internet CW
sineCW30

SAVIHost

Build a stand-alone application (.exe), without the need to install a "big" VST Host.


Just done that according to Hermann Seib's web page


(for the 32-bit version without keyboard); tried it and it works fine.

Exactly as he tells...


" SAVIHost is a little derivate of VSTHost that has been crafted for the sole purpose of automatically loading exactly one VSTi. To do so, savihost.exe has to be copied or renamed to the name of the PlugIn's DLL. If, for example, the PlugIn is called blabla.dll, savihost.exe has to be renamed to blabla.exe. 

I just had to configure the sound card under "Devices"

Then I copied sineCW30.exe plus (from the VST2-folder)  sineCW30.dll AND the folder sineCW30 to a new folder .. et voilà "Ça marche!"

The .exe includes a wav-recorder and other features that have not explored so far.

>>>>>>>>>>>>>>>>>>         ...So no more excuses to not try sineCW30 :)

 Just 4 MB needed and a single click on sineCW30.exe  -- that's it !!!


It would be even better if the "exe" could be run with Wine under Linux, but I don't know if it will.

73
Tom

A folder with "All you need" and sineCW30 running happily:

sineCW30-SAVIHost-exe.png 

aa0hw

unread,
Jan 25, 2024, 6:51:01 AMJan 25
to iCW - internet CW
amazing progress you are making !
looks SUPER SHARP Tom...

your adventure developing this project would make for a GREAT article or podcast episode 
c
...

df7t...@gmail.com

unread,
Jan 26, 2024, 6:48:53 AMJan 26
to iCW - internet CW
Hi Chuck,

Thank you for your friendly comment!

I would be more than happy, if you could present the "sineCW30" flavour of one of  your original sineCW designs in one of your nice YouTube videos.

If you need any additional information from my side - please don't hesitate to ask me.


CU 73
Tom DF7TV
Message has been deleted

df7t...@gmail.com

unread,
Jan 29, 2024, 3:05:58 PMJan 29
to iCW - internet CW
sineCW30

Changes:
Circuit diagram in SynthEdit redrawn for better "readability"
Removal of some of the "unit converters" - they were not necessary

Download folder:
Please read the Readme.txt of the archive.

73
Tom DF7TV
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

df7t...@gmail.com

unread,
Feb 13, 2024, 11:58:11 AMFeb 13
to iCW - internet CW
sineCW30

Changes:
Minor changes to the input circuit in SynthEdit (Monostable modules)
Should avoid rare and very short drop-outs of  the gate signal at the ADSR2 module, which have been remarked in the previous revision

   Please read the Readme.txt of the archive.

CU 73
Tom DF7TV


On Friday 2 February 2024 at 10:11:08 UTC+1 df7t...@gmail.com wrote:
sineCW30

Keyed Square Wave Oscillator for sineCW30

This is a draft of a circuit, that users of a mechanical key or of an electronic keyer (paddle, keyboard)
may use as an input source to the soundcard of the VST host (hosting sineCW30).

It is rather unusual to key the RESET pin of a chip (Pin 4 of LMC555), but I did not want to key the supply voltage (V_CC) or the output of
the CMOS Timer "555" and think it is an "elegant" solution. Keep C3 close to pin 8 and C2 close to pin 5 of the "555".


There have been no recent changes to the VSTi plugin sineCW30 at

    Please read the Readme.txt of the archive.

I like to use the "standalone" version of sineCW30 built with SAVIHost, as shown in a previous message to this list.


Your feedback is always welcome!
CU 73
Tom DF7TV


Keyed Square Wave Oscillator for sineCW30 (Draft):


DF7TV-Keyed-Square-Wave-Oscillator-for-sineCW30.png

df7t...@gmail.com

unread,
Feb 15, 2024, 12:36:23 PMFeb 15
to iCW - internet CW
sineCW30

Just for your information.
That's how the present revision of sineCW30 (February 13, 2024) looks like in SynthEdit 1.4:

 
sineCW30-SynthEdit-Revision-FEB-13-2024.jpglooks like in

The main path from INPUT to OUTPUT is shown within the dashed red rectangle.

CU 73
Tom DF7TV
Message has been deleted
Message has been deleted

Chuck Vaughn

unread,
Aug 5, 2024, 10:55:02 AMAug 5
to i_...@googlegroups.com
I think it would be beneficial to create a VST3_64bit plugin
the VST3_64bit format,  seems to be where everything is going; while vst2 and anything 32 bit/plugin is closing down...

and if your 64 bit vst3 plugin is converted using your official paid for synthedit 1.5 version, the plugins should be able to be used by others
without any bugs in loading them ...

thanks again for your hard work in furthering/producing/creating this CW plugin
chuck
...



On Sat, Aug 3, 2024 at 2:20 PM df7t...@gmail.com <df7t...@gmail.com> wrote:

Interest in sineCW30-64bit-VST3 plugin?

Hello,
recently Synthedit 1.5 has been set to be no longer in "Beta" status. Using this release 64bit-VST3 plugins may be built.


Synthedit 1.4, the version that I used to build sineCW30 (32bit-VST2) seems, at least at present, no longer to be available for download.

So it may be the right time to do some updating towards a 64bit-VST3 plugin of sineCW30 using Synthedit 1.5.


I personally may live very well with the present 32bit-VST2 plugin.

...But if there is some interest -- at least one ham, who would like to test and use the new plugin -- I  would be willing to build a replacement plugin as 64bit-VST3 using Syntedit 1.5.

In that case I would also simplify the GUI a bit -- there seems to be no need for other WAVEFORMS than sine, there seems to be no need for other settings of the bandpass filter width than 70% and the center frequency tracking the oscillator frequency.
And the only envelopes, which make sense, at present, seem to be EXPONENTIAL and LINEAR..

Please submit your feedback to this list or directly to my email-address.

CU 73
Tom

df7t...@gmail.com

unread,
Aug 5, 2024, 2:45:22 PMAug 5
to iCW - internet CW
OK Chuck,

...well Jeff (author of Synthedit) restored the 1.4 version for download -after some recent complaints on the Synthedit groups.io list :)


------------------------------
"

I restored the changelog for SynthEdit version 1.4

 

Jeff

 

Hide quoted text
From: synt...@groups.io <synt...@groups.io> On Behalf Of elena - alt address
Sent: Saturday, August 3, 2024 6:02 AM
To: synt...@groups.io
Subject: Re: [synthedit] to Jeff : the older versions page does not exist anymore

 

Indeed, as my screenshot says.

Jeff, please restore the Old download page and also restore the 1.4 changelog if you can.

Ps. To possible Trolls: if you are annoyed by my comments simply be polite and move on


"


------------------------------




Well -- I will see what I may do for a 64bit-VST3 version.


CU 73
Tom

df7t...@gmail.com

unread,
Aug 6, 2024, 3:41:23 PMAug 6
to iCW - internet CW
sineCW60

sineCW60 is a version of sineCW30; but it has been reduced to the essentials.
(Rise Time = Fall Time, Envelope = Exponential, Waveform = Sine, Band filter center frequency tracks pitch of Oscillator and has a band width of about 70%.)

It is a VST3-64 plugin, that has been built by Synthedit 1.5

It has been successfully tested within the VST Host "Element" free Version 0.46.6.

Latency seems to very low (as with the sineCW30 plugin) -- meaning I had no problem in 
using a dual-lever paddle at about 50 wpm while listening to the monitor tone of sineCW60.


sineCW60rc-VST3-Synthedit-preview.png

sineCW60rc-VST3-in-HOST-Element.png


Output files of Synthedit 1.5 (including files for MAC-OS)  may be (only temporarily) downloaded from:



                                         https://www.qsl.net/df7tv/download/cpo/vst/preview-of-vst3/


At present, I do not intend to further develop or to add additional features to the VST3-64 bit plugin sineCW60, but it's good to know, that a VST3, based on standard modules of Synthedit would work.


CU 73
Tom DF7TV
Message has been deleted

df7t...@gmail.com

unread,
Aug 15, 2024, 11:23:56 PMAug 15
to iCW - internet CW
sineCW60

Moved the sineCW60 archive to


73
Tom DF7TV

df7t...@gmail.com

unread,
Aug 19, 2024, 6:33:16 PMAug 19
to iCW - internet CW
sineCW60
 
- Added a VU Meter and a Volt Meter showing the output level in dB VU

- Added "KEYED TIME" selection.
 The keyed time may either be maintained from the input signal and the monitor tone will be delayed by the FALL TIME setting --
  OR 
  The keyed time equals the keyed time of the input signal PLUS the FALL TIME setting, and thus reduces the "SILENCE TIME" between code elements.
  The monitor tone starts instantly in this case.

Listening to the attached 60 wpm recording, I find the first option easier to copy.

The second option sounds more pleasing and I think it is okay at low speeds.

If the KEYED TIME of the input signal is "normal"/"standard" (e.g. DIT = 20ms, DAH = 60ms at 60 wpm), the first option will maintain this normal timing.
The second option will reduce the SILENCE TIME by the FALL TIME setting and extend the KEYED TIME by the FALL TIME setting.

Neither the first, nor the second option change the speed of code.

Attached is a recording of the quick brown fox (on holidays in Paris, this time) part 1: first option, part 2: second option.

Changes to sineCW60 are shown in the attached pictures.
SynthEdit__Circuit-for-KEYED-TIME-Selection.png
HOST-Element0466__VST3-PLUGIN-sineCW60.png
The-quick-brown-fox-in-Paris-60-WPM-KEYED-TIME-without-and-with-FALL-time.mp3

df7t...@gmail.com

unread,
Aug 21, 2024, 2:04:23 PMAug 21
to iCW - internet CW
sineCW60

- An intermediate selection for the KEYED TIME has been added.


Its bahaviour is just in the middle of the privious two possible selections.

The recording contains about 10 seconds of DITs at about 60 wpm for each of the, now available, three selections from top to down.

73
Tom DF7TV


sineCW60-VST3-plugin.png
sineCW60-DITs-60wpm-KEYED-TIME-SELECTION__MAINTAIN__HALF-FALL-TIME__FULL-FALL-TIME.mp3

df7t...@gmail.com

unread,
Aug 23, 2024, 1:42:36 PMAug 23
to iCW - internet CW
sineCW60

- "Input KEYED TIME" detector replaced

Having a close view to the DITs of the recording in my last message, I remarked that there are differences in the KEYED TIME at the output of sinceCW60 of up to 3ms. The same would be true for DAHs.

These varations are due to the way the KEYED TIME of the input signal has been detected so far. The input signal itself is "normal" timed and "exact".

Here is how the detector looked so far:

Input-KEYED-TIME-Detector-OLD.png


And here is the new version:

Input-KEYED-TIME-Detector-NEW.pngif

The principle idea behind the new circuit is the same as with the old circuit:

1.) Trigger a pulse with the first rising edge of the square wave signal at the begin of a code element (MS2)
2.) Delay the first rising edge of the square wave signal at the begin of a code element by D1 (delay line) and trigger a pulse (MS1) at the end of the delay
3.) "OR" both pulses to to get a representation of the KEYED TIME at the input
4.) The "MonoStable" modules are retriggered, if a rising edge is present at their  "Signal In" pin, but only after the end of their output pulse (after 400 us)

In the new circuit, the relevant times, 200 us and 400 us, have been chosen shorter than those in the old circuit (1 ms and 2 ms).
(It looks like the standard module MonoStable of SynthEdit 1.5 can't handle pulse lengths below 400 us.)

So far, using the new circuit, and comparing the KEYED TIME of lots of output DITs in a row, differences were less than 1 ms.

I attach a picture of the complete structure (circuit) of sineCW60. It also shows the recently added "KEYED TIME" selector.

sineCW60 may be downloaded at:
AA0HW-DF7TV-sineCW60-structure-SynthEdit-1_5.jpg

df7t...@gmail.com

unread,
Sep 5, 2024, 12:40:43 PMSep 5
to iCW - internet CW
sineCW60

The output amplifier section has been changed.
VCA2 is now using a Linear response (has been "Decibel" so far)

"Log" behavior of the VOLUME slider is achieved via a float function between the slider and VCA2 Volume input.
With VOLUME set to 0, the output now is really silent (~ -140 db VU), set to 10 the output signal is 0 dB VU, the maximum.
With VOLUME set between 2.5 and 8.5, output level is -20 to -3 dB VU, which is the only interesting range.

There is a nice message of member "loudnoises" at Stack Exchange providing the formulas needed:




stack-Exchange-message-picture-of-loudnoises-on-audio-pots.png

(At present, I have chosen y_m = 0.25 for the VOLUME slider).


--
sineCW60 can be downloaded at:


73
Tom
AA0HW-DF7TV-sineCW60-VST3-plugin-structure.png

df7t...@gmail.com

unread,
Sep 5, 2024, 6:07:31 PMSep 5
to iCW - internet CW
sineCW60

Output stage further simplified -- replacement of VCA Amp2 by a simple multiplier...
(sometimes it is not so good to only think in "circuits" and to forget that simple math in programs may
do things in an easier manner)



sineCW60-new-output-stage.png

I, finally :) , also found the reason why I needed the (strange) factor C1 in the float function F2, used to get
the "log-ish" behavior of the VOLUME slider. 

The output of the bandpass filter BP1 shows a level of -8.28 dB VU
 --> so to get to the wanted maximum level of  0 dB VU, a gain factor of 10^(8.28/20) = C1 is needed. The rest of F2 has been found according to the formulas in the last message (for y_m = 0.25)

Before I may perhaps upload a revised version, I will do some testing next weekend.

73
Tom

df7t...@gmail.com

unread,
Sep 6, 2024, 10:32:23 AMSep 6
to iCW - internet CW
sineCW60

USB-stick installation using the light weight free host "DAM host" by Davidson.

downloaded from DAM's official page:
  

After installing the host on "C:", I just copied the installed .exe from the "C:" program folder into a folder
"DAM-host" on the USB-stick.
Then I deinstalled DAM host from "C:" and removed any residues of it from there.

Finally I copied the sineCW60.vst3 folder to the USB-stick, started DAM host there and scanned for new plugins.

The DAM host .exe file has a size of only about 7 MB.
sineCW60 works as expected from the stick.

73
Tom


Test-DAM-host-USB-Stick.gif


...



df7t...@gmail.com

unread,
Sep 6, 2024, 4:28:42 PMSep 6
to iCW - internet CW
sineCW60

Instead of a manual, here is another GIF of sineCW60, showing the ranges of the sliders.

Hint: If you press the CTRL key, when rotating the mouse wheel (cursor being over the slider),
position will change in steps of 1/100 of full range; pressing the ALT key, changes will be in steps
of 1/10. You may also click on the bar of the slider and move the mouse cursor up/down, or just entry a numerical value via the keybord, after clicking the readout display of a slider.

For your information, I just insert a short description of sineCW60 from my homepage at QSL.net

"The regenerative Code Practice Oscillator sineCW60 provides a configurable, high-quality, Morse Code monitor tone.

Chuck, AA0HW, started the "sineCW" project in 2014 and is the main contributor. He provides several versions of "sineCW..." as a VSTi (Virtual Instrument) plugin. The plugin is made by first configuring several standard modules (oscillator, filter, controls etc.) in the program SynthEdit by Jeff McClintock and then exporting the circuit as a plugin. The plugin can be applied in a VST (Virtual Studio Technology) host.

sineCW60 is a 64-bit (VST3) plugin, based on one of Chuck's designs. In 2024, numerous modifications and additions have been made. The plugin has been applied in setups for Internet-CW (iCW) using Mumble and Sonobus, and when training sending Morse Code (to have a pleasing sound). To create a monitor tone at the output of the VST host's sound card, feed a keyed square wave signal (frequency about 4 kHz to 10 kHz, level about 2 V peak-to-peak) to its "Line-In" input."

sineCW60, Version 1.3, has been published today for download at:


The zip archive sineCW60.zip includes the folder sineCW60.vst3, where you find all files, you will need when to run the plugin in a VST host.
For the case, that you want to contribute to the project, or just modify the plugin to your needs, the archive also includes the SynthEdit 1.5 project file (structure/circuit) and skin file (interface), which you may modify in SynthEdit 1.5.
The archive also includes high-resolution pictures of the interface and of the structure (circuit).

Have fun!
73
Tom DF7TV


AA0HW-DF7TV-sineCW60-VST3-plugin-interface.gif

df7t...@gmail.com

unread,
Sep 12, 2024, 11:28:22 PMSep 12
to iCW - internet CW
sineCW60

Added: Selector for three different envelopes.

The "SINE" shape is made from 0° to 90° of the sine function.
The (raised) "COSINE" shape is made from 180° to 360° of the cosine function.


sineCW60-select-envelope.png


sineCW60-envelope-select-structure-changes.png

sineCW60-envelopes.png


73
Tom

df7t...@gmail.com

unread,
Sep 13, 2024, 5:33:43 PMSep 13
to iCW - internet CW
sineCW60

Added 4-Term Blackmann-Harris "4-TERM BH" shape

4-Term BH-shape.png

Compared to raised cosine, it has a slower start (at half of the rise time, the output amplitude is only at about 20% - in contrast to the raised cosine, which already is at 50%)

It sounds a bit more accentuated than the raised cosine - that may be advantageous at very high speeds.

73
Tom

df7t...@gmail.com

unread,
Sep 14, 2024, 1:26:53 AMSep 14
to iCW - internet CW
sineCW60

Added SIGMOID-4 shape (a "logistic" function, S-shape)

Finally, I have added a logistic function and removed the LINEAR shape.

SIGMOID-VS-BH.png

Its tranfer curve is shown in the upper image, the lower shows the Blackmann-Harris again.

The SIGMOID-4 is even more "punchy" than the BH. 
Compared to the BH, it has extended flat parts at the start AND at the end of the rise time.

The suffix "-4" is related to the factor k = 4 (-> steepness), that I have chosen in the function

   y = 1/(1+(1/x-1)^k), for 0 <= x <= 1

describing the shape shown.

 
73
Tom

df7t...@gmail.com

unread,
Sep 14, 2024, 2:38:45 AMSep 14
to iCW - internet CW
sineCW60

Audio recording of the three different shape-settings:

The attached mp3-file is a recording of "The quick brown fox..."
at 40, 50, 60 and 70 wpm.

For each shape, recording is done at  all four speeds in a row.
 
It starts with a recording for the shape RAISED COSINE, then after 10s silence 4-term BH and, finally, after another 10s silence, SIGMOID-4.

Pitch is 700 Hz, Rise & Fall time is set to 4 ms.

Enjoy!
73
Tom
sineCW60_SHAPES-RAISED-COSINE_4-TERM-BH_and_SIGMOID-4.mp3

S. Steltzer

unread,
Sep 14, 2024, 8:10:29 AMSep 14
to 'joe living' via iCW - internet CW
Good morning!

Good work Tom.  I would suggest changing the rise time to 6ms instead of 4.  They all sounded a little "thumpy" to me.

73!
Steve, WF3T

df7t...@gmail.com

unread,
Sep 14, 2024, 11:11:40 AMSep 14
to iCW - internet CW
Thank you for your feedback Steve!

I will work on "softening".

73
Tom

df7t...@gmail.com

unread,
Sep 14, 2024, 9:06:49 PMSep 14
to iCW - internet CW
sineCW60 (TESTING version, not published)

Audio recording of the jumping fox at 60 wpm and Rise & Fall time set to 6 ms.

The animated gif shows the sequence of the different shapes chosen in the attached mp3 file.

The mp3 file and gif are not synchronized :)

It starts with the LINEAR shape and ends with the SIGMOD shape.

Even at a Rise & Fall time of 6 ms, I had to tame the Blackmann-Harris from 4-term to 3-term and the steepness of the SIGMOID shape (k = 2 now, instead of 4 in previous recording) 
to achieve a more pleasant sound.

Enjoy!
73
Tom

sineCW60shape.gif
sineCW60-shapes-60wpm-6ms.mp3

S. Steltzer

unread,
Sep 15, 2024, 5:08:30 AMSep 15
to df7t...@gmail.com, 'joe living' via iCW - internet CW
Yes, I think they all sound better now. Again, good work Tom.

73!
Steve

df7t...@gmail.com

unread,
Sep 15, 2024, 9:40:20 AMSep 15
to iCW - internet CW
Thanks again Steve!

It's always helpful to get a second opinion.
Myself, listening 100+ times to different settings in sineCW60, have been a bit lost in sound's heaven.

Have a nice Sunday!
CU 73
Tom
Message has been deleted

df7t...@gmail.com

unread,
Sep 15, 2024, 1:44:58 PMSep 15
to iCW - internet CW
sineCW60

sineCW60, Version 3.14, September 15, 2024 has been uploaded to



Here are some images showing the interface, structure and available shapes.

A recording of the output signal for the RAISED COSINE shape at different speeds is attached.


DAM-Host is a minimal (VST3) plug-in host application supporting PC Windows 7 OS or higher.


It makes using sineCW60 easy (see the wiring in the first image)

73
Tom


AA0HW-DF7TV-sineCW60-VST3-plugin-interface.png



AA0HW-DF7TV-sineCW60-VST3-plugin-structure.png



sineCW60-shapes.png
AA0HW-DF7TV-sineCW60-VST3-plugin-audio.mp3

df7t...@gmail.com

unread,
Sep 18, 2024, 5:24:41 PMSep 18
to iCW - internet CW
sineCW60

Because the simple LINEAR shape sounds so good, I have added mean value-shapes between LINEAR and RAISED COSINE / SIGMOID:

sound-of-shapes.png

Updated recordings from 15 to 60 wpm are available at:


73
Tom

df7t...@gmail.com

unread,
Sep 21, 2024, 7:35:47 AMSep 21
to iCW - internet CW
sineCW60

Shapes

Here is a plot of the different shapes available in sineCW60:

sineCW60-shapes.png

Despite its simplicity, LINEAR sounds good at low speeds (high rise/fall times possible).

At higher speeds (lower rise/fall times possible), RAISED COSINE is my favorite.

At extremely high speeds, perhaps,  one might give a chance to BLACKMANN-HARRIS and to SIGMOID (LOGISTIC).

All shapes, except LINEAR, show a steepness of 0 at x = 0 and at x = 1. Cosequently there is a smooth transition from volume = 0% to
the start of a code element and from the end of the rise time to volume = 100%.

73
Tom


On Sunday 15 September 2024 at 15:40:20 UTC+2 df7t...@gmail.com wrote:
It is loading more messages.
0 new messages