Librosa для получения основных параметров звука

При получении основных параметров аудиофайла с помощью Wave:

import wave

data = wave.open('c:\\sample.wav', mode = 'rb')
params = data.getparams()
print params

Он возвращает:

(1, 2, 4000, 160000, 'NONE', 'not compressed')

Это для: nchannels = 1, sampwidth = 2, framerate = 16000, nframes = 47104, comptype = 'NONE', compname = 'без сжатия

Я предполагаю, что у Librosa есть аналогичные функции, но после поисков ничего не выяснилось.

Есть ли у Librosa команды для получения аналогичных результатов?

Спасибо.


person Mark K    schedule 17.07.2019    source источник
comment
AFAIK, сама librosa только обертывает другие библиотеки, такие как audioread, для декодирования звука. librosa определенно не предоставляет такую ​​информацию.   -  person Hendrik    schedule 17.07.2019


Ответы (1)


Librosa Core обладает некоторыми функциями, которые вам нужны. librosa.core.load загрузит файл типа wave, но не выдаст Подробная информация.

import librosa

# Load an example file in .ogg format
fileName = librosa.util.example_audio_file()
audioData, sampleRate = librosa.load(fileName)

print(audioData)
>>> [ -4.756e-06,  -6.020e-06, ...,  -1.040e-06,   0.000e+00]

print(audioData.shape)
>>> (1355168,)

print(sampleRate)
>>> 22050

Форма audioData укажет вам количество каналов. Форма типа (n,) - моно, а (2, n) - стерео. n в форме - это длина аудио в сэмплах. Если вам нужна продолжительность в секундах, посмотрите librosa.core.get_duration.

Как и @hendrick в своем комментарии, на странице расширенного ввода-вывода Librosa говорится, что librosa использует _ 10_ и audioread для аудиовхода / вывода и load Исходный код показывает, что он просто оборачивается вокруг этих библиотек.

Однако не должно возникнуть проблем с использованием wave для загрузки аудиофайла и librosa для анализа, если вы следуете API librosa. Есть ли у вас конкретная проблема или цель, которую нужно достичь?

person Julian Fortune    schedule 19.07.2019
comment
спасибо за обмен знаниями. Просто вопрос интереса, конкретной проблемы пока нет. :) - person Mark K; 19.07.2019