Masalah utama dengan kode sumber penghapus vokal python adalah bahwa itu bukan open source. Ini berarti bahwa kode tersebut tidak tersedia bagi siapa pun untuk ditinjau dan berpotensi diperbaiki. Ini dapat menyebabkan masalah dengan keandalan dan kualitas perangkat lunak secara keseluruhan.
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
Kode ini mengimpor berbagai pustaka yang akan digunakan dalam fungsi vocal_remover.
Fungsi vocal_remover mengambil input nama file, dan membaca file audio menggunakan pustaka wavfile.
Kemudian mengambil nilai absolut dari sinyal, dan menemukan panjang sinyal.
Sinyal kemudian dimasukkan melalui Transformasi Fourier, yang membuat daftar frekuensi yang sesuai dengan panjang sinyal.
Semua frekuensi di atas 1000 Hz diatur ke 0 dalam Transformasi Fourier. Ini karena sebagian besar vokal berada dalam rentang frekuensi ini.
Transformasi Fourier terbalik diambil untuk kembali ke domain waktu, dan sinyal terakhir ini dikembalikan oleh fungsi.
Bekerja dengan karakter
Ada beberapa cara untuk bekerja dengan karakter di Python. Salah satu caranya adalah dengan menggunakan fungsi str() untuk mendapatkan representasi string dari suatu karakter. Misalnya, kode berikut mencetak huruf “a” di layar:
print(“Huruf 'a'.”)
Cara lain untuk bekerja dengan karakter di Python adalah dengan menggunakan fungsi chr(). Fungsi ini mengambil bilangan bulat sebagai input dan mengembalikan karakter yang sesuai dengan angka tersebut. Misalnya, kode berikut mencetak huruf “a” di layar:
print("Karakter 'a' adalah")
ach(1)
Teks dan objek
Dalam Python, teks diwakili oleh urutan karakter Unicode. Objek juga merupakan rangkaian karakter Unicode, tetapi juga dapat berisi tipe data lain, seperti angka dan string.