from sklearn.decomposition import FastICA
from pydub import AudioSegment
# Load the audio signal
audio = AudioSegment.from_file("playback.weba", format="webm")
# Perform Independent Component Analysis
ica = FastICA(n_components=2)
sources = ica.fit_transform(audio)
# Save the separated audio sources
sources[0].export("source1.wav", format="wav")
sources[1].export("source2.wav", format="wav")
Traceback (most recent call last):
File “c:UsersaffanDesktop2.py”, line 10, in
sources = ica.fit_transform(audio)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearnutils_set_output.py”, line 295, in wrapped
data_to_wrap = f(self, X, *args, **kwargs)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearnbase.py”, line 1474, in wrapper
return fit_method(estimator, *args, **kwargs)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearndecomposition_fastica.py”, line 713, in fit_transform
return self._fit_transform(X, compute_sources=True)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearndecomposition_fastica.py”, line 564, in _fit_transform
XT = self._validate_data(
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearnbase.py”, line 633, in _validate_data
out = check_array(X, input_name=”X”, **check_params)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearnutilsvalidation.py”, line
997, in check_array
array = _asarray_with_order(array, order=order, dtype=dtype, xp=xp)
File “C:UsersaffanAppDataLocalProgramsPythonPython310libsite-packagessklearnutils_array_api.py”, line
521, in _asarray_with_order
array = numpy.asarray(array, order=order, dtype=dtype)
ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 32.
I want to separate the music from audio. What’s the problem and is there any better way to do this?
Affan R-634 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.