Я получаю две ошибки: у объекта '' Algo 'нет атрибута' audio '', а имя 'logNorm' не определено
Возможно, я забыл загрузить некоторые библиотеки?
Мой код в Google collab .
Код, о котором идет речь:
из matplotlib.colors import LogNorm import essentia
mfccs = [] melbands = [] melbands_log = []
для кадра в FrameGenerator (audio, frameSize = 1024, hopSize = 512, startFromZero = True): mfcc_bands, mfcc_coeffs = mfcc (спектр (w (кадр))) mfccs.append (mfcc_coeffs) melbands.append (mfcc_bands).append (logNorm (mfcc_bands)) mfccs = essentia.array (mfccs) .T melbands = essentia.array (melbands) .T melbands_log = essentia.array (melbands_log) .T
imshow (melbands [:,:], aspect = 'auto', origin = 'lower', interpolation = 'none') plt.title ("Спектральные энергии Mel-диапазона в кадрах") show ()
imshow (melbands_log [:,:], aspect = 'auto', origin = 'lower', interpolation = 'none') plt.title ("Логаризованные спектральные энергии мель-диапазона в кадрах") show ()
imshow (mfccs [1:,:], aspect = 'auto', origin = 'lower', interpolation = 'none') plt.title ("MFCCs in frames") show ()
NameError Traceback (большинство полученныхне вызывать последний) in () 10 mfccs.append (mfcc_coeffs) 11 melbands.append (mfcc_bands) ---> 12 melbands_log.append (logNorm (mfcc_bands)) 13 14 # транспонировать, чтобы сделать его в лучшей форме
NameError: имя 'logNorm' не определено
И:
из импорта Pylab * из Essencetia.streaming импорта * loader = ess.MonoLoader (имя файла = файл) framecutter = ess.FrameCutter (frameSize = 4096, hopSize = 2048) windowing = ess.Windowing (type = 'blackmanharris62') spectrum = ess.Spectrum () spectralpeaks = ess.SpectralPeaks (orderBy = "величина", magnitudeThreshold = 0,00001,minFrequency = 20, maxFrequency = 3500, maxPeaks = 60)
hpcp = ess.HPCP () hpcp_key = ess.HPCP (size = 36, # нам потребуется более высокое разрешение для оценки ключа referenceFrequency = 440, # предполагаемчастота настройки - 44100. bandPreset = False, minFrequency = 20, maxFrequency = 3500, weightType = 'cosine', nonLinear = False, windowSize = 1.)
key = ess.Key (profileType = 'edma',# Используйте профиль для электронной музыки numHarmonics = 4, pcpSize = 36, наклон = 0,6, usePolyphony = True, useThreeChords = True) pool = essentia.Pool () loader.audio >> framecutter.signal framecutter.frame >> windowing.frame >> spectrum.frame spectrum.spectrum >> spectralpeaks.spectrum spectralpeaks.magnabilities >> hpcp.magnabilities spectralpeaks.frequencies >> hpcp.frequencies spectralpeaks.magnabilities >> hpcp_key.magnabilities spectralpeaks.frequencies >> hpcp_key.frequencies hpcp_key.hpcp >> hpcp> (pool, 'tonal.hpcp') key.key >> (pool, 'tonal.key_key') key.scale >> (pool, 'tonal.key_scale') key.strength >> (пул, 'tonal.key_strength)') essentia.run (загрузчик)
imshow (pool [' tonal.hpcp ']. T, aspect =' auto ', origin =' lower ', interpolation =' none ') plt.title ("HPCP в кадрах (0-й коэффициент HPCP соответствует A) ") show ()
print (" Расчетный ключ и масштаб: ", пул ['tonal.key_key'] +" "+ пул ['tonal.key_scale '])
AttributeError Traceback (последний последний вызов) в () 37 38 # Подключить алгоритм потоковой передачиs ---> 39 loader.audio >> framecutter.signal40 framecutter.frame >> windowing.frame >> spectrum.frame 41 spectrum.spectrum >> spectralpeaks.spectrum
AttributeError: у объекта 'Algo' нет атрибута 'audio'
Это работало раньше, я думаю, потому что я запустил ноутбук в другом порядке.Как-то теперь это не работает ... Есть мысли?Это в основном учебный код ...