Isonjululwe: ikhowudi yomthombo wesisusa selizwi ipithon

Ingxaki ephambili ngekhowudi ye-vocal remover source code python kukuba ayingomthombo ovulekileyo. Oku kuthetha ukuba ikhowudi ayifumaneki kuye nabani na ukuba ayiphonononge kwaye aphucule kuyo. Oku kunokukhokelela kwiingxaki ngokuthembeka kwesoftware kunye nomgangatho jikelele.

import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile
from scipy import signal
from scipy.fftpack import fft, ifft
import os


def vocal_remover(filename):

    # read in audio file 
    fs, data = wavfile.read(filename)

    # take the absolute value of the signal 
    data = np.absolute(data)

    # find the length of the signal 
    N = len(data)

    # take the Fourier Transform of the signal 
    fourier = fft(data)

    # create a list of frequencies corresponding to the length of the signal 
    freqs = np.fft.fftfreq(N, 1/fs)

     # find all frequencies above 1000 Hz (1 kHz) and set them to 0 in Fourier Transform 
     for i in range (len(fourier)):   if abs(freqs[i]) > 1000:   fourier[i] = 0+0j

     # take inverse Fourier Transform to get back to time domain 
     inverse_fourier = ifft(fourier).real

     return inverse_fourier

Le khowudi ingenisa ngaphandle amathala eencwadi ahlukeneyo aya kusetyenziswa kumsebenzi we-vocal_remover.

Umsebenzi we-vocal_remover uthatha igalelo legama lefayile, kwaye ufunda kwifayile yomsindo usebenzisa ilayibrari ye-wavfile.

Emva koko ithatha ixabiso elipheleleyo lomqondiso, kwaye ifumana ubude bomqondiso.

Umqondiso ke ufakwa kwiFourier Transform, eyenza uluhlu lwezandi ezihambelana nobude bophawu.

Zonke iifrikhwensi ezingaphezulu kwe-1000 Hz zimiselwe ku-0 kwi-Fourier Transform. Oku kungenxa yokuba uninzi lwamazwi ahlala kolu luhlu lwamaza.

Uguqulo lweFourier oluguqukileyo luthatyathelwa ukubuyela kwindawo yexesha, kwaye olu phawu lokugqibela lubuyiselwa ngumsebenzi.

Sebenza ngabalinganiswa

Kukho iindlela ezimbalwa zokusebenza nabalinganiswa kwiPython. Enye indlela kukusebenzisa i str () umsebenzi ukufumana umtya wokumelwa komlinganiswa. Umzekelo, le khowudi ilandelayo iprinta unobumba “a” kwisikrini:

print("Unobumba 'a'.")

Enye indlela yokusebenza nabalinganiswa kwiPython kukusebenzisa chr () umsebenzi. Lo msebenzi uthatha inani elipheleleyo njengegalelo kwaye ubuyisela unobumba ohambelana nelo nani. Umzekelo, le khowudi ilandelayo iprinta unobumba “a” kwisikrini:

print(“Umlinganiswa 'a' ngu”)
isikh(1)

Isicatshulwa kunye nezinto

KwiPython, umbhalo umelwe ngokulandelelana kweempawu ze-Unicode. Izinto zikwalulandelelwano lweempawu ze-Unicode, kodwa zinokuqulatha ezinye iindidi zedatha, ezinjengamanani kunye neentambo.

Izithuba ezihambelanayo:

Shiya Comment