Nalutas: vocal remover source code python

Ang pangunahing problema sa vocal remover source code na python ay hindi ito open source. Nangangahulugan ito na ang code ay hindi magagamit para sa sinuman upang suriin at potensyal na mapabuti. Maaari itong humantong sa mga problema sa pagiging maaasahan at pangkalahatang kalidad ng software.

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

Ang code na ito ay nag-i-import ng iba't ibang mga aklatan na gagamitin sa vocal_remover function.

Ang vocal_remover function ay kumukuha ng input ng isang filename, at nagbabasa sa audio file gamit ang wavfile library.

Pagkatapos ay kinukuha nito ang ganap na halaga ng signal, at hinahanap ang haba ng signal.

Ang signal ay pagkatapos ay ilagay sa pamamagitan ng Fourier Transform, na lumilikha ng isang listahan ng mga frequency na tumutugma sa haba ng signal.

Ang lahat ng mga frequency na higit sa 1000 Hz ay ​​nakatakda sa 0 sa Fourier Transform. Ito ay dahil karamihan sa mga vocal ay nasa loob ng hanay na ito ng mga frequency.

Ang inverse Fourier Transform ay kinuha upang makabalik sa time domain, at ang huling signal na ito ay ibinalik ng function.

Makipagtulungan sa mga character

Mayroong ilang mga paraan upang gumana sa mga character sa Python. Ang isang paraan ay ang paggamit ng str() function para makakuha ng string na representasyon ng isang character. Halimbawa, ang sumusunod na code ay nagpi-print ng titik "a" sa screen:

print("Ang titik 'a'.")

Ang isa pang paraan upang gumana sa mga character sa Python ay ang paggamit ng chr() function. Ang function na ito ay tumatagal ng isang integer bilang input at nagbabalik ng isang character na naaayon sa numerong iyon. Halimbawa, ang sumusunod na code ay nagpi-print ng titik "a" sa screen:

print("Ang karakter na 'a' ay")
chr(1)

Teksto at mga bagay

Sa Python, ang teksto ay kinakatawan ng isang pagkakasunud-sunod ng mga character na Unicode. Ang mga bagay ay mga pagkakasunud-sunod din ng mga Unicode na character, ngunit maaari rin silang maglaman ng iba pang mga uri ng data, gaya ng mga numero at string.

Kaugnay na mga post:

Mag-iwan ng komento