 
これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド cw です。
プログラム:
NAME
cw - サウンドカードまたはコンソールスピーカーのモールス信号としてのサウンド文字
SYNOPSIS
cw [-s --system=SYSTEM] [-d --device=デバイス] [-w --wpm=WPM] [-t --tone=HZ]
[-v --ボリューム=パーセント] [-g --gap=GAP] [-k --weighting=重量] [-e --noecho]
[-m --nomessages] [-c --nocommands] [-o --nocombinations] [-p --nocomments]
[-f --infile=FILE] [-h --help] [-V --version]
cw GNU/Linux システムにインストールされている場合は、短い形式と長い形式のコマンド ラインの両方を理解します。
オプション。 cw 他のオペレーティング システムにインストールされている場合は、短い形式しか理解できない場合があります。
オプション。
必須のオプションはありません。
オプションは環境変数で事前定義されている場合があります CW_オプション。 定義されている場合、これらは
オプションが最初に使用されます。 コマンドラインオプションが優先されます。
DESCRIPTION
cw 入力ファイルまたは標準入力から文字を読み取り、それぞれ有効な音を鳴らします
システム サウンド カードまたはシステム コンソール スピーカーのいずれかでモールス符号として文字を入力します。
文字を鳴らした後、 cw それを標準出力にエコーします。 入力ストリームは
埋め込みコマンド文字列が含まれています。 発音時のパラメータを変更します。
モールス信号。 cw 埋め込みコマンドのエラーを標準エラーに報告します。
「Ctrl+D」キーの組み合わせを使用して終了します cw.
COMMAND LINE OPTIONS
cw 次のコマンド ライン オプションを理解します。 長い形式のオプションは使用できない場合があります
LINUX 以外のバージョンでも利用可能です。
-s、 --system=システム
その方法を指定します cw トーンを生成します。 有効な値は次のとおりです。 ヌル トーンがないので、
ただのタイミング、 コンソール コンソールスピーカーからの音の場合、 アルサ トーン用
ALSA サウンド システムを使用してシステム サウンド カードを通じて生成され、 センター トーン用
OSSサウンドシステムを使用したシステムサウンドカードを通じて生成され、 パルスオーディオ トーン用
PulseAudio サウンド システムを使用してシステム サウンド カードを通じて生成され、 サウンドカード の
システムのサウンド カードを通じて生成されるトーンですが、明示的な選択はありません。
音響システム。 これらの値は、「n」、「c」、「a」、「o」、「p」、または「s」に短縮できます。
それぞれ。 デフォルト値は「pulseaudio」です (PulseAudio を備えたシステムの場合)。
インストール済み)、その後に「oss」が続きます。
-NS、 --device = DEVICE
サウンドを生成するために開くデバイス ファイルを指定します。 cw デフォルトを使用します
何も指定されていない場合はデバイス。 デフォルトのデバイスは次のとおりです。 /dev/コンソール 音用
コンソールを通じて生成され、 デフォルト ALSAサウンドシステム用、 / dev / audio OSSサウンド用
システム、 a デフォルト デバイス PulseAudio サウンド システム用。 こちらも参照 注意事項 ON 使用する A
サウンド カード を参照してください。
-w、 --wpm=WPM
初期の送信速度を 4 分あたりのワード数で設定します。 値は XNUMX の間である必要があります
および 60。デフォルト値は 12 WPM です。
-NS、 --tone=HZ
サウンダーの初期ピッチを Hz 単位で設定します。 この値は 0 ~ 4,000 である必要があります。 あ
値 0 はサイレント動作を選択し、タイミング チェックなどに使用できます。
テスト中。 デフォルト値は800Hzです。
-v、 --ボリューム=パーセント
初期の送信ボリュームをフルスケールボリュームのパーセンテージとして設定します。 値
0 ~ 100 の範囲にする必要があります。デフォルト値は 70 % です。 音量は十分に機能します
サウンドカードトーンの場合ですが、 cw コンソールからトーンの音量を制御できない
スピーカー。 この場合、音量ゼロは無音であり、他のすべての音量値は無音です。
単に鳴っただけです。
-NS、 --ギャップ=ギャップ
文字間の最初の余分なギャップをドットの長さで設定します (「ファーンズワース」
遅れ)。 0 ~ 60 の範囲で指定する必要があります。デフォルトは 0 です。
-k、 --weighting=体重
初期の重み付けをドットの長さのパーセンテージとして設定します。 20時までの間である必要があります
および 80。デフォルトは 50 です。
-e、 --ノエコー
停止する cw 文字を鳴らした後、標準出力に文字をエコーします。 デフォルト
反響することです。
-NS、 --nomessages
停止する cw エラーメッセージを標準エラーに出力します。 デフォルトは印刷です
メッセージ。
-NS、 --コマンドなし
停止する cw 入力ストリームに埋め込まれたコマンドの解釈から。 デフォルトは
埋め込まれたコマンドを解釈します。
-o、 --組み合わせなし
停止する cw [...] で囲まれた文字列を XNUMX つの組み合わせとして扱うことから
キャラクター。 デフォルトでは、組み合わせが優先されます。
-NS、 - コメントはありません
停止する cw {...} で囲まれた文字列を「コメント」として扱うことから。
これらの中括弧内の文字は標準出力にエコーされますが、音は鳴りません。
コメントが尊重されている場合、中括弧内に埋め込まれたコマンドはすべて
無視されます。 デフォルトでは、コメントを尊重します。
-NS、 --infile=ファイル
テキスト ファイルを指定します。 cw その練習テキストを構成するために読むことができます。
-NS、 - 助けて
短いヘルプ メッセージを出力します。
-V、 - バージョン
プログラムのバージョン、作成者、ライセンスに関する情報を出力します。
サウンディング キャラクター
cw 標準入力または入力ファイルから一度に XNUMX 文字ずつ読み取ります。
小文字は内部で大文字に変換されます。 次のリストは、
で発音できる有効な IS0 8859-1 (Latin-1) 文字 cw:
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"$()+-./:;=?_@ およびスペース
さらに、プログラムは次の ISO 8859-1 および ISO 8859-2 のアクセント付きも理解します。
キャラクター:
ÜÄÇÖÉÈÈÑŞ (セディラを含む S)、Ž (キャロン/ハチェクを含む Z)、
また、一般的な手続き型シグナルの単一文字形式として以下を受け入れます。
<>!&^~
詳細はこちら: cw上記の文字とモールス符号の詳細については、(7,LOCAL) を参照してください。
If cw このセットにない文字を受け取ると、エラー メッセージ '?c'、 どこ c is
エラー文字。 これに対する唯一の例外は、 cw コマンドエスケープ文字
「%」、開始文字と終了文字の組み合わせ「[」と「]」、およびコメントの開始と終了
文字「{」および「}」。 見る EMBEDDED コマンド モールス CODE 組み合わせ を参照してください。
EMBEDDED コマンド
cw 入力ストリーム内の特別なシーケンスを埋め込みコマンドとして認識します。 これらのコマンド
のパラメータを変更します cw 実行中、または現在の値を照会します。 すべてのコマンド
コマンドエスケープ文字 '%' が前に付き、値を設定するものは
セミコロン。
パラメータ値を変更する埋め込みコマンドの形式は次のとおりです。
%C値;
コラボレー C どのアクションを示すコマンド文字です cw 取ることであり、 値 は
コマンドの引数または値。
有効なコマンド文字は
T 文字の発音に使用するトーン ピッチを設定します。
W 送信速度を設定します。
G 文字間の「ファーンズワース」ギャップを設定します。
K 重み付けを設定します。
E 標準出力で送信された文字のエコーを無効または再度有効にします。
M 標準エラーのエラー メッセージを無効または再度有効にします。
S スピーカーのトーン生成を無効または再度有効にします。
C 埋め込みコマンドの処理を無効にします。 このコマンドを無効にすると、
それらを再度有効にすることはできません。
O [...] 文字の組み合わせの認識を無効または再度有効にします。
P {...} コメントの認識を無効または再度有効にします。 コメントが流れているとき
開始の '{' の後、終了の '}' の前の文字は認識されます。
標準出力にエコーされますが、音は鳴らず、その他の効果もありません。
たとえば、埋め込まれたコマンド シーケンス
%W25;%T1200;
設定します cw 25 WPM の速度と 1200 Hz のトーン ピッチに。
「T」、「W」、「G」、および「A」コマンドは、コマンドとともに値を取ります。 の制限
組み込みコマンドに指定された値は、コマンド ラインで使用できる制限と同じです。
上記のオプション。
「E」、「M」、「S」、「C」、および「O」コマンドはフラグであり、ゼロの値をクリアとして扱い、
設定されているその他の値。 だから、例えば、シーケンス
%M0;%C0;
エラー メッセージをオフにしてから、埋め込みコマンドの処理をオフにします。
パラメータが正常に設定されると、 cw 標準エラーの新しい設定を報告します (例外を除く)
エラーメッセージが設定されていない場合)。 組み込みコマンドにエラーが検出された場合、 cw レポート
エラー。 エラー メッセージの形式については、 MESSAGE 書式 以下のセクションをご覧ください。
パラメータの現在の値 cw 設定するだけでなく、照会することもできます。 コマンド
形式でアーカイブしたプロジェクトを保存します.
%?C
通常コマンドで設定するパラメータの値を問い合わせる C. cw 現在を報告します
新しい値が設定されたときと同じ形式を使用して、標準エラーの値。
パラメータの現在の値 cw モールス符号の出力として要求することもできます。
コマンドフォーマット
%>C
コマンドで通常設定されたパラメータの値を報告するモールス出力を生成します
C.
埋め込みコマンドが無効になっている場合、「%」文字はその他の文字として扱われます (この場合、
無効) 入力文字。
埋め込みコマンドの処理がオフに切り替えられると、これを切り替えるコマンド
機能が認識されなくなります。 つまり、「%C0;」の後に「%C1;」 ならないだろう
認識された。
追加のコマンドが XNUMX つあります。それは「%Q」です。 このコマンドは、開いているすべてのファイルを閉じ、
終わる cw. 入力ストリーム内のこのコマンドの後の文字はすべて失われます。
ファイル 時計回り コマンド、特殊文字、および
のステータス コード cw.
MESSAGE 書式
組み込みコマンドでパラメータ値が正しく設定されている場合、メッセージ形式
=C値
返されます。 C は使用されるコマンドであり、 値 が新しい値です。
埋め込みコマンドのパラメータに無効な値が指定された場合、メッセージ
?C値
返されます。
無効なコマンドが検出された場合、メッセージ形式
?%C
使用されている。 無効なクエリの場合、メッセージは次のとおりです。
??C
モールス信号のパラメーターに対する無効な要求の場合、メッセージは次のとおりです。
?>C
入力ストリーム内の発音できない文字がメッセージを生成する
?C
これらのメッセージは、ユーザーフレンドリーであることを意図したものではありませんが、簡単に操作できるように設計されています。
別のプログラムによってすぐに解釈されます。 同様に、埋め込みコマンドの形式は次のとおりです。
ユーザーフレンドリーというより、コンピュータフレンドリーです。
エラーメッセージが無効になっている場合、どのタイプのメッセージも標準エラーに出力されません。
モールス CODE 組み合わせ
によって提供される文字の標準セット cw 目的によっては十分でない場合があります。 為に
たとえば、一部の国際文字は、ISO 8859-1 と ISO 8859-2 に対応していません。
それ cw ダイレクトに鳴らせる。
そのようなキャラクターを鳴らすのを助けるために、 cw 組み合わせ文字を形成する機能を提供します
個々の文字コンポーネントを [...] ブラケットの間に配置します。 Cw 音文字
それらの間に通常のギャップのない組み合わせの内側。 このように、欠けているものは
セット内のキャラクターを組み立てることができます。
例えば、
[VA]
VA プロシージャル シグナルを形成する XNUMX つの方法ですが、
[SK]
同様に機能します。 XNUMXドットのエラー信号は、
【HSE】
または国際モールス符号の C-セディラ
【CE】
[...] ブラケット内には、有効な文字、数字、または数字をいくつでも含めることができます。
必要。 たとえば、エラー信号を送信する別の方法は次のとおりです。
[ええええええええええええええええええええええええええええええええええええええええええええええええええ
最後に、73 を送信する XNUMX つの代替方法は次のとおりです。
[ちぇ][えぇぇぇ]
[TDE][EUT]
[ジー][VT]
埋め込みコマンドは、必要に応じて [...] の組み合わせ内に配置できます。 組み合わせは
ネストしない。
この機能は、 -O or --組み合わせなし コマンド ライン フラグ、または
「O」埋め込みコマンドを使用します。 組み合わせが無効になっている場合、「[」と「]」の文字は
他の (無効な) 入力文字として扱われます。
注意事項 ON 使用する A サウンド カード
デフォルトでは、 cw デフォルトの PulseAudio を開こうとします。 PulseAudio サーバーにアクセスできない場合は、
cw は、OSS デバイス「/dev/audio」を開いてシステム サウンド カードにアクセスしようとします。 これは
通常は使用するのに正しいデバイスですが、特別な要件があるシステムや、
複数のサウンドカードを使用する場合のオプション -d or - 端末、 と組み合わせ -s or - システム することができます
サウンド カードにアクセスするためのデバイスとオーディオ システムを指定するために使用されます。 サウンドカードの場合は、
デバイスをセットアップできない、 cw エラーメッセージを出力します
サウンドカードのサウンドを設定できません
終了します。
サウンド カード デバイスは、OSS サウンド システムを通じて開かれる場合、通常はシングルアクセスになります。
デバイスを開くため、XNUMX つのプロセスがデバイスを開いたときに、他のプロセスは妨げられます。
それを使用することから。 そのような場合 cw もちろん、他のプログラムと競合します。
システム サウンド カード (MP3 プレーヤーなど) の排他的使用が期待されます。 もしも cw 発見
サウンドカードがすでにビジー状態である場合、エラーメッセージが出力されます。
/dev/audio を開きます: デバイスまたはリソースが使用中です
終了します。
次の場合、サウンド カード デバイスは使用されません。 cw コンソールのスピーカーでトーンのみを送信しています。
AUDIO 出力 - デフォルト そして SELECTION
cw 最初に、デフォルトのデバイスを使用して、PulseAudio サウンド システムを使用してサウンド カードにアクセスしようとします。
ユーザーがオプションで他のオーディオデバイスを指定しない限り、名前 -d or - 端末.
cw 次に、OSS オーディオ システムとデフォルトの OSS オーディオ デバイスを使用してサウンド カードにアクセスしようとします。
名前 ('/dev/audio') (ユーザーがオプションで他のオーディオ デバイスを指定しない限り) -d or - 端末.
OSS 経由でサウンドカードを開くことができない場合は、 cw ALSAオーディオを使用してサウンドカードにアクセスしようとします
システム、およびデフォルトの ALSA オーディオ デバイス名 ('default')、ユーザーが他のオーディオを指定しない限り
オプション付装置 -d or - 端末.
ALSA 経由でサウンドカードを開くことも失敗する場合は、 cw システムコンソールのブザーにアクセスしようとします
ユーザーが他のオーディオデバイスを指定しない限り、デフォルトのブザーデバイス「/dev/console」を使用します。
オプション -d or - 端末.
コンソール ブザー デバイスにアクセスするには、ユーザーが root 権限を持っている必要があるのが非常に一般的です。
特権。 そのため、コンソールのブザーを開こうとしてもほとんどの場合失敗します。 これは
これはプログラムのバグではなく、オペレーティング システムの制限の結果です。 作る cw an
suid binary はこの制限を回避します。 プログラムは fork() や exec() を行わないので、
それは比較的安全であるはずです。 ただし、この方法は次の場合には推奨されないことに注意してください。
セキュリティ上の理由。
前述したように、ユーザーはそれを知ることができます cw どのデバイスを使用するか -d or - 端末 オプション。 どれの
適切なデバイス ファイルは、実行されているオペレーティング システム、システムによって異なります。
ユーザーIDが実行されます cw、およびユーザーが属するユーザー グループ。
注意事項
このマニュアルページは常に一貫してモールス信号を参照しているにもかかわらず、
モールス信号を学習しようとするときは、これらの用語で考えないでください。
常に「dit」と「dah」と考えてください。
のモールス符号表 cw(7,LOCAL) の man ページは参照用にのみ提供されています。 もしも
初めて学ぶときは、聞いて学ぶ方がはるかに良いでしょう.
テーブルを見るのではなく、送信された文字。
システムで実行されている他のプログラムは、モールス符号のタイミングに干渉する可能性があります。
cw 送信しています。 これが問題になる場合は、静止しているシステムで実行するか、
ランニング cw nice(1L,C,1)で。 UNIX は、実際にはユーザーレベルのプログラムが実行できるようには設計されていません
モールス符号を送信するために必要な一種の細かいタイミング。 cw したがって、よりも敏感です
ほとんどのプログラムが他のシステム アクティビティに移動します。
cw 内部タイミングにシステム itimer を使用します。 ほとんどの UNIX フレーバーでは、itimer はそうではありません。
指定された時間に正確にプログラムを通知することが保証されており、通常、
解像度は、通常のシステムの「クロック ティック」解像度と同程度です。 itimer SIGALRM
通常、システム クロック ティックに該当するため、10 秒あたり XNUMX ミリ秒以下の精度になります。
典型的な 100Hz カーネル。
これの効果は、一般に itimer 期間が正確に指定されているか、または
可能性が高く、わずかに長くなります。 より高い WPM 設定では、これの累積効果
タイミング精度に影響を与えます。これは、高速では、10mS クロック ティックが少なくなるためです。
ドット期間。 たとえば、12 WPM の場合、ドットの長さは 100mS で、XNUMX 個のドットを含むのに十分です。
カーネルクロックティック。 しかし、60 WPM では、ドットの長さは 20 ミリ秒、つまりわずか XNUMX カーネル クロックです。
ティック。 そのため、高速では、イタイマーの解決の効果がより顕著になります。
itimer のタイミングをテストするには、まず試してください
X="パリ パリ パリ パリ パリ "
エコー "$X" | 時間 cw -w 4
経過時間は XNUMX 分に非常に近いはずです。 次に、試してみる
echo "$X$X$X$X$X$X$X$X$X$X$X$X" | 時間 cw -w 48
経過時間は同じはずです。 増えたならシステムの影響
itimers は指定された期間よりもわずかに長く遅延します (WPM レートが高いほど、
itimer 呼び出し)。 それはあなたのための itimers です。この仕事には完璧ではありませんが、そこには最高のものがあります
カーネルコードをいくらか、おそらく大量に書く必要はありません。
無音であるゼロを除いて、10Hz 未満のトーン値は、
予想ピッチ。
例
余分なギャップなしで、25 WPM、700Hz で文字列を送信します。
echo "UNIX CW SOUNDER" | cw -w 25 -t 700
システムを指定して、コンソールスピーカーでさまざまな速度とトーンで文字列を送信します
コンソール デバイス:
echo "%W12;%T400;400HZ 12WPM %W25;%T1500;1500HZ 25WPM" | cw -m -sc -d /dev/tty2
C-cedilla、VA、および WPM 設定のレポートを、半分の音量で余分なスペースを空けて送信します。
echo "[CE] [VA] %>W" | cw -g 10 -v 50
エラー そして 省略
カット番号は提供されていませんが、事前にエミュレートすることはできます。
フィルタリング。
オプションの外部デバイスへの出力。たとえば、パラレル ポートで回線をキーイングします。
またはシリアル回線も役立つ場合があります。
onworks.net サービスを使用して cw online を使用する
 














