Gelöst: Sprachentfernungs-Quellcode Python

Das Hauptproblem mit Python-Quellcode zum Entfernen von Vocals besteht darin, dass es sich nicht um Open Source handelt. Dies bedeutet, dass der Code für niemanden zur Überprüfung und potenziellen Verbesserung verfügbar ist. Dies kann zu Problemen mit der Zuverlässigkeit und Gesamtqualität der Software führen.

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

Dieser Code importiert verschiedene Bibliotheken, die in der Funktion vocal_remover verwendet werden.

Die Funktion vocal_remover nimmt eine Eingabe eines Dateinamens entgegen und liest die Audiodatei unter Verwendung der wavfile-Bibliothek ein.

Es nimmt dann den Absolutwert des Signals und findet die Länge des Signals.

Das Signal wird dann einer Fourier-Transformation unterzogen, die eine Liste von Frequenzen erstellt, die der Länge des Signals entsprechen.

Alle Frequenzen über 1000 Hz werden in der Fourier-Transformation auf 0 gesetzt. Dies liegt daran, dass die meisten Vocals in diesem Frequenzbereich liegen.

Die inverse Fourier-Transformation wird verwendet, um zum Zeitbereich zurückzukehren, und dieses endgültige Signal wird von der Funktion zurückgegeben.

Arbeiten Sie mit Charakteren

Es gibt einige Möglichkeiten, mit Zeichen in Python zu arbeiten. Eine Möglichkeit besteht darin, die Funktion str() zu verwenden, um eine Zeichenfolgendarstellung eines Zeichens zu erhalten. Der folgende Code gibt beispielsweise den Buchstaben „a“ auf dem Bildschirm aus:

print("Der Buchstabe 'a'.")

Eine andere Möglichkeit, mit Zeichen in Python zu arbeiten, ist die Verwendung der Funktion chr(). Diese Funktion nimmt eine Ganzzahl als Eingabe und gibt ein dieser Zahl entsprechendes Zeichen zurück. Der folgende Code gibt beispielsweise den Buchstaben „a“ auf dem Bildschirm aus:

print("Das Zeichen 'a' ist")
Chr(1)

Texte und Objekte

In Python wird Text durch eine Folge von Unicode-Zeichen dargestellt. Objekte sind ebenfalls Folgen von Unicode-Zeichen, können aber auch andere Datentypen wie Zahlen und Zeichenfolgen enthalten.

Zusammenhängende Posts:

Hinterlasse einen Kommentar