U zgjidh: kodi burimor i heqësit të zërit python

Problemi kryesor me kodin burimor të heqësit të zërit python është se ai nuk është me burim të hapur. Kjo do të thotë që kodi nuk është i disponueshëm për këdo që ta shqyrtojë dhe të përmirësojë potencialisht. Kjo mund të çojë në probleme me besueshmërinë dhe cilësinë e përgjithshme të softuerit.

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

Ky kod po importon biblioteka të ndryshme që do të përdoren në funksionin vocal_remover.

Funksioni vocal_remover merr një hyrje të emrit të skedarit dhe lexon në skedarin audio duke përdorur bibliotekën e skedarëve wav.

Më pas merr vlerën absolute të sinjalit dhe gjen gjatësinë e sinjalit.

Sinjali vendoset më pas përmes një transformimi Furier, i cili krijon një listë të frekuencave që korrespondojnë me gjatësinë e sinjalit.

Të gjitha frekuencat mbi 1000 Hz janë vendosur në 0 në Transformimin Fourier. Kjo është për shkak se shumica e vokaleve shtrihen brenda këtij diapazoni të frekuencave.

Transformimi i anasjelltë i Furierit merret për t'u kthyer në domenin e kohës dhe ky sinjal përfundimtar kthehet nga funksioni.

Punoni me personazhet

Ka disa mënyra për të punuar me personazhet në Python. Një mënyrë është përdorimi i funksionit str() për të marrë një paraqitje të vargut të një karakteri. Për shembull, kodi i mëposhtëm shtyp shkronjën "a" në ekran:

print ("Shkronja 'a'.")

Një mënyrë tjetër për të punuar me karaktere në Python është përdorimi i funksionit chr(). Ky funksion merr një numër të plotë si hyrje dhe kthen një karakter që korrespondon me atë numër. Për shembull, kodi i mëposhtëm shtyp shkronjën "a" në ekran:

print ("Karakteri 'a' është")
chr (1)

Teksti dhe objektet

Në Python, teksti përfaqësohet nga një sekuencë karakteresh Unicode. Objektet janë gjithashtu sekuenca të karaktereve Unicode, por ato gjithashtu mund të përmbajnë lloje të tjera të dhënash, të tilla si numra dhe vargje.

Mesazhe të ngjashme:

Lini një koment