- AttributeError: у модуля «demucs» нет атрибута «Разделитель» (1)
- ImportError: невозможно импортировать имя «load_pretrained» из «demucs.pretrained» (2) (C:\Users\User\anaconda3\envs\Pytorch\Lib\site-packages\demucs\pretrained.py)
- ModuleNotFoundError: нет модуля с именем «demucs.api» (3)
- ModuleNotFoundError: нет модуля с именем «demucs.model»(4)
- Проверил версии библиотеки
- Обновил demucs и другие пакеты
- удалил и переустановил их
Может кто-нибудь помочь мне решить эту проблему? Что я делаю или почему demucs работает неправильно?
(1)
import demucs
separator = demucs.Separator()
model = demucs.load_pretrained('demucs')
audio_sources = separator.separate('Zweite_Aufnahme_mit_Piano.wav')
for source_name, source_audio in audio_sources.items():
source_audio.to_file(source_name + '.wav')
(2)
import torchaudio
from demucs.pretrained import load_pretrained
import soundfile as sf
import os
input_audio_file = 'Zweite_Aufnahme_mit_Piano.wav'
output_directory = 'Separated_audios'
model = load_pretrained('demucs_quantized')
audio, _ = torchaudio.load(input_audio_file)
sources = model(audio)
os.makedirs(output_directory, exist_ok=True)
for i, source in enumerate(sources):
source_path = os.path.join(output_directory, f'source_{i}.wav')
sf.write(source_path, source[0].numpy(), 44100)
print("Source separation complete. Separated sources saved in the output directory.")
(3)
from pydub import AudioSegment
import IPython
import numpy as np
import demucs.api
import pathlib
import torch
audiosegment = AudioSegment.from_mp3("Zweite_Aufnahme_mit_Piano.wav")
arr = audiosegment.get_array_of_samples()
sr = audiosegment.frame_rate
ch = audiosegment.channels
aac = np.array(arr, dtype=np.float32).reshape((-1, ch))
aac = aac[30*sr:40*sr,:]
IPython.display.Audio(aac[:, 0], rate=sr)
separator = demucs.api.Separator()
model = separator.load_model()
input = torch.from_numpy(aac.reshape((ch, -1)))
separator.add_track("born", input)
separated = separator.separate_loaded_audio()
for (file, stems) in separated:
for stem, waveform in stems.items():
print(stem)
print(waveform.shape)
aac_again = waveform.numpy().reshape((-1, ch))
IPython.display.display(IPython.display.Audio(aac_again[:,0], rate=sr))
(4)
import torchaudio
from demucs.model import load_pretrained
audio, sample_rate = torchaudio.load('Zweite_Aufnahme_mit_Piano.wav')
model = load_pretrained('demucs')
separated_sources = model(audio)
torchaudio.save('vocals.wav', separated_sources['vocals'], sample_rate)
torchaudio.save('accompaniment.wav', separated_sources['accompaniment'], sample_rate)
torchaudio.save('drums.wav', separated_sources['drums'], sample_rate)
torchaudio.save('bass.wav', separated_sources['bass'], sample_rate)
Подробнее здесь: https://stackoverflow.com/questions/773 ... nt-working
Мобильная версия