目录
- 监控选项卡(Monitor Tab)
- 回放选项卡(Playback Tab)
- 消息录制选项卡(Message Recording Tab)
- CW 监听/播报选项卡(CW Monitor/Announcements Tab)
- 文本转语音选项卡(Text to Speech Tab)
对于使用 Windows Vista 或更高版本操作系统的用户,这里是设置 Logger+ Audio 各项音频功能的地方。这些功能包括:播放用户自行录制的语音消息(wav 文件)并即时录制;从本机监听自己发出的 CW,并以摩尔斯电码播报 QSO 状态(对视力障碍操作员很有用);以及文本转语音选项,即利用若干可用语音模型之一,由文本生成语音消息。
如果您运行的是 Windows XP,则该窗口不可用。Windows XP 用户在配置器(Configurer)的音频选项卡(Audio)中配置音频(对于运行更新版本 Logger 的较新 Windows 版本用户,该选项卡不可用)。
监控选项卡(Monitor Tab)
每当您从录入窗口(Entry Window)的 Config > Logger+ Audio Setup… 菜单项打开 Logger+ Audio 设置窗口时,都会打开此选项卡。

左侧滑块(Set)设置送往电台的输出电平。您需要调节它,使电台显示正确的麦克风电平和压缩量。播放 .wav 文件时,窄条「Wav」柱状图显示所播放录音峰值的相对电平。宽条「Output」柱状图显示送往电台的输出峰值。两者相互独立;如果 Wav 文件柱状图显示的峰值相对较低,您可能需要重新录制该文件以改善信噪比。
右侧滑块(Record)设置「即时」录制的录音电平,其右侧紧邻的窄条柱状图显示正在录制的相对声音电平。
关闭 N1MM+ 时,声卡输出电平与麦克风输入电平会恢复为之前的设置。
当需要连续发送多个 wav 文件时,例如用单个数字/字母文件拼读呼号和序号,默认行为是一个接一个地发送这些文件。有些用户反映,在使用多个 wav 文件时,连续发送的 wav 文件之间存在长得无法接受的延迟。针对这种情况,提供了 Concatenate All *.Wav 选项。该选项在发送前先把各个 wav 文件拼接成一个临时 wav 文件,从而组装出要发送的整条消息,而不是一个接一个地发送文件。与默认情况不同,使用该选项时,消息发送开始后对录入窗口中呼号所做的即时更改不会反映到输出中。此外,所有 wav 文件都必须以相同的采样率和位分辨率制作。如果字母与数字之间存在较长延迟,且无法用字母/数字文件开头和/或结尾多录的「静默」来解释,您可以试用该选项,看是否能消除这些延迟。
如果您希望用预先录制的字母与数字 wav 文件来拼读呼号和序号,可使用 Audit Wav Files 按钮,判断程序是否已找到用于简单或高级拼读的一整套必要的字母与数字文件。
Test 按钮会播放一条预先录制的消息,这样您无需先录制内容即可测试回放设置。
该选项卡的下方窗格会报告每条已发送的存储消息,这对调试很有帮助。
回放选项卡(Playback Tab)

在第一个选项框中,第一个选项为 SO1V/SO2V 使用单块声卡。其余 3 个选项都用于 SO2R:SO2R Single Soundcard Mono(使用外部控制器在电台之间路由音频)、SO2R Single Soundcard L/R(每部电台使用一个声道),以及 SO2R Two Soundcards Mono(每块声卡连接到一部电台)。
在第二个选项框中,选择将音频送往电台的回放设备(Playback)。显示的可选设备取决于您的具体计算机配置。
越来越多的电台内置「声卡」,称为编解码器(codec)。如果您有这样的电台并希望将其用作该电台的声卡,请勾选 Internal Radio Codec 复选框;对于 PTT 控制,您还可以在配置器中电台控制端口的设置里勾选 PTT via Radio Command SSB Mode 复选框。当然,单块电台编解码器不能用于其所属电台以外的电台,因此第一个选项需要相应设置。
数字模式用户请注意:如果您的电台带有内置编解码器,且您希望在包括 AFSK RTTY 在内的数字模式中用它发射,那么无论您在语音模式下是否使用 N1MM+ 的音频功能,都需要勾选 Internal Radio Codec 复选框。此外,在此类电台中控制 PTT 最简单的方法,是在配置器中电台控制端口的设置里勾选 PTT via Radio Command Digital Mode 复选框。
该选项卡的下方窗格显示 N1MM+ 与 Windows 音频功能之间的交互。
消息录制选项卡(Message Recording Tab)

该选项卡会随您在回放选项卡上的选择而变化。如果您选择双声卡 SO2R,则需要为每块声卡选择输入,才能启用对已存储消息的即时重新录制。
Sample Rate 选项为 6000、8000 和 12000,在此处为 wav 文件的即时录制进行设置。
下方窗格将报告每次即时录制事件的开始和结束。
如果您勾选 Mute Mic During Playback 选项,则麦克风会在回放期间静音。
CW 监听/播报选项卡(CW Monitor/Announcements Tab)

该选项卡既用于启用从计算机对已发 CW 消息的音频监听,也用于配置并启用对 QSO 状态(重复台、系数、错误和异频状态)的 CW 语音播报。这些播报对视力障碍用户很有用。
在 CW Monitor/Announcements Sound Card 框中,选择计算机上用于监听本机已发 CW 以及(若已启用)QSO 状态播报的声卡输出。该声卡通常应不同于回放选项卡下配置的声卡。
要启用 CW 监听,请勾选 Echo CW 复选框。
可听 CW 监听与播报的音调可在 Freq: 框中输入设置;通常您会将其设为与收发信机侧音相同的频率。
共有五条摩尔斯电码播报,可分别启用或禁用,用于播报重复台 QSO、QSO 错误、单系数、多系数(双系数或三系数)以及异频 QSO。启用/禁用状态按操作员分别保存。用户可以为这五条播报分别输入要发送的文本。每条播报都有播放(Play)按钮,以便试听将要听到的内容。这些播报的速度以 WPM 计,由录入窗口上的 CW 速度设置控制;播报以您发送 CW 时所用的相同速度发出。回放音频电平在 Windows 音频面板中调节。注意: 有些比赛要求先知道交换内容,才能判定是否为重复台。
文本转语音选项卡(Text to Speech Tab)
该选项卡用于配置 N1MM Logger+ 程序版本 1.0.10913.0 中引入的文本转语音选项。该选项利用软件从文本消息生成语音,使用若干可用语音模型之一。生成的语音被放入一个临时 wav 文件并立即发送。
共有若干(27)个可从音频设置窗口内下载的语音模型。也可以使用您自己的声音创建自定义语音模型(具体操作说明超出本文档范围,但可从 N1MM Logger+ 网站下载)。
将文本转换为语音的程序(piper.exe)随第一个下载的语音模型一起下载。下载该程序和语音模型文件时需要连接互联网,但一旦下载了至少一个语音模型文件,使用文本转语音功能就不再需要互联网连接。
不支持含非 ASCII 字符的路径 将文本转换为语音的 piper.exe 程序无法处理文件路径名中任何位置的非 ASCII Unicode 字符。如果您的 Windows 用户名包含一个或多个此类字符(带重音的字母、西里尔字母等),并且您的 N1MM+ 用户/数据文件区位于「文档」目录下的默认位置,则 piper.exe 将无法读写它所需的文件。症状是音频设置窗口中出现一条或多条关于找不到文件的错误消息。
解决办法与 OneDrive 问题的解决办法类似:必须将用户/数据文件区安装到路径名中不含非 ASCII 字符的新位置——例如 C:\Ham\N1MM Logger+。首先,为用户/数据文件区创建新目录。然后下载 N1MM+ 完整安装程序和最新更新的安装程序(可从 N1MM+ 网站上的 Downloads 页面获取)。运行完整安装程序(无需先卸载)。当安装程序提示用户文件区的位置时,使用 Browse 按钮将其指向您创建的新目录。完整安装后,先不要运行 N1MM+ 程序。首先,将原用户文件区的内容(包括子目录)复制到新的用户文件区。然后运行更新安装程序以安装最新的程序更新。如果配置文件中存在指向旧用户文件区文件的路径名,应将其更新为指向新用户文件区中的对应文件;除此之外,N1MM+ 应能像以前一样继续工作,只是现在 piper.exe 程序将能够读写它所需的文件。

Download Model Files… 按钮用于从互联网下载 Piper 文本转语音程序以及一个或多个语音模型文件。下载完第一个语音模型文件后,您可以选择停止下载、下载下一个语音模型文件,或下载全部 27 个语音模型。全套语音模型需要 1.65 GB 磁盘空间,下载它将耗费相当长的时间(取决于您连接互联网的速度),因此初次测试时,您不妨下载一两个语音模型后就停止,而不必马上把全套下载完。
Piper Model Filename 框可用于从已下载的模型列表或已添加的自定义语音模型中选择一个语音模型。语音模型文件存放在 N1MM+ 用户文件区的 PiperModelFiles 子目录中,执行文本转语音计算的 Piper 程序存放在 Piper 子目录中。这些子目录由 1.0.10913.0 或更高版本的程序更新程序创建,但在至少下载一个语音模型之前,它们将是空的。
系统提供了宏,用于以两套字母读法念出呼号,即标准(ICAO)字母读法和一套备用读法。由于有些语音模型可能难以清晰地念出某些字母读法或字母,程序中提供了相应按钮,可填入替代拼写(或错误拼写)来帮助语音模型。
Edit Std Phonetics 按钮允许用户为一个或多个字母提供标准读法的替代拼写,以应对所用语音模型无法清晰念出常规拼写的情况。
Edit Alt Phonetics 按钮为备用字母读法集提供同样的能力。它也可用于把最初提供的单词替换成另一个单词。
{SpaceCall} Pronunciations 按钮为使用 {SpaceCall} 宏拼出呼号时所用的单个字母提供类似的能力。
设置与测试(Setup and Testing)
要测试该功能,请先下载一个或多个语音模型,并选择您要用来测试的语音模型。选择回放选项卡,将声卡输出设为测试时用于收听的声卡(例如 PC 上的默认声卡,或用于 CW 监听与播报的声卡),而不是比赛中用于发射的那块声卡。让程序处于 Phone 模式,编辑某条功能键消息以加入 TTS 宏,例如: F10 Call,{TTS {ICAO !}} 以标准(ICAO)字母读法念出录入窗口呼号框中的呼号,或者: F10 Num,{TTS 1 2 3 4 5 6 7 8 9 0} 依次念出数字 1 到 0。保存编辑后的功能键消息集,然后按下该功能键回放这条消息。您可以用它来测试不同的语音模型和不同的文本(例如不同的拼写)。当您对所选语音模型和功能键消息满意后,请记得将回放选项卡下的声卡切回与发射机配合使用的那块。
TTS 宏(TTS Macros)
用于 TTS 的功能键消息中共有八个宏: {TTS}、{ICAO}、{AltICAO}、{SpaceCall}、{SpaceNR}、{SplitNR}、{TTSParms} 和 {TTSTrim}
{TTS text**}** —— 将「text」转换为语音,并立即播放生成的 TTS wav 文件。
- 一条功能键消息中可以包含多个 {TTS} 宏。
- {TTS} 宏不能与 wav 文件组合在同一条功能键消息中。
- 回放速度可通过 {TTSParms} 宏更改。见下文。
- {ICAO}、{AltICAO}、{SpaceCall}、{SpaceNR} 和 {SplitNR} 宏在 {TTS} 宏内部使用,详见下文。
- {TTS} 宏的 text 可以包含 #(序号)和 @(接收频率)宏。请注意,使用 # 的序号将按单个数字念出,例如 1256 将念作 “one thousand two hundred fifty six”。序号的替代读法见下文 {SpaceNR} 和 {SplitNR}。
- 用于对方呼号的 ! 或 {CALL} 宏,以及用于己方呼号的 * 或 {MYCALL} 宏,只应在 ICAO 宏内部使用。如果在其他地方使用其中之一,结果可能不合您意——程序可能会把呼号或呼号的一部分当作英语单词来发音。
- {TTS} 宏的 text 可以包含 , . ? 和空格,以调整语音和间隔。不要把这些语音延迟字符放在 {TTS} 宏之外。
- 当句点后面跟着空格和一个首字母大写的单词时,会添加一个空格。
- 消息中的逗号可用于增加一小段延迟。
- 添加多个连续空格不会增加单词之间的延迟。
- 在某些情况下,别出心裁的错误拼写可能会改善语音。
- 如果您想不借助字母读法直接拼出字母(如首字母缩写),用空格将它们分开(如 “R I T”),或直接拼读(如 “are eye tee”),可能会有所帮助。
- 字母 A 是个特例。部分(即便不是全部)语音模型会把单个 A 解释为不定冠词 “a” 而非字母 “A”,并把它念成短促的 “uh”。将其拼写为 “ehy” 而不是 “A” 似乎效果更好。
{ICAO text**}** —— 将「text」,或表示己方呼号的 *、表示对方呼号的 !,转换为标准 ICAO 字母读法。它只在 {TTS} 宏内部使用。{TTS} 宏内的 {ICAO !} 宏在功能上等同于 CW 和数字模式下的 {CALL} 宏;但在语音模式使用拼读 wav 文件时,它与 ! 宏并不完全相同,因为 TTS 宏中的呼号无法即时编辑。
- {ICAO} 宏可以在一个 {TTS} 宏内出现多次。
- 有些语音模型可能无法清晰地念出某些字母读法,此时改用该读法所用单词的另一种拼写可能会提高清晰度。设置窗口中的 Edit Std Phonetics 按钮提供了这一能力。
{AltICAO text**}** —— {ICAO} 宏的替代版本,使用另一套字母读法(America、Boston、Canada、Denmark……)。设置窗口中的 Edit Alt Phonetics 按钮允许使用不同的拼写来提高清晰度,或替换为不同的单词(例如用 Amsterdam 代替 America 等)。
- 提供替代字母读法表,是为了拼读可变内容,例如对方呼号。虽然它也可用于不变的报文文本,例如己方呼号、分区、网格方格等,但这其实没有必要,因为您可以按自己希望的任何读法或拼写把它们明确拼出来。
{SpaceCall} —— 将当前焦点录入窗口中的呼号按单个字母念出,字符之间加空格。它只在 {TTS} 宏内部使用,并取代 CW 和数字模式下所用的 {CALL} 宏。
- 如果您想不借助字母读法回应呼叫者,可以在 F5 中使用 {SpaceCall}: F5 Call,{TTS {SpaceCall}} 例如会把 K3CT 读作 “kay three see tee”。
- 有些字母会受到特殊处理。例如,由于语音模型可能把单个 “A” 念成不定冠词 “a” 而不是字母 A,在使用 {SpaceCall} 拼读时字母 A 会被改为 “ehy”。如果该字母或任何其他字母需要其他特殊处理,可以使用设置窗口中的 {SpaceCall} pronunciations 按钮。
{SpaceNR} —— 将序号按单个数字念出。例如:1256 将念作 “one two five six”。它可以在 {TTS} 宏内部代替 # 宏使用。
{SplitNR} —— 将序号分拆成若干部分念出,即一到两位高位数字加上低位两位数字。它可以在 {TTS} 宏内部代替 # 宏使用。 示例: 1256 将念作 “twelve fifty-six” 984 将念作 “nine eighty-four” 警告:{SplitNR} 对大于 9999 的序号处理不佳。
{TTSParms x,y,z**}** —— 更改控制回放速度(x)、音高变化(y)和/或发音随机性(z)的语音参数。可以只提供一个、两个或全部三个参数,但如果您想指定第三个参数(z),则必须同时指定第二个参数(y)。参数通常是 0.0-1.0 范围内的数字,使用 “.” 字符作为小数分隔符(TTSParms 宏内不允许使用逗号作为小数分隔符)。
-
可能的参数组合包括 {x}、{x,y}、{x,y,z}、{,y} 和 {,y,z}。不允许 {x,,z} 和 {,,z}。
-
参数更改对当前消息生效,并适用于后续消息,直到被另一个 {TTSParms} 宏覆盖。
-
除 {END} 宏之后以外,一条功能键消息中只允许有一个 {TTSParms} 宏。
-
{TTSParms} 宏的更改适用于整条消息(若有 {END} 宏,则直到该宏之前,或从该宏开始)。{TTSParms} 宏在消息中的位置无关紧要,只是第二个 {TTSParms} 宏可以放在 {END} 宏之后,以强制它在 {END} 宏之前的消息部分发送完毕后再执行。这可用于以不同于其余部分的速度发送消息的一部分,例如: F10 Rpt Exch,{TTSParms 0.8}{TTS {SplitNR} P A}{END}{TTSParms 1.0}{TTS {SpaceNR} Pennsylvania}
-
回放速度(piper.exe 中的 length_scale 参数):范围 0.3 到 1.0。数字越小,回放速度越快。值 1.0 产生最慢的(语音模型)速度。初始默认值 = 1.0
- 已弃用:3 到 10 范围内的值将被接受,并在传递给 piper.exe 之前乘以 0.1。
-
音高变化(piper.exe 中的 noise_w 参数):范围 0.0 到 1.0。数字越小,音高变化越小,发音听起来越平。数字越大,音高变化越丰富。初始默认值 = 0.8
-
发音随机性(piper.exe 中的 noise_scale 参数):范围 0.0 到 1.0。数字越小,变化越少、略快,可能听起来更像机器人。数字越大,变化越多、略慢。不能在未指定音高变化参数的情况下指定。初始默认值 = 0.66
{TTS_SPEED n**}** —— 已弃用;是 {TTSParms m} 的同义词,其中 m = 0.1*n。更改当前及后续语音消息的语音消息回放速度。
{TTSTrim} 或 {TTSTrim n**}** —— 使用阈值修剪当前消息的开头和结尾。如果未提供值,则使用阈值 1000。该阈值表示 .wav 文件中被视为「静默」的电平。数字越高,开头和结尾被去除的背景噪声越多。提供阈值时,n 的范围是 0 到 6000。如果取值过高,消息的开头或结尾可能被截断。
功能键消息文件示例:
# RUN
F1 CQ,{TTSParms 0.8}{TTS CQ Contest CQ Contest, {ICAO *}, {ICAO *}}
F2 Exch,{TTS Number {SplitNR}, Pennsylvania}
F3 TNX,{TTS Thanks, {ICAO *}}
F4 {MyCall},{TTS {ICAO *}}
F5 His Call,{TTSTrim}{TTS{ICAO !}}
F6,
F7 QRZ?,{TTS Q R Zed?}
F8 Stack,{STACKANOTHER}
F9,
F10 Repeat,{TTSParms 0.8}{TTS {SplitNR} P A}{End}{TTS {TTSParms 1.0} {SpaceNR}, Pennsylvania}
F11 LogPop,{LOGTHENPOP}{TTS Roger Now {ICAO !}, number {SplitNR} in Pennsylvania}
F12 Wipe,{WIPE}
# S&P
F1 CQ,{TTS Q R Zed? {ICAO *}}
F2 Exch,{TTS Number {SplitNR}, Pennsylvania}
F3 TNX,{TTS Thanks, {ICAO *}}
F4 {MyCall},{TTSParms 1.0}{TTS {ICAO *}}
F5 His Call,{TTSTrim}{TTS{ICAO !}}
F6,
F7 QRZ?,{TTSParms 0.6}{TTS Q R Zed?}
F8,
F9,
F10 Repeat,{TTSParms 0.8}{TTS {SplitNR} P A}{End}{TTS {TTSParms 1.0} {SpaceNR}, Pennsylvania}
F11,
F12 Wipe,{WIPE}
呼叫堆叠可与 TTS 配合使用,如上述示例所实现。使用方法如下:
程序必须处于 Run 模式,并已开启 ESM。 按您的喜好调整功能键,例如: F11 LogPop,{LOGTHENPOP}{TTS Roger Now {ICAO !}, number # in Pennsylvania} F8 Stack,{STACKANOTHER} 在配置器的 Function Keys 选项卡中,将 Next Call 键设为带 {LOGTHENPOP} 宏的功能键(本例中为 F11)。 在录入窗口中输入一个呼号,然后按 {STACKANOTHER} 键(F8)将该呼号推入堆栈。如有需要,可用字体调节器调整堆栈窗口的文本大小,并调整其在屏幕上的位置。 输入第二个呼号并按 Enter,发送常规交换内容消息(F5+F2),与该台开始一次 QSO。 输入收到的交换内容并按 Enter。这将记录该 QSO,把堆叠的呼号从堆栈中弹出,并发送 Next Call(F11)消息,与刚被弹出堆栈的那个呼号开始下一次 QSO。 输入收到的交换内容并按 Enter,发送常规 TU 消息(F3)并记录第二次 QSO。 您可以堆叠多个呼号,或者由您的搭档在 Partner 模式下堆叠呼号。
说明(Notes)
- 无法播放同时包含 TTS 宏和用户 *.wav 文件的组合消息。
- 「组合消息」包括 Run 交换内容,无论它是用 ESM 中的 Enter 键发送,还是无论 ESM 状态如何都用 Insert 键或 ; 键发送;在所有这些情况下,发送的消息都组合了 F5 和 F2 消息,因此这两条消息必须属于同一类型。
- 「组合消息」还包括任何包含 {F1}-{F12} 宏的消息。
- 当配置器中勾选「Send corrected call before end of QSO」选项时,如果 F3 消息使用 wav 文件,那么无论 F5 消息是使用 wav 文件还是 TTS 宏,程序都会尝试使用字母/数字 wav 文件发送对方的呼号。
- 使用 TTS 时,可能有一些功能键宏会干扰 TTS 或无法正常工作(例如,强制记录日志类宏与 TTS 宏不能用在同一个消息键中)。
- 使用 TTS 时,Logger+ Audio 的拼接功能被关闭。
- 使用 TTS 时,AutoStart 被禁用,因为必须获得完整呼号后才能生成包含该呼号的消息。
- 将录入窗口呼号转换为语音时,按下功能键后对呼号所做的任何更改都不会改变已发射的呼号。
- TTS 功能在 32 位 CPU 上可能无法工作。
- 速度较慢/性能勉强的计算机在首次播放消息时可能会有延迟,播放呼号时延迟会小一些。
- 当一条 TTS 消息以与上一条 TTS 消息不同的语音速度播放时,会有一些额外的执行开销。
- 除常规的 F5 和 F2 之外,您可能希望有另一种发送呼号和交换内容的方式,例如在其中一条中使用 {SpaceCall} 或 {SpaceNR},在另一条中使用 {ICAO !} 或 # 或 {SplitNR}。为了让 ESM 保持同步,在备用交换内容功能键中放入 {EXCHSENT} 宏可能会有帮助。参见 功能键与宏 文档中对 {EXCHSENT} 的说明。