Решено: премахване на гласни гласове изходен код python

Последна актуализация: 09/11/2023

Основният проблем с изходния код на python за премахване на гласове е, че той не е с отворен код. Това означава, че кодът не е достъпен за преглед и евентуално подобряване на кода. Това може да доведе до проблеми с надеждността и цялостното качество на софтуера.

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

Този код импортира различни библиотеки, които ще бъдат използвани във функцията vocal_remover.

Функцията vocal_remover приема въвеждане на име на файл и чете аудио файла с помощта на библиотеката wavfile.

След това взема абсолютната стойност на сигнала и намира дължината на сигнала.

След това сигналът се подлага на трансформация на Фурие, която създава списък от честоти, съответстващи на дължината на сигнала.

Всички честоти над 1000 Hz са зададени на 0 в трансформацията на Фурие. Това е така, защото повечето вокали се намират в този диапазон от честоти.

Обратното преобразуване на Фурие се взема, за да се върне към времевия домейн и този краен сигнал се връща от функцията.

Работа с герои

Има няколко начина за работа със знаци в Python. Един от начините е да използвате функцията str(), за да получите низово представяне на символ. Например следният код отпечатва буквата „а“ на екрана:

print("Буквата 'а'.")

Друг начин за работа със знаци в Python е да използвате функцията chr(). Тази функция приема цяло число като вход и връща символ, съответстващ на това число. Например следният код отпечатва буквата „а“ на екрана:

print(“Символът 'a' е")
chr (1)

Текст и обекти

В Python текстът е представен от поредица от Unicode знаци. Обектите също са поредици от Unicode символи, но могат да съдържат и други типове данни, като числа и низове.

Подобни публикации:

Оставете коментар