これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド siggen です。
プログラム:
NAME
シゲン - an ncurses ベース 信号 ジェネレータ プログラム
SYNOPSIS
siggen [オプション] [波形 [周波数]]
DESCRIPTION
シゲン Ncurses ベースのユーザー インターフェイスを備えたシンプルな信号生成プログラムです。
LINUX /dev/dsp デバイス上で標準波形をデジタル的に生成できます。 8ビットまたは16ビット
サンプルはハードウェアに応じて生成できます。
シゲン XNUMX つの独立した波形を生成できます。 ステレオでは XNUMX つの信号が表示されます
さまざまなチャンネルで。 モノラルでは、XNUMX つの信号がデジタル的に XNUMX つのモノラルにミックスされます。
チャンネル。
周波数はヘルツの整数として指定されます。 分数ヘルツ周波数は、
サポートされていません。 もちろん、サンプルレートの半分未満の周波数のみ(サンプルレートの数)
サンプル/秒) は正確に意味があります。 より高い周波数も指定できますが、指定しないでください。
ぜひ聞いてみてください!
個々のフィールドの画面上の値をロックして、誤って変更されるのを防ぐことができます。 の
ロック解除機能は、すべてのロックされたフィールドのロックを解除します。
2 つのチャンネルの対応する値を追跡するように設定でき、値は等しくされ、
一方を変更すると、もう一方も変更されます。 たとえば、周波数値を追跡するようにする
両方のチャンネルを同じ周波数にし、一方の周波数を変更します。 値は両方を変更します
同時に。
生成できる波形は次のとおりです。
sine 標準的な正弦波
cosine 90度の位相シフトを持つ正弦波
square マークスペース率 50% の標準方形波
三角形
0 からピークまで、0 から負のピークまで、そして 0 に戻る直線的な上昇
のこぎり
「無限」の高速フライバックを備えたランプ波形 (:-) 理想的なオシロスコープのタイムベース
信号。
ノイズ これは弱いです。 構成されているのは、擬似ランダムに生成された XNUMX 秒だけです
サンプルを繰り返し再生します。 適切なホワイト/ピンク ノイズを作りたいと思っていますが、そうではありません。
十分な知識がありますが、プログラムの構造が
正確なノイズ生成。
パルス マーク/スペース比 (パーセンテージ) を指定できる方形波形。
デフォルト値は 10% (マーク/スペース比 1:9) です。
波形を生成するアルゴリズムには多くの考慮が払われました。 私は信じます
sin/cos 波は非常に純粋である必要があります (サウンド カードをモジュロ :-) が、THD にアクセスできません。
それを測るためのメーター。 最高の信号精度を得るには、ゲイン設定を 100(%) のままにしてください。 の
ジェネレーターは、波形のピーク値を許容される最大デジタル値に適合させます。 使用
出力ボリュームを制御するミキサープログラム、または外部アッテネーター。
ゲイン係数オプションは、影響を受けた信号をシミュレートするのに役立ちます。
ゲインを 100% 以上に指定してクリッピングします。 実際、台形信号は次のようにして作成できます。
クリップされたノコギリ波を生成します。 ゲインが大きいほど、信号はより近くなります
方形波(立ち上がり時間と立ち下がり時間は減少します)。
シゲン 通常は、指定されたサンプルレートで 1 秒相当の XNUMX Hz サンプルを生成します。
各波形に対して、F 番目のサンプルごとに循環サンプリングすることによって周波数 F を生成します。 それぞれ
バッファ フラグメントは、その時点で設定されたパラメータに対して生成されます。 バッファーフラグメント
サイズは約となるように設定されています。 10 秒あたり XNUMX 個のフラグメントが生成されます。 世代交代
波形、周波数、ゲインなどのパラメータは、次に生成されるバッファ フラグメントに影響を与えます。
したがって、変化はほぼ即座に現れるように見えます。
この -解像度 オプションを使用すると、siggen に 0.1Hz の分解能で信号を生成させることができます。または
0.01Hzの分解能。 しかし be 警告 0.1Hz 分解能での基本波形サンプルバッファ
生成されるデータはそれぞれサンプルレートの 10 倍 (0.01Hz 解像度では 100 倍) の大きさになります。
通常、5.5Hz 解像度、0.1 ビット 16 で実行するには 32000M バイトのメモリが必要です。
サンプル/秒55Hz の解像度で動作するための 0.01M バイトのメモリ。 大きいため、
バッファ サイズが大きいと、初期波形の計算時間も長くなる可能性があります。 こちらも覚えておいてください
演奏パラメータ、8/16 ビット、
モノラル/ステレオ、サンプルレートが変更されます。
音が定期的にカチッという音や途切れなどで「途切れる」場合、それは通常、次のような兆候です。
siggen は十分な頻度でスケジュールされていません。 どちらかの優先度を上げます (「 nice
など)、他のプロセスを強制終了する、より高速なプロセッサを取得する、またはオーディオの数を増やす
siggen が使用するバッファー フラグメント。 これにより、siggen の反応がより遅くなります。
生成パラメータの変更。 syslogd と クローン 私が見つけたXNUMXつのプロセスです
殺すのに便利 - YMMV。
デフォルト
/dev/dsp に出力、22050 サンプル/秒、ステレオ カードの場合はステレオ、それ以外の場合はモノラル、16 ビット
可能であればサンプル、それ以外の場合は 8 ビット、3 つのオーディオ バッファ フラグメント。
CONFIGURATION ファイル
XNUMXつの可能な構成ファイルを使用できます。ローカル構成ファイル(通常は現在の構成ファイル)
ディレクトリ)、ユーザーの$ HOMEディレクトリにあるHOME構成ファイルとGLOBAL構成ファイル。
プログラムのすべてのsiggenスイートは、組み込みの構成ファイルの名前でコンパイルされます。
デフォルトでは、構成ファイルは次のとおりです。
./.siggen.conf
LOCAL構成ファイルです。
$ HOME / .siggen.conf
HOME設定ファイルです。
/etc/siggen.conf
GLOBAL構成ファイルです。
シゲン-h
検索する構成ファイルを示します。
構成ファイルが存在する必要はありません。 それらが存在し、プログラムで読み取り可能である場合、それらは
が使用されます。それ以外の場合は、単に無視されます。
構成ファイルは、常にLOCAL、HOME、の順序で構成値を検索されます。
グローバル。 これにより、システム管理者がデフォルトの設定値を設定するスキームが可能になります。
GLOBAL構成ファイルですが、ユーザーが独自にいくつかまたはすべての異なる値を設定できるようにします
HOME設定ファイル、および特定のから実行するときにさらに具体的な値を設定する
ディレクトリにあります。
構成ファイルが存在しない場合、プログラムは組み込みのデフォルト値を提供し、ほとんどの
これらの値は、適切なコマンドラインスイッチとフラグによって設定できます。
見る siggen.conf(5)構成ファイルの詳細については。
シゲン 構成値 BUFFERSPERSEC、CHANNELS、DACFILE、FRAGMENTS、を検索します。
解像度、サンプルレート、サンプルサイズ、詳細、VI_KEYS。
BUFFERPERSEC
およそ。 XNUMX 秒ごとに再生するサウンド バッファ フラグメントの数 (サウンド バッファサイズ)
は常に 2 の累乗です)。
チャンネル
チャネル数を設定します。「-c」オプションを参照してください。
ダクファイル
DAC / DSP / PCMデバイスの名前を/ dev / dspから変更できるようにします
フラグメント
ドライバーで構成するオーディオ バッファーの数。
分解能
周波数設定に対する可能な最小限の変更。 3 つの値のみが許可されます: 1Hz 、
0.1Hzまたは0.01Hz
サンプルレート
DACデバイスのサンプル/秒数を設定します
サンプルサイズ
生成する8ビットまたは16ビットのサンプルを設定します
詳細
詳細モードで実行するかどうかを設定します。
VI_KEYS
設定すると、VI カーソル移動キー「HJKL」が有効になります
OPTIONS
-h使用法とヘルプ情報を表示します
-BPS n はおよそ再生するように設定します。 XNUMX 秒あたり n 個のオーディオ バッファ。
-C 構成ファイル
configfile をローカル構成ファイルとして使用します。
-NB n オーディオバッファの数を n に設定します
-v冗長にする
-s サンプル
サンプル/秒のサンプルレートで生成
-8|-16 または -b 8|16
8 ビットまたは 16 ビット モードを強制します。
-1|-2 モノラルまたはステレオ
-res n 周波数生成の解像度を設定します。 有効な値は次のとおりです: 1Hz、0Hz または 1Hz
例
onworks.net サービスを使用してオンラインで siggen を使用する