Išspręsta: vokalo šalinimo šaltinio kodas python

Pagrindinė vokalo šalinimo šaltinio kodo python problema yra ta, kad jis nėra atvirojo kodo. Tai reiškia, kad kodo niekas negali peržiūrėti ir galbūt patobulinti. Dėl to gali kilti problemų dėl programinės įrangos patikimumo ir bendros kokybės.

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

Šis kodas importuoja įvairias bibliotekas, kurios bus naudojamos vocal_remover funkcijai.

Funkcija vocal_remover įveda failo pavadinimą ir nuskaito garso failą naudodama wavfile biblioteką.

Tada jis paima absoliučią signalo vertę ir nustato signalo ilgį.

Tada signalas perduodamas Furjė transformacijai, kuri sukuria dažnių sąrašą, atitinkantį signalo ilgį.

Visi dažniai, viršijantys 1000 Hz, Furjė transformacijoje nustatomi į 0. Taip yra todėl, kad dauguma vokalo yra šiame dažnių diapazone.

Norint grįžti į laiko sritį, imama atvirkštinė Furjė transformacija, o funkcija grąžina šį galutinį signalą.

Darbas su personažais

Yra keletas būdų, kaip dirbti su simboliais Python. Vienas iš būdų yra naudoti str() funkciją, kad gautumėte simbolio eilutę. Pavyzdžiui, šis kodas spausdina raidę „a“ ekrane:

spausdinti („Raidė „a“).

Kitas būdas dirbti su simboliais Python yra naudoti chr() funkciją. Ši funkcija kaip įvestį paima sveikąjį skaičių ir grąžina tą skaičių atitinkantį simbolį. Pavyzdžiui, šis kodas spausdina raidę „a“ ekrane:

print („A simbolis yra“)
chr (1)

Tekstas ir objektai

Python sistemoje tekstas vaizduojamas Unicode simbolių seka. Objektai taip pat yra unikodo simbolių sekos, tačiau juose taip pat gali būti kitų tipų duomenų, pvz., skaičių ir eilučių.

Susijusios naujienos:

Palikite komentarą