33.5 Audio Data Processing

Last-modified: 2025-03-08 (土) 19:59:37

33.5 オーディオデータの処理

Octave は、オーディオ データを処理するいくつかの関数を提供します。オーディオの「サンプル」は、A/D コンバータからの単一の出力値、つまり小さな整数 (通常は 8 ビットまたは 16 ビット) であり、オーディオ データはそのようなサンプルの連続です。オーディオ データは、サンプリング レート (1 秒あたりのサンプル数または Hz で測定、例: 8000 または 44100)、サンプルあたりのビット数 (例: 8 または 16)、およびチャネル数 (モノラルの場合は 1、ステレオの場合は 2 など) の 3 つのパラメータで特徴付けられます。

このようなデータを表現するには、さまざまな形式があります。現在、Octave でサポートされているのは、最も一般的な 2 つの形式、線形エンコーディングとmu-law エンコーディングのみです。Guido van Rossum guido@cwi.nlによるオーディオ形式に関する優れた FAQ があり、これは FAQ FTP サイト、特に次のディレクトリで見つけることができます。 /pub/usenet/news.answers/audio-fmtsアーカイブサイトの rtfm.mit.edu。

Octaveはオーディオデータをサンプルのベクトルとして扱います(モノラル以外のデータはまだサポートされていません)。線形エンコーディングを使用するオーディオファイルは、次のいずれかの拡張子を持つものと想定されます。リンまたは生、mu-lawエンコードされたデータを含むファイルはオーストラリア、ミュー、 または と。

: y = lin2mu (x)
: y = lin2mu (x, n)
オーディオ データを線形から mu-law に変換します。

線形値は、 nが 0 (デフォルト) の場合は -1 ≤ x ≤ 1 の範囲の浮動小数点値を使用し、nが 8 または 16 の場合はnビットの符号付き整数を使用します。Mu-law 値は、0 ≤ y ≤ 255 の 範囲の 8 ビットの符号なし整数です。

See also: mu2lin.

: y = mu2lin (x)
: y = mu2lin (x, n)
オーディオ データを mu-law から線形に変換します。

Mu-law 値は、0 ≤ y ≤ 255 の範囲の 8 ビット符号なし整数です。線形値は、 nが 0 (デフォルト)の場合、- linmax ≤ x linmax (ただし linmax = 32124/32768 =~ 0.98) の範囲の浮動小数点値を使用します。nが 8 または 16 の場合は、代わりにnビットの符号付き整数が使用されます。

プログラミング ノート:mu2lin最大 mu-law 入力を、線形スケールで表現できる最大値 ([-0.98、+0.98]) よりわずかに低い値にマッピングします。このため、元の入力が再現されない可能性があります。 mu2lin (lin2mu (x))

See also: lin2mu.

: data = record (sec)
: data = record (sec, fs)
システムのデフォルトのオーディオ入力から sec秒間のオーディオを、8000 サンプル/秒のサンプリング レートで録音します。

オプションの引数fsが指定されている場合は、録音のサンプリング レートを指定します。

オーディオ録音をより細かく制御するには、audiorecorderクラスを使用します。

See also: @audiorecorder/audiorecorder, sound, soundsc.

: sound (y)
: sound (y, fs)
: sound (y, fs, nbits)
サンプルレートfsでオーディオ データy をデフォルトのオーディオ デバイスに再生します。

オーディオ信号y は、それぞれモノラルまたはステレオ オーディオを表すベクトルまたは 2 列の配列になります。

fsが指定されていない場合は、デフォルトのサンプル レートである 1 秒あたり 8000 サンプルが使用されます。

オプションの引数nbits は、オーディオ デバイスで再生するビット深度を指定し、デフォルトは 8 ビットです。

オーディオ再生をさらに制御するには、audioplayerクラスを使用します。

See also: soundsc, @audioplayer/audioplayer, record.

: soundsc (y)
: soundsc (y, fs)
: soundsc (y, fs, nbits)
: soundsc (…, [ymin, ymax])
オーディオ データyをスケーリングし、サンプル レートfsでデフォルトのオーディオ デバイスに 再生します。

オーディオ信号y は、それぞれモノラルまたはステレオ オーディオを表すベクトルまたは 2 列の配列になります。

fsが指定されていない場合は、デフォルトのサンプル レートである 1 秒あたり 8000 サンプルが使用されます。

オプションの引数nbits は、オーディオ デバイスで再生するビット深度を指定し、デフォルトは 8 ビットです。

デフォルトでは、y は自動的に [-1, 1] の範囲に正規化されます。範囲 [ ymin , ymax ] が指定されている場合は、ymin ≤ y ≤ ymaxの 範囲内にあるyの要素は、 代わりに [-1, 1] の範囲にスケーリングされます。

オーディオ再生をさらに制御するには、audioplayerクラスを使用します。

See also: sound, @audioplayer/audioplayer, record.