Löst: vocal remover källkod python

Det största problemet med vocal remover källkod python är att det inte är öppen källkod. Det betyder att koden inte är tillgänglig för någon att granska och eventuellt förbättra. Detta kan leda till problem med programvarans tillförlitlighet och övergripande kvalitet.

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

Den här koden importerar olika bibliotek som kommer att användas i vocal_remover-funktionen.

Funktionen vocal_remover tar en inmatning av ett filnamn och läser in ljudfilen med hjälp av wavfile-biblioteket.

Den tar sedan signalens absoluta värde och hittar signalens längd.

Signalen förs sedan genom en Fouriertransform, som skapar en lista med frekvenser som motsvarar signalens längd.

Alla frekvenser över 1000 Hz är inställda på 0 i Fourier Transform. Detta beror på att de flesta sång ligger inom detta frekvensområde.

Den inversa Fouriertransformen tas för att komma tillbaka till tidsdomänen, och denna slutsignal returneras av funktionen.

Arbeta med karaktärer

Det finns några sätt att arbeta med karaktärer i Python. Ett sätt är att använda str()-funktionen för att få en strängrepresentation av ett tecken. Följande kod skriver till exempel ut bokstaven "a" på skärmen:

print(“Bokstaven 'a'.”)

Ett annat sätt att arbeta med tecken i Python är att använda chr()-funktionen. Denna funktion tar ett heltal som indata och returnerar ett tecken som motsvarar det numret. Följande kod skriver till exempel ut bokstaven "a" på skärmen:

print(”Tecknet 'a' är”)
chr(1)

Text och objekt

I Python representeras text av en sekvens av Unicode-tecken. Objekt är också sekvenser av Unicode-tecken, men de kan också innehålla andra datatyper, som siffror och strängar.

Relaterade inlägg:

Lämna en kommentar