Экспорт массива scipy для речевых данных в текст ascii, читаемый в Adobe Audition
Я прочитал речевые данные PCM с частотой 48 кГц, 16 бит, используя функцию scavy.signal для чтения в формате wav.
Далее я выполняю эти шаги по порядку: прореживание -> нормализация
Децимация и нормализация выполняется с использованием следующих шагов:
yiir = scipy.signal.decimate(topRightChn, 3)
timeSerDownSmpldSig = N.array(yiir)
factor = 2**16
normtimeSerDownSmpldSig = normalise(timeSerDownSmpldSig, factor)
Предполагается, что мой прореженный (или пониженный) сигнал составляет 16 кГц (следовательно, коэффициент понижающей дискретизации равен 3, как указано выше). Теперь я хочу просмотреть нормализованный уменьшенный выборочный массив normtimeSerDownSmpldSig в Adobe Audition.
Какие шаги в прослушивании Python и / или Adobe мне нужно выполнить? Как я могу использовать функцию сохранения текста scipy для просмотра вышеуказанного массива в Adobe 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 ### по этой ссылке (стр. 45) -
http://www.newhopechurch.ca/docs/tech/AUDITION.pdf
выдает следующее:
Текстовые данные ASCII (.txt) Аудиоданные могут быть считаны или записаны из файлов в стандартном текстовом формате, причем каждый образец отделяется переводом каретки, а каналы - символом табуляции. Необязательный заголовок может быть помещен> перед данными. Если текст заголовка отсутствует, предполагается, что данные представляют собой 16-разрядные целые числа со знаком. Заголовок форматируется как KEYWORD: значение с ключевыми словами: SAMPLES, BITSPERSAMPLE, CHANNELS, SAMPLERATE и NORMALIZED. > Значения для NORMALIZED - ИСТИНА или ЛОЖЬ. Например, SAMPLES: 1582 BITSPERSAMPLE: 16 CHANNELS: 2 SAMPLERATE: 22050 NORMALIZED: FALSE 164 -1372 492 -876 и т. Д... Параметры Выберите любой из следующих параметров: • Включить заголовок формата помещает заголовок перед данными. • Нормализованные данные нормализуют данные в диапазоне от -1,0 до 1,0.
1 ответ
numpy.savetxt
не создает файлы WAV. Ты можешь использовать scipy.io.wavfile.write
,
Например, следующее создает файл WAV, содержащий один канал (монофонический). Сигнал представляет собой 3 секунды синусоидальной волны 440 Гц, дискретизированной с частотой 44100 выборок в секунду.
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
,