解決済み: ボーカル リムーバー ソース コード python

ボーカル リムーバー ソース コード 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 で文字を操作する方法はいくつかあります。 XNUMX つの方法は、str() 関数を使用して、文字の文字列表現を取得することです。 たとえば、次のコードは文字「a」を画面に出力します。

print(“文字「a」。”)

Python で文字を操作するもう XNUMX つの方法は、chr() 関数を使用することです。 この関数は、入力として整数を取り、その数値に対応する文字を返します。 たとえば、次のコードは文字「a」を画面に出力します。

print(“文字「a」は”)
chr(1)

テキストとオブジェクト

Python では、テキストは一連の Unicode 文字で表されます。 オブジェクトも Unicode 文字のシーケンスですが、数値や文字列などの他のデータ型を含めることもできます。

関連記事:

コメント