Il problema principale con il codice sorgente di rimozione vocale python è che non è open source. Ciò significa che il codice non è disponibile per chiunque possa rivederlo e potenzialmente migliorarlo. Questo può portare a problemi con l'affidabilità del software e la qualità complessiva.
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
Questo codice sta importando varie librerie che verranno utilizzate nella funzione vocal_remover.
La funzione vocal_remover accetta un input di un nome file e legge il file audio utilizzando la libreria wavfile.
Quindi prende il valore assoluto del segnale e trova la lunghezza del segnale.
Il segnale viene quindi sottoposto a una trasformata di Fourier, che crea un elenco di frequenze corrispondenti alla lunghezza del segnale.
Tutte le frequenze superiori a 1000 Hz sono impostate su 0 in trasformata di Fourier. Questo perché la maggior parte delle voci si trova all'interno di questa gamma di frequenze.
La trasformata di Fourier inversa viene presa per tornare al dominio del tempo e questo segnale finale viene restituito dalla funzione.
Lavora con i personaggi
Ci sono alcuni modi per lavorare con i caratteri in Python. Un modo consiste nell'usare la funzione str() per ottenere una rappresentazione di stringa di un carattere. Ad esempio, il codice seguente stampa la lettera "a" sullo schermo:
print("La lettera 'a'.")
Un altro modo per lavorare con i caratteri in Python è usare la funzione chr(). Questa funzione accetta un numero intero come input e restituisce un carattere corrispondente a quel numero. Ad esempio, il codice seguente stampa la lettera "a" sullo schermo:
print("Il carattere 'a' è")
chr (1)
Testo e oggetti
In Python, il testo è rappresentato da una sequenza di caratteri Unicode. Gli oggetti sono anche sequenze di caratteri Unicode, ma possono contenere anche altri tipi di dati, come numeri e stringhe.