As a fun project I was writing a CW player for my Iphone over Christmas. A text file is converted to MIDI, MIDI is played out as audio on the Iphone. I am using Apple's MIDI player component for now.
The App can change pitch, speed, soundfont on the fly. I like to listen to CW "ebooks" in the evening to relax, or when on the go, as distraction.
Of course after 2 weeks this is just a proof of concept. MY biggest issue is sound quality (as compared to my clickless analog CPO).
As MIDI sound fonts I am using those available on public internet and was also experimenting with Polyphone (a program to create or edit sound fonts) to create a clickless sine sound for MIDI. So far it is "ok" but I would like make it sound more like envelope shaped sine CW.
Did anyone experiment with / generate MIDI soundfonts well suited to CW / QRQ CW already?
Any hints appreciated.
I have had a lot of good experience in QRQ CW PRACTICE with this
midi variable speed CW setup with excellent adjustable sine wave tone output
This video demo's how to create a TEXT TO MORSE CODE MIDI FILE - to use for training in QRQ CW COPY practice. REAPER is the main APP for playing the morse code midi file. http://www.reaper.fm/ This unique software setup array, allows you to choose the CW PITCH, the VOLUME, the SPEED, THE RISE and FALL TIMES of the CW EDGES.. Some more advantages of using a MIDI FILE instead of an audio file for QRQcw training are: - a midi file has a very small file size (compared to audio files) - midi variable speed is extremely accurate and the pitch remains the same with zero audio distortion from changing the speed from very slow to a very high speed - the integrity and fidelity of the cw morse code audio tones are always pefectly preserved - no matter the speed... - the REAPER PLAYBACK/REVIEW/REWIND HOTKEY COMBO - CONTROL & LEFT ARROW - repeats the last couple of words, for going back just a couple of words, in the morse code midi file, to try and listen again, and copy a missed word(s), this is a very helpful feature to train more effectively for learning whole word sounds that are new to your own qrq vocabulary or difficult to copy words in general that previously were not always copied the first time and seem to always give trouble in copying when you hear them again... !. Make a morse midi file converted from text - using Morse MIDI: http://www.dxatlas.com/morsemidi/ http://www.dxatlas.com/Download.asp 2. Save that file into the REAPER MEDIA FOLDER. 3. load REAPER to the desktop 4. in REAPER MENU - click INSERT - media file - choose the midi file(.mid) that you just created with the Morse MIDI APP 5. hit the reaper PLAY button 6. to rewind to a word that was not copied to hear it again...press the "CONTROL" & "Left Arrow" together...and it will rewind slightly to repeat the last couple of words again...as many times as needed... NOTE: if you repeat a missed word a few times at the same speed...and it still is not copied...try slowing the speed down - using the REAPER SPEED slider shown in the video...and keep repeating//slowing down - until you finally are able to copy the word...then return speed to previous setting and continue loading the EFFECTS PLUGINS to generate the SINE WAVE OSCILLATOR that is "keyed" by the midi file... create a reaper track and then CLICK ON THE FX button, click ADD, select and load 1. REASYNTH adjust the pitch, volume, rise/fall time(attack/release) 2. APPLE 12 POLE FILTER (optional) used as a final audio bandpass filter - to reduce the edge noise generated from the cw rise/fall times...especially at upper qrq speed levels NOTE: REAPER has many types of plugins, only REASYNTH is needed to play the midi file NOTE: LINUX NATIVE REAPER version was used in this video...however, all versions of REAPER for WINDOWS or MAC, should work fine and in a similar fashion for this purpose as you see here for the native linux version of REAPER. NOTE: REAPER has the best features for playing morse code midi files that I have tested to date. Very smooth variable speed control, super accurate timing of the cw elements and very high quality sine wave raised cosine edges for the cw notes generated by Reasynth, and very easy/smooth - to rewind/review to repeat words that were not initially copied - using the HOTKEY COMBO CTRL- LEFT arrow.
Thanks Chuck for all info.
My initial approach to generate cw dots and dashes with timers and a sin oscillator tuened out not to be accurate enough for higher speeds.
Using MIDI on IoS gave me accurate timing, but as said the AVMIDIPlayer (IoS core component to play MIDI) was giving me sound issues, or more exactly the soundfonts used.
I am now following your route - MIDI sequencer triggering a sine oscillator with configurable raise/fall times. And yes, this leads to much better sounding CW (even though for simplicity my rise and fall envelopes are linear). Will wrap this up into an IoS App for an initial try.
It takes me time to get into IoS programming. The PC examples with reaper were helpful. Thanks!