MIDI KEYED - MORSE CODE SINE WAVE OSCILLATOR - with free software

This is an experiment in using free VST PLUGINS to create a MIDI KEYED morse code sine wave oscillator(software). It is "keyed" by MIDI INPUT. You can also use this midi setup to regenerate morse code audio tones from another source. FLdigi is used in the video for this purpose. Using MIDI to key a software CPO, shows great promise, since the accuracy of midi input keying is far superior to using a SERIAL PORT for this kind of a setup, in regards to accurate timing. Even at extreme QRQ CW (200wpm), the MIDI keying proved to be virtually "perfect" in timing, accurately producing an "exact" replica of the original source of the MIDI input.
NOTE: - MIDI speed has been stated to be capable of 500 notes per second -

Views: 3681

Comment by Chuck aa0hw on May 4, 2014 at 2:42pm

HERE IS AUDIO TO MIDI for UBUNTU with the same setup using the FREE MINIHOST MODULAR

Using the FREE VST HOST "MINIHOST MODULAR", you can setup the same vst plugins for AUDIO TO MIDI keying of the css555 chip - as shown for WINDOWS 7.  Get your free version of MINI HOST MODULAR HERE:  http://forum.image-line.com/viewtopic.php?f=1919&t=123031

MINIHOST MODULAR's VST HOST setup will also place a VST PLUGIN VERSION of MINIHOST MODULAR in your folder for VST PLUGINS.  Using the jack audio connection bay from KXstudio - CARLA -  The latest beta CARLA - GIT version,  you can run the VST HOST directly as a VST PLUGIN.  It works great, and performs as well as it does in windows 7.  Here is a picture of MINI HOST MODULAR vst plugin for UBUNTU:

Here is the CARLA-GIT connection bay showing MINIHOST MODULAR's GUI and connection from the MIC JACK through the MINIHOST MODULAR VST HOST directly to the soundcard for monitoring and also directly connected to the MUMBLE INPUT for sending cw over the internet on iCW.

The straight key or iambic paddle latency was amazingly low using this method. [ the time it takes from pressing the paddle handle(s) -  until you actually hear the sidetone from the speaker or headphone ]

     22 milliseconds at 256 frames/48k, n=2

     28 milliseconds at 256 frames/48k  n=3

- This is considered to be 'NEAR ZERO LATENCY' in the PRO MUSIC PERFORMANCE world -

REAL TIME TEST for measured delay -   paddle handle tap test

time it takes from actually hitting the iambic paddle dit handle until you hear the tone

Here is an example of using 48k at 256 buffer frames  n=2   latency = 20 milli seconds

Comment by Chuck aa0hw on August 23, 2014 at 11:23am

EXTREME audioTOmidi TEST at 200 wpm creates perfect - home brewed - MIDI KEYED - CW NOTES

USING AUDIO to MIDI technique, FLdigi was used to send a continuous stream of the LETTER  "S" at 200 wpm  to the REAGATE audio TO midi VST plugin.  Perfectly constructed cw elements and spacing were made.

HERE IS A CLOSE UP of one group of  3 dits  that make up the letter "s" at 200 wpm - not only is every dit exactly the same length,  every space between the dits in the letter "s" is perfectly constructed too

This test was conducted using  AUDIO to MIDI technique using REAGATE VST PLUGIN to perform the AUDIO to MIDI function,  receiving the letter "s" stream from FLdigi at 200 wpm,  and then converting it to a midi note out with exactly the same cw element dit length and spacing between dits and spacing between the letter "s"

The VSTi PLUGIN  TX16Wx that constructed the HOME BREWED cw note, was using a SINE WAVE SF2 FILE from a general user SOUND FONT that is free to download:  http://musescore.org/en/handbook/soundfont

Comment by Chuck aa0hw on November 26, 2014 at 12:57pm

Here is the latest MORSE CODE VSTi SYNTHESIZER for extreme QRQ CW

This video demonstrates how to use some vst plugins and FLdigi to create your own customized QRQ CW code practice oscillator. FLdigi QSK Right Channel audio output, is used to "key" a specialized software VST INSTRUMENT called MPowerSynth which creates a very clean and high fidelity code practice oscillator.

The morse code sending text is from W4BQF's famous article:
https://sites.google.com/site/tomw4bqf/copyingcwover70wpm

MINIHOST MODULAR VST HOST is used for this to input the RT CHANNEL audio from FLdigi and send it to "key" MPowerSynth.

MPowerSynth is very accurate in qrq cw timing, and has a great sound that you can customize to your preferences for QRQ CW in pitch and rise/fall time and even weight by percentage and weight by "compensation" using the FLdigi QSK CONTROLS.

Reagate VST plugin receives the RT CHANNEL audio output from FLdigi and then creates an extremely accurate conversion to a midi message which then "keys" MPowerSynth.

HERE ARE THE LINKS :
1. http://www.w1hkj.com/Fldigi.html
2. http://www.meldaproduction.com/plugins/product.php?id=MPowerSynth
3. http://www.kvraudio.com/product/reagate_by_cockos
4. http://www.image-line.com/support/FLHelp/html/plugins/Minihost%20Mo...
5. http://www.voxengo.com/product/span/

NOTE: an extreme qrq speed is used to demonstrate and show how effective this setup is for producing a very good QRQqCW note. FLdigi of course can send great cw on its own, but you can not adjust COMPENSATION using FLdigi by itself, and for QRQcw, sometimes being able to use negative "compensation" is helpful to bring out better copy...the MPowerSynth also has a final polishing AUDIO BAND PASS filter , which makes a huge difference in edge noise at the higher speeds.

HERE IS A CLOSE UP OF THE SPECTRUM READOUT down to -175 db

Comment by Chuck aa0hw on December 2, 2014 at 10:18am

MPowerSynth creates an excellent cw note by itself

Comment by Chuck aa0hw on September 19, 2017 at 11:08am

Here is the latest setup on LINUX, for an audio to midi software cw keyer:

- uses two standalone linux audio apps:(using the JACK AUDIO CONNECTION KIT Linux audio engine)

1.  Trigger Midi Mono http://lsp-plug.in/?page=manuals&section=trigger_midi_mono

2.  midiCW  from: https://github.com/recri/keyer

what is notable about this setup, is the extremely low latency for CW REGENERATION...it only takes @300 micro seconds to re-create a raised cosine cw element from the "original sidetone"

here is a picture demonstrating this:  The GREEN waveform is the "original sidetone from a 555 timer chip being keyed by a typical cw keyer,  the RED waveform is the new recreated cw sidetone from midiCW...

Basically, the audio output of the 555 goes to the mic jack input and then to the first Linux audio app called  TRIGGER MIDI MONO,  TRIGGER MIDI MONO only has to measure the incoming volume levels of the 555 cw sidetone....then it takes the top peaks of those 555 cw elements at their start and finish, keyDOWN, keyUP, etc...and converts them into a midi message data output,  that keys the second Linux audio app....midiCW.......midiCW operates just like a hardware cw keyer... the waveform output of midiCW is a raised cosine set to whatever rise & fall time you desire.... 

here is a picture of what the setup looks like inside the JACK AUDIO CONNECTION BAY - Catia 

Comment by Chuck aa0hw on September 25, 2017 at 9:39am

Here is an AUDIO SPECTRUM ANALYSIS, of how by just adding a simple LV2 plugin, the GLAME AUDIO BANDPASS FILTER to midiCW's cw audio tone output, really cleans up the remaining cw element edge noise left over from the midiCW'S  CW AUDIO OUTPUT(5ms rise & fall time).  LEFT SPEC AN display, is "without" the GLAME BANDPASS FILTER,  RIGHT SPEC AN display is "WITH" the GLAME BANDPASS FILTER:

Comment by Chuck aa0hw on October 26, 2022 at 12:12pm

Raspberry Pi 4 CW Keyer / CW Regenerator - LiVE demo

FLdigi is keying an H11F1 fet that 'key's a TLC555 oscillator that connects to the pi4's usb sound card line input.... a small pi touch screen allows adjusting of all CW Parameters

inside the pi TRIGGER MIDI MONO and RECRI KEYER modules perform the CW REGENERATION and output a NEW CW NOTE with adjustable raised cosine edges , adjustable pitch and volume, rise/fall time etc...

https://lsp-plug.in/?page=manuals&section=trigger_midi_mono

https://github.com/recri/keyer

Comment by Chuck aa0hw on October 27, 2022 at 7:52am

here is another example of a midi keyed CPO that uses the pi's own python APP/GPIO PIN 7 to generate a continuous SQUARE WAVE that goes to an H11F1 FET OPTOisolator that gets keyed(by FLdigi's serial port feature) and the GPIO square wave that passes through the FET is used to REGENERATE and RE-CREATE  a NEW CW NOTE with adjustable parameters

this is a follow up video from the 1st one here: https://youtu.be/UafXPV-d8u0

in this video, FLdigi is keying an H11F1 fet that 'key's a pi4 python square wave by GPIO pin 7 generator(instead of keying an external TCL555 oscillator)...

the python GPIO pin 7 square wave output connects to the pi4's usb sound card line input.... and everything else is the same as before...

a small pi touch screen allows adjusting of all CW Parameters

inside the pi TRIGGER MIDI MONO and RECRI KEYER modules perform the CW REGENERATION and outputs a NEW CW NOTE with adjustable raised cosine edges , adjustable pitch and volume, rise/fall time etc...

simple python code from : https://gist.github.com/boseji/7296415

https://lsp-plug.in/?page=manuals&section=trigger_midi_mono

https://github.com/recri/keyer

Comment

You need to be a member of QRQcw to add comments!

Join QRQcw

© 2024   Created by Chuck aa0hw.   Powered by

Badges  |  Report an Issue  |  Terms of Service