Update February 13, 2019 – Version 2 released.
Update April 10, 2019: Now that SmartSDR 3.0 has been released I most likely will have to do an update to the program. I have not upgraded yet as I have a couple of other programs I use that will not work with 3.0. The Voice keyer may work if you are not using multiFlex. I expect to update the Voice Keyer within the next couple of weeks when Doug K3TZR gets the framework I use updated.
A voice keyer for the Apple Mac is now available for download. The SDR Voice Keyer can run on the Mac with dogparkSDR or FlexRadio SmartSDR running in a virtual PC or even on another Mac or Microsoft Windows PC on the same network. You do not need xDax or xCat as SDR Voice Keyer handles all audio and control functions on its own.
As a Mac user I wanted to use as little of the Microsoft Windows operating system as I could. However, since FlexRadio SmartSDR only runs on Windows I had to have a virtual PC running in VMWare Fusion on my Mac. Trying to be fully Mac centric I purchased a copy of Dog Park Software dogparkSDR, a FlexRadio 6xxx client for the Mac, but some other radio applications were either not available on the Mac or difficult to use.
As a retired MS Windows programmer who did not own a Windows PC, I always did my development work in Virtual PCs, I decided it was a good time to learn to program on the Mac and write some utilities that were needed. I originally was going to write a DAX equivalent and started porting Stu Philips K6TU Objective C SmartSDR API to Swift. Part way through this effort I ran across Doug K3TZR and Mario DL3LSM. Doug had already written a port in Swift and Mario was finishing up xDax and xCat using Doug’s xLib6000 SmartSDR API port. Not wanting to reinvent the wheel I decided to develop a voice keyer for the Mac instead using Doug’s xLib6000. The key requirement was for it to be easy to use and easy to configure.
Note: If you are interested in doing some app development yourself take a look at Doug’s xLib6000 which is the SmartSDR API for the Mac and his xSDR6000 which is a reference implementation of SmartSDR on the Mac using Metal instead of OpenGL.
Operation is quite simple. Make sure the DAX button on the SmartSDR P/CW panel is on or in the case of dogparkSDR select TX DAX in Preferences -> Radio -> TX DAX .
Click the button you want or on the keyboard use ⌘1…⌘0 for buttons 1 – 10 (if the SDR Voice Keyer has focus). The radio will be keyed and the audio transmitted. The Stop button or Esc will immediately stop any current transmission. You can adjust the Transmit Gain if necessary using the slider.
If you want to be reminded when to send your ID, check the ID Timer checkbox and a green flashing graphic will appear in front of the Send button. Click the Send button (or ⌘S) and your ID file will be sent.
Touch bar support is included if you have one of the newer MacBook Pro’s with a Touch Bar.
- Mac OS 10.12 or higher (Mac 10.14 Mojave Compatible)
- SmartSDR 2.xx
- dogParkSDR 1.xx
Audio File Requirements
- Audio files may be MP3, AIFF, WAV and AAC. Using a WAV file will give you the best quality
- The file should be recorded mono at a 24Khz sample rate but others that are a multiple of 24khz such as 48Khz and 96Khz will be resampled as necessary
- — Set as 32 bit Float if there is a choice
Note: Other sample rates such as 44100 should work but may have some issues. Stereo should also work but the app is optimized for 24Khz mono as that is what he Flex 6xxx radios require.
Double click on the SDR VoiceKeyer.dmg file you downloaded and drag the app to your applications folder. The manual for the application may be dragged or copy and pasted to wherever you desire.
When you first run the program the radio selector will be displayed and you can select the radio to connect to.
Select the radio you want and click Set as Default and then Connect. You will always automatically connect to the default radio when the program is started. To change the default radio just go into preferences and set a different radio as default.
The next step is to go to the menu for SDR Voice Keyer —> Preferences. The preferences pane will be displayed and you can select the audio files you want to transmit. You can add a label for the button or the app will use the file name as the label. The label can be as long as you want but only the first 10 to 15 characters will show depending on your use of upper or lower case letters.
Click on the number button and a finder file selection dialog will appear where you can select the audio file you want. Once you have populated the fields you want Close the dialog and you are ready to go. At the bottom you can select a file just for ID purposes and how often you want to be reminded. A green square will blink on the main program screen when the time has elapsed.
Recording Audio Files
While you can use many programs to create audio files I find the best way is to use Audacity, a free audio app for the Mac. It’s a little intimidating at first but allows you to trim empty space at the beginning and end of your files. When you first launch Audacity it should look like the image on the left. Down at the bottom in Project Rate type in 24000 if necessary. When you click the record button the image should look like the one on the right. A good resource to learn more about Audacity is Audacity Guide where there is a very good article on using it on the Mac.
After you have made a recording you just highlight the portion you want trimmed and hit the delete key on the Mac to trim off any dead space at the beginning and end.
Next go the menu and select File -> Export -> Export as WAV
Give the file a name and select WAV (Microsoft) 32-bit float PCM then save the file.
I hope the SDR Voice Keyer is useful to you. Please leave a comment if you like the program or have any problems or want to see additional functionality added. You can also send an email to support (at) w6op (dot) com. Please subscribe to W6OP to be notified when updates are available.
Will the voice keyer work with MacLogger?
The voice keyer is a separate app and doesn’t interact with anything except dogparkSDR or SmartSDR. It is a little simpler to use and you can use the monitor function to hear yourself in your headphones.
I think the biggest advantage is there is no configuration for a sound card. You do not need DAX or SoundSiphon, etc.
MacLoggerDX has it’s own built in voice Keyer which will record and play back sound files over the air with any radio including the Flex with xDAX. https://www.dogparksoftware.com/MacLoggerDX%20Help/mldxfc_radio_rotor.html#keyer
When I started this program xDax was still being developed. Also, I prefer to have as few connecting parts as possible so I wanted SDR Voice Keyer to work without xDax or xCat or SoundSiphon or any other application. I remember corresponding with you at the time and I believe you did not have that function in MacLoggerDX at the time. I know I had an issue with dogParkSDR in that you could use your headset and mic or you could use the Mac audio and Mic but not both so I could not use a voice keyer and my radio mic at the same time.
Anyway, I love MacLoggerDX and it’s great I can run WSJT-X and it logs directly to MacLoggerDX. I used to have to import my log file into MacLogerrDX and was always forgetting to do it. I’m not trying to replace anything you have, just an alternative.
No problem Pete, Gordon asked about MacLoggerDX, I was answering. Record/playback voice files has been in MacLoggerDX since v5.14 in 2009.
Pingback: SDRVoiceKeyer For Mac v2.51 Released – W6OP Amateur Radio