已解决: vocal remover 源代码 python

vocal remover 源代码 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() 函数来获取字符的字符串表示形式。 例如,以下代码在屏幕上打印字母“a”:

print(“字母‘a’。”)

在 Python 中处理字符的另一种方法是使用 chr() 函数。 此函数将整数作为输入并返回与该数字对应的字符。 例如,以下代码在屏幕上打印字母“a”:

print(“字符‘a’是”)
chr(1)

文本和对象

在 Python 中,文本由一系列 Unicode 字符表示。 对象也是 Unicode 字符序列,但它们也可以包含其他数据类型,例如数字和字符串。

相关文章:

发表评论