Opgelost: vocal remover broncode python

Het grootste probleem met de broncode van vocal remover python is dat het geen open source is. Dit betekent dat de code voor niemand beschikbaar is om te beoordelen en mogelijk te verbeteren. Dit kan leiden tot problemen met de betrouwbaarheid en algehele kwaliteit van de 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

Deze code importeert verschillende bibliotheken die zullen worden gebruikt in de functie vocal_remover.

De functie vocal_remover neemt een invoer van een bestandsnaam en leest het audiobestand in met behulp van de wavfile-bibliotheek.

Het neemt dan de absolute waarde van het signaal en vindt de lengte van het signaal.

Het signaal wordt vervolgens door een Fourier-transformatie geleid, die een lijst met frequenties creëert die overeenkomt met de lengte van het signaal.

Alle frequenties boven 1000 Hz worden in Fourier Transform op 0 gezet. Dit komt omdat de meeste vocalen binnen dit frequentiebereik liggen.

De inverse Fourier-transformatie wordt genomen om terug te gaan naar het tijdsdomein en dit laatste signaal wordt geretourneerd door de functie.

Werk met karakters

Er zijn een paar manieren om met karakters in Python te werken. Eén manier is om de functie str() te gebruiken om een ​​tekenreeksrepresentatie van een teken te krijgen. De volgende code drukt bijvoorbeeld de letter "a" op het scherm af:

print(“De letter 'a'.”)

Een andere manier om met karakters in Python te werken, is door de functie chr() te gebruiken. Deze functie neemt een geheel getal als invoer en retourneert een teken dat overeenkomt met dat getal. De volgende code drukt bijvoorbeeld de letter "a" op het scherm af:

print ("Het teken 'a' is")
chr(1)

Tekst en objecten

In Python wordt tekst weergegeven door een reeks Unicode-tekens. Objecten zijn ook reeksen Unicode-tekens, maar ze kunnen ook andere gegevenstypen bevatten, zoals getallen en tekenreeksen.

Gerelateerde berichten:

Laat een bericht achter