AttributeError: module 'fluidsynth' has no attribute 'Synth'

Переписывал код с туториала и вылезает ошибка

File "C:\Users\User\Desktop\music.py", line 46, in <module>
    display_audio(pm)
  File "C:\Users\User\Desktop\music.py", line 41, in display_audio
    waveform = pm.fluidsynth(fs=_SAMPLING_RATE)
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pretty_midi\pretty_midi.py", line 974, in fluidsynth
    waveforms = [i.fluidsynth(fs=fs,
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pretty_midi\pretty_midi.py", line 974, in <listcomp>
    waveforms = [i.fluidsynth(fs=fs,
  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pretty_midi\instrument.py", line 468, in fluidsynth
    fl = fluidsynth.Synth(samplerate=fs)
AttributeError: module 'fluidsynth' has no attribute 'Synth'

Код:

import collections
import datetime
import fluidsynth
import glob
import numpy as np
import pathlib
import pandas as pd
import pretty_midi
import seaborn as sns
import tensorflow as tf

from IPython import display
from matplotlib import pyplot as plt
from typing import Dict, List, Optional, Sequence, Tuple

seed = 42
tf.random.set_seed(seed)
np.random.seed(seed)

# Sampling rate for audio playback
_SAMPLING_RATE = 16000

data_dir = pathlib.Path('data/maestro-v2.0.0')
if not data_dir.exists():
    tf.keras.utils.get_file(
      'maestro-v2.0.0-midi.zip',
      origin='https://storage.googleapis.com/magentadata/datasets/maestro/v2.0.0/maestro-v2.0.0-midi.zip',
      extract=True,
      cache_dir='.', cache_subdir='data',
    )

filenames = glob.glob(str(data_dir/'**/*.mid*'))
print('Number of files:', len(filenames))

sample_file = filenames[1]
print(sample_file)

pm = pretty_midi.PrettyMIDI(sample_file)

def display_audio(pm: pretty_midi.PrettyMIDI, seconds=30):
    waveform = pm.fluidsynth(fs=_SAMPLING_RATE)  # тут возникает ошибка
    # Take a sample of the generated waveform to mitigate kernel resets
    waveform_short = waveform[:seconds*_SAMPLING_RATE]
    return display.Audio(waveform_short, rate=_SAMPLING_RATE)

display_audio(pm)

Ответы (0 шт):