PR

エレバグをダブルパドルで操作する際の問題点

Vibroplex社が開発した半自動電鍵、通称「バグキー」。これは機械的な振り子動作を用いて短点を自動打鍵するもの。長点は手動。非常にユニークな電鍵で、根強い愛好者も少なくない。

写真はVibroplexのサイトから引用。

これを電子的に行うのが通称「エレバグ」。エレキー装置に機能の一つとして内蔵されているものもある。メーカ製の無線機にも入っているものがあるそうで、通常のエレキーを使っているなら、案外手軽にエレバグを試すことができる。

しかし、本来のバグキーはシングルレバー。通常のエレキーパドルはダブルレバー。そのため、本来のものとは違う問題が起きる。それは、両パドルの同時押し。バグキーには「スクイーズ」という動作はあり得ないので、これをどう解決するかが問題。いくつかの方式があるようで、Geminiにまとめてもらい、ClaudeとChatGPTに検証してもらった。

エレバグの発端と歴史

機械式バグキー(半自動電鍵)は、一般的な配置では、1本のレバーを右に弾くと板バネの振り子運動によって短点が自動で連続生成され、左に倒すとその間だけ接点が閉じて長点(手動)となる画期的な機構でした。これを電子回路やマイコン制御によってエミュレートしたのが「エレバグ(電子バグキー)」です。

短点の長さや間隔を機械的に安定させつつ、長点の長さはオペレーター自身の感覚でコントロールできるため、エレキー(完全自動電鍵)にはない独特の「タメ」や「リズム感」を表現できるのが大きな魅力です。

この「エレバグ」という概念を提唱した草分けの一人が、日本のアマチュア無線家であるJA3KAB氏です。同氏が公開している「エレバグキーの歴史」において自らを「元祖」と位置づけている通り、初期のエレキーのデジタル論理回路を応用し、長点をマニュアル操作としつつも「長短点を出力した後に各々短点1個分のスペースを確保する」仕組みを完成させ、1986年に命名・オンエアしたとされています。このエレバグの特徴やJA3KAB氏による開発については、「CQ ham radio」2003年の記事(『エレバグキーへのお誘い』)等でも紹介されています。

さらに同氏は2005〜2006年頃、この思想を発展させ、複式キーの動作においてもオートスペースを働かせて符号の癒着(ネバリ)を防ぐ「Auto-bug Keyer」を開発しています。これはまさに、複式キーのような複数接点の入力とスペース確保という課題に対する、歴史的な実装例の一つと言えます。

ダブルパドルを使ってエレバグを操作する場合の問題点

元来のバグキーと同じように1本のレバー(シングルレバー)を用いたパドルで操作するのであれば、大きな問題は起こりません。しかし、現代のエレキー運用では、左右独立式の「ダブルパドル(ツインパドル)」が一般的に用いられています。このダブルパドルでエレバグを操作しようとした際、機械式では起こり得ない特有の問題に直面します。

シングルレバーパドルとの物理的な違い

機械式バグキーのレバーは1本であるため、物理的に「短点接点と長点接点に同時に触れること」は不可能です。一方、ダブルパドルは左右のレバーが独立して動くため、両方の接点を同時に閉じること(いわゆるスクイーズ状態)ができてしまいます。

意図せぬスクイーズ操作が発生した際に生じる矛盾

通常の交信スピードで打鍵していると、長点から短点、あるいは短点から長点へ移行するわずかな瞬間に、指の離れのタイミングによっては「両方のパドルが同時に押されている状態(入力のオーバーラップ)」が発生することがあります。
シングルレバーではあり得ないこの「同時押し状態」を、電子的にどう解釈して出力するべきか。これが、ダブルパドルにおけるエレバグ実装の新たな設計課題となります。

要素間スペース強制確保(オートスペース)の役割

同時押しの解釈と並行して、「符号の癒着」を防ぐ仕組みも重要になります。エレバグでは、短点の直後に急いで長点を打とうとしたり、長点を打った直後に短点レバーに触れたりすると、長点と短点がくっついて一つの潰れた不自然な符号になってしまうリスクがあります。
本稿では、JA3KAB式エレバグにおける「各要素の出力を終えた後、強制的に短点1つ分の無音時間を確保する機能」を便宜上オートスペース機能と定義して解説します。JA3KAB式エレバグの実用的な打鍵感を得るうえで、このスペース確保は極めて重要な特徴となります。

ダブルパドル入力を扱うエレバグ実装の論理モデル

前項で述べた「意図せぬスクイーズ操作」という問題に対しては、電子的ないくつかの解決方法(アプローチ)が考えられます。
以下の3方式は、エレバグの歴史上確立された分類ではなく、ダブルパドル入力における競合処理を比較・理解するため、本稿で便宜的に分類した論理モデルです。実際の製品やキーヤーでは、これらを組み合わせた実装や、まったく異なるステートマシンが用いられることもあります。

1. 長点優先型(単純な論理和モデル)

両方のパドルが同時に押された場合、「長点」の入力を無条件で優先して出力する論理モデルです。

短点ジェネレータの出力と長点パドルの入力を、最終的なキー出力段で単純なOR論理として扱うような、非常に簡素な構成を想定しています。短点の出力中に長点を押すと、短点の波形が裏でかき消され、ただの連続ON(キーダウン状態)となります。一部の簡易的な実装においては、これに近い挙動を示すことがあり、その場合は前述のオートスペースが機能せず、長点後のスペース確保はオペレーターの技量任せになります。

2. 後着優先型 + オートスペース(本稿での論理モデル)

「後から押されたパドル」へ強制的に主導権を移す論理モデルです。機械式バグキーにおける「1本のレバーを反対側に倒し直した」という物理的な動きの制約を、ソフトウェアでエミュレートしようとする思想に基づいています。
スクイーズ操作や入力のオーバーラップが発生した際の論理的な挙動は以下のようになります。

  1. 長点を出力中に短点パドルを押した場合(長点 → 短点)
    • 長点の強制終了: 後から押された短点パドルが優先されるため、現在出力中の長点(連続ON)はその瞬間に直ちにキーアップ(中断)されます。
    • 無音時間(スペース)の挿入: 長点がOFFになった直後から、強制的に要素間スペースのタイマーを開始し、完了後に短点の自動生成サイクルを開始します。
  2. 短点を出力中に長点パドルを押した場合(短点 → 長点)
    • 後着の受理と保護: 後から押された長点パドルを有効としますが、現在実行中の短点サイクル(短点ON要素間スペースOFF)は中断されず最後まで保護されます。
    • 長点への移行: 要素間スペースの完了を待ってから長点の出力を開始します。
    • ※タップ時の注意: 長点には記憶機能(メモリ)を持たせないため、要素間スペースが完了する前に長点パドルを離してしまった場合は、入力は無視(空振り)されます。
  3. 両方のパドルを完全に同時に押した場合(競合状態)
    • マイコンの実装(スキャン周期や割り込み処理)によってどちらかが後着として扱われるか、あるいは長点優先とするなどのフォールバック処理が行われます。

3. 短点メモリ型(本稿での抽象モデル)

アイアンビック・エレキーの「先行入力(メモリ)」の概念をバグキーモードに応用した論理モデルです。
以下は、特定の製品の内部アルゴリズムそのものではなく、挙動を説明するための抽象モデルです。「短点にはメモリ(予約)があるが、長点にはメモリがない」「両押し状態では長点が優先される」という非対称なステートマシンとして整理できます。

  1. 長点を出力中に短点パドルに触れてしまった場合(短点メモリ)
    • 出力の維持: 長点の出力(連続ON)は阻害されずに維持されます。
    • 裏での予約: 短点パドルが少しでもタップされると「短点予約フラグ」が立ちます。
    • パドル解放時の動作: 長点パドルを離して出力がOFFになると、要素間スペースを空けてから、予約された短点が1つだけ自動送出されます。
  2. 短点を出力中に長点パドルに触れてしまった場合(オートスペース)
    • 出力の保護: 現在実行中の短点サイクルは絶対に阻害されず、実行中は長点入力が一時的に保留(マスク)されます。
    • サイクル完了時の分岐: 短点サイクルが完了した瞬間に評価を行い、長点パドルが押され続けていれば即座に長点へ移行します。離していた場合は無視されます。
  3. 両方のパドルを完全に同時に押し続けた場合(本モデルでは長点優先)
    • 両パドルがアクティブな状態では長点が出力され続け、裏では短点が予約されます。パドル解放時に最後に短点が1つ送出されます。

※なお、K1EL WinKeyerやオープンソースのK3NGキーヤーなどのモダンな多機能キーヤーにも、Bug mode、Autospace、入力メモリ(パドルイベントバッファ)などの高度な機能が存在しますが、それらの複合的なステートマシンは、本稿で提示した「短点メモリ型」という単純化された非対称モデルと完全に同一ではありません。あくまで本稿は、挙動を理解するための基礎的な論理モデルとしての分類です。

参考文献

  • エレバグキーの歴史(JA3KAB)
    エレバグの草分けであるJA3KAB氏のサイト。デジタル論理によるオートスペースの黎明期からの実装や、複式Auto-bug Keyerなど、エレバグ開発の貴重な歴史的経緯が記録されています。
    (https://ja3kab.ninja-web.net/ElebugHistory.htm)
  • CQ ham radio 2003年5月号「エレバグキーへのお誘い」9V1DJ/JA3KAB 島津清孝
    JA3KAB氏本人によるエレバグキーの特徴(任意の長点、自動短点、スペースの自動確保)に関する当時の解説記事。
  • K1EL Systems – What is WinKeyer?
    代表的な多機能キーヤーチップ。公式マニュアルにてBug modeやPaddle Event Memoryの仕様が確認できます。
    (https://www.k1elsystems.com/WhatisWK.html)
  • K3NG CW Keyer – Command Line Interface (GitHub Wiki)
    世界中の開発者が参加する多機能キーヤー。Dit/Dah bufferやAutospaceなどのコマンド仕様の一次情報として。
    (https://github.com/k3ng/k3ng_cw_keyer/wiki/310-Feature%3A-Co…)

【余談】

ClaudeよりもChatGPTの方が遥かに厳しい。

Claudeは指摘してくれた点を修正するのを二、三回繰り返せばOKを出してくれる。

ChatGPTは重箱の隅をつつきまくる。まぁ、その分、間違いや曖昧なものを排除してくれるのだろうとは思うが。「やりすぎるな」と言わないと、直しても直しても、延々とネチネチネチネチ次から次へとつつき続ける。さらに、指摘自体が間違っていることがあって、うっかりすると変なものができあがりそう。

CW
この記事のタイトルとURLをコピーする
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

コメント