Oct 27, 2017
this is an external "plug-in" for N1MM which adds a QSO audio recording function. qsorder maintains a buffer in memory and listens for "Contact" UDP broadcasts sent by the logging program. The broadcasts trigger a dump of the audio buffer to a file after a specified delay time (default is 20 secs). The delay helps with capturing a tail-end after a QSO was entered into the log.
N1MM Logger.ini
and include the lines below. This enables local QSO info UDP broadcast. For
more info see N1MM UDP
documentation. Restart N1MM after making changes.
[ExternalBroadcast]
DestinationIPs=127.0.0.1
DestinationPort=12060
IsBroadcastContact=True
--------------------------------
v2.2b QSO Recorder for N1MM, 2012
K3IT
--------------------------------
Listening on UDP port 12060
Input Device : Line In (Realtek High
Definitio
* recording 2 ch, 46 secs audio buffer,
Delay: 20.0 secs
Output directory
M:\temp\<contest_YEAR>
--------------------------------
QSO: 12-06 01:46:17 C6AUM 14
QSO: 12-06 01:46:19 UT4UWB 14
QSO: 12-06 01:46:28 UT0UM 14
QSO: 12-06 01:46:34 W3TS 14
WAV: 12-06 01:46:37
C6AUM_de_K3IT-VP9_DX..14Mhz.mp3 ReplayGain: +11.2dB
WAV: 12-06 01:46:39
UT4UWB_de_K3IT-VP9_D..14Mhz.mp3 ReplayGain: +11.2dB
WAV: 12-06 01:46:48
UT0UM_de_K3IT-VP9_DX..14Mhz.mp3 ReplayGain: +11.4dB
QSO: 12-06 01:46:49 PJ2T 14
WAV: 12-06 01:46:54
W3TS_de_K3IT-VP9_DX_..14Mhz.mp3 ReplayGain: +11.3dB
WAV: 12-06 01:47:09
PJ2T_de_K3IT-VP9_DX_..14Mhz.mp3 ReplayGain: +11.9dB
qsorder supports optional command line flags:
Usage: qsorder.py [options]
Options:
-h, --help show this help message and
exit
-l BUFFER_LENGTH,
--buffer-length=BUFFER_LENGTH
Audio buffer length in secs
[default=45]
-d DELAY, --delay=DELAY
Capture x seconds after QSO log entry
[default=20]
-p PATH, --path=PATH Base directory for audio
files [default=none]
-P PORT, --port=PORT UDP Port
[default=12060]
-s STATION_NR,
--station-nr=STATION_NR
Network Station Number
[default=none]
-k HOT_KEY, --hot-key=HOT_KEY
Hotkey for manual recording Ctrl-Alt-<hot_key>
[default=r]
In multi-computer networking
environment each N1MM Logger.ini file
Station 0 should be
DestinationPort=12060
Station 1 should be
DestinationPort=12061
Station 2 should be
DestinationPort=12062
And use --port option
Alternatively set staion number using
--station-nr option
(tnx ve2ebk)
written in python 2.7, using threading
and pyaudio
libraries:
Main Thread - listens for UDP broadcasts from N1MM on port 12060
Sound card I/O thread - maintains a double ended FIFO audio buffer of the specified length (default: 45 secs)
File I/O thread(s) - dump_audio function
saves the buffer to a wav file and (optionally) converts to mp3 using lame encoder. This function uses
threading.timer
module for scheduling
Hot key thread - monitors windows hot key events
python script is repackaged into a windows executable with pyinstaller.
Tips for audio input: when possible use an isolation transformer (salvage from an old modem). For Mic In recordings use an attenuator to prevent hiss and clipping.
v2.3b
pushing the hotkey immediately saves the current audio buffer to a file.
(qsorder window does not need to be in focus).
v2.1b - Dec 5, 2012
v2.1a - Dec 2, 2012
Audio input selection
Integration with N1MM log GUI (if N1MM team's time permits)
Integration with iTunes (just kidding)
73!
Vasiliy k3it