Untitled
unknown
plain_text
9 months ago
659 B
13
Indexable
import numpy as np
import soundfile as sf
import sounddevice as sd
from sklearn.decomposition import FastICA
def normalise_audio(Z):
Z = Z-np.mean(Z, axis=1, keepdims=True)
return Z/np.max(np.abs(Z), axis=1,keepdims=True)
s1, Fs = sf.read("source1.wav",dtype="float64")
s3, Fs = sf.read("source3.wav",dtype="float64")
Ztrue= normalise_audio(np.vstack([s1,s3]))
Zmixed= normalise_audio (np.array([[0.55,0.45],[0.35,0.25]])@ Ztrue)
ica = FastICA(n_components=2, max_iter=1000)
Zica= normalise_audio(ica.fit_transform(Zmixed.T).T)
sd.play(Zmixed[0],Fs); sd.wait()
sd.play(Zica[0],Fs); sd.wait()
sd.play(Zmixed[1],Fs); sd.wait()
Editor is loading...
Leave a Comment