Løst: vokalfjerner kildekode python

Det største problem med vokalfjerner kildekode python er, at det ikke er open source. Det betyder, at koden ikke er tilgængelig for nogen at gennemgå og potentielt forbedre. Dette kan føre til problemer med softwarens pålidelighed og overordnede 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

Denne kode importerer forskellige biblioteker, der vil blive brugt i vocal_remover-funktionen.

Funktionen vocal_remover tager et input af et filnavn og læser lydfilen ind ved hjælp af wavfile-biblioteket.

Den tager derefter den absolutte værdi af signalet og finder længden af ​​signalet.

Signalet føres derefter gennem en Fourier Transform, som skaber en liste over frekvenser svarende til længden af ​​signalet.

Alle frekvenser over 1000 Hz er sat til 0 i Fourier Transform. Dette skyldes, at de fleste vokaler ligger inden for dette frekvensområde.

Den inverse Fourier Transform tages for at komme tilbage til tidsdomænet, og dette endelige signal returneres af funktionen.

Arbejd med karakterer

Der er et par måder at arbejde med karakterer i Python. En måde er at bruge funktionen str() til at få en strengrepræsentation af et tegn. For eksempel udskriver følgende kode bogstavet "a" på skærmen:

print(“Bogstavet 'a'.”)

En anden måde at arbejde med tegn i Python på er at bruge chr()-funktionen. Denne funktion tager et heltal som input og returnerer et tegn, der svarer til dette tal. For eksempel udskriver følgende kode bogstavet "a" på skærmen:

print ("Tegnet 'a' er")
chr(1)

Tekst og objekter

I Python er tekst repræsenteret af en sekvens af Unicode-tegn. Objekter er også sekvenser af Unicode-tegn, men de kan også indeholde andre datatyper, såsom tal og strenge.

Relaterede indlæg:

Efterlad en kommentar