Solucionat: el codi font de l'eliminador vocal python

El principal problema amb el codi font de l'eliminador vocal Python és que no és de codi obert. Això vol dir que el codi no està disponible perquè ningú pugui revisar-lo i, potencialment, millorar-lo. Això pot provocar problemes amb la fiabilitat i la qualitat general del programari.

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

Aquest codi està important diverses biblioteques que s'utilitzaran a la funció vocal_remover.

La funció vocal_remover pren una entrada d'un nom de fitxer i llegeix el fitxer d'àudio mitjançant la biblioteca de fitxers wav.

A continuació, pren el valor absolut del senyal i troba la longitud del senyal.

A continuació, el senyal passa per una transformada de Fourier, que crea una llista de freqüències corresponents a la longitud del senyal.

Totes les freqüències superiors a 1000 Hz s'estableixen a 0 en la transformada de Fourier. Això es deu al fet que la majoria de les veus es troben dins d'aquest rang de freqüències.

Es pren la Transformada de Fourier inversa per tornar al domini del temps, i la funció retorna aquest senyal final.

Treballar amb personatges

Hi ha algunes maneres de treballar amb personatges a Python. Una manera és utilitzar la funció str() per obtenir una representació de cadena d'un caràcter. Per exemple, el codi següent imprimeix la lletra "a" a la pantalla:

print ("La lletra 'a'.")

Una altra manera de treballar amb caràcters a Python és utilitzar la funció chr(). Aquesta funció pren un nombre enter com a entrada i retorna un caràcter corresponent a aquest nombre. Per exemple, el codi següent imprimeix la lletra "a" a la pantalla:

print("El caràcter 'a' és")
chr(1)

Text i objectes

A Python, el text es representa amb una seqüència de caràcters Unicode. Els objectes també són seqüències de caràcters Unicode, però també poden contenir altres tipus de dades, com ara números i cadenes.

Articles Relacionats:

Deixa el teu comentari