0

scipy.signal の wav 読み取り機能を使用して、48khz、16 ビット精度の PCM 音声データを読み取りました。

次に、次の手順を順番に実行します: デシメーション -> 正規化

間引きと正規化は、次の手順を使用して行われます。

yiir = scipy.signal.decimate(topRightChn, 3)
timeSerDownSmpldSig = N.array(yiir)
factor  = 2**16
normtimeSerDownSmpldSig = normalise(timeSerDownSmpldSig, factor)

私のデシメートされた(またはダウンサンプリングされた)信号は16khzであると想定されています(したがって、上記のようにダウンサンプリング係数は3です)。ここで、正規化されたダウンサンプリングされた numpy 配列 normtimeSerDownSmpldSig を Adob​​e Audition で表示したいと考えています。

Python および/または Adob​​e オーディションで実行する必要がある手順は何ですか? scipy の savetxt 関数を使用して、上記の配列を Adob​​e Audition で表示するにはどうすればよいですか?

私の yiir シグナル値は次のようになります。

Downsampled signal yiir First 10 values: [ -6.95990948e-05  -2.71091920e-02  -3.
76441923e-01  -5.65301893e-01
   1.59163252e-01  -2.44745081e+00  -4.11047340e+00  -2.81722036e+00
  -1.89322873e+00  -2.51526839e+00]

Downsampled signal yiir: Last ten values: [-1.73357094 -3.41704894 -2.77903517
0.87867336 -2.00060527 -2.63675154
 -5.93578443 -5.70939184 -3.68355598 -4.29757849]


Array signal obtained from iir decimate of python:
shape: (6400000,)
Type: <class 'numpy.dtype'>
dtype: float64
Rows : 6400000
min, max: -875.162306537 874.341374084

Adobe audition での使用に関する情報 ### このリンク (45 ページ) -

http://www.newhopechurch.ca/docs/tech/AUDITION.pdf

以下を与えます:

ASCII テキスト データ (.txt) オーディオ データは、標準のテキスト形式でファイルに読み書きできます。各サンプルはキャリッジ リターンで区切られ、チャンネルはタブ文字で区切られています。オプションのヘッダーをデータの前に配置できます。ヘッダー テキストがない場合、データは 16 ビットの符号付き 10 進整数であると見なされます。ヘッダーは KEYWORD: value としてフォーマットされ、キーワードは SAMPLES、BITSPERSAMPLE、CHANNELS、SAMPLERATE、および NORMALIZED です。>NORMALIZED の値は、TRUE または FALSE のいずれかです。たとえば、SAMPLES: 1582 BITSPERSAMPLE: 16 CHANNELS: 2 SAMPLERATE: 22050 NORMALIZED: FALSE 164 -1372 492 -876 など... オプション 次のいずれかを選択します。 •Include Format Header は、データの前にヘッダーを配置します。•Normalized Data は、データを -1.0 から 1.0 の間で正規化します。

4

1 に答える 1

0

numpy.savetxtWAV ファイルを作成しません。使用できますscipy.io.wavfile.write

たとえば、次の例では、1 つのチャネル (モノフォニック) を含む WAV ファイルが作成されます。信号は、毎秒 44100 サンプルでサンプリングされた 3 秒間の 440 Hz 正弦波です。

In [18]: from scipy.io import wavfile

In [19]: fs = 44100

In [20]: T = 3.0

In [21]: t = np.linspace(0, 3, T*fs, endpoint=False)

In [22]: y = np.sin(2*pi*440*t)

In [23]: wavfile.write("sine440.wav", fs, y)

別の選択肢はwavioです。

于 2016-06-13T16:11:20.093 に答える