教育目的で音声指紋ライブラリを作成しようとしています。これは、音楽識別のためのコンピューター ビジョンに基づいてい ます。論文の内容に関していくつか質問があります。
2 バイトがサンプルを表すことはわかっているので、pcm ファイルからサンプルを抽出するためにこのクラスを作成しました。これが正しいかどうか知りたいです(あまりにも明白な場合は申し訳ありません:))。
class FingerPrint: def __init__(self, pcmFile): self.pcmFile = pcmFile self.samples = [] self.init() def init(self): # Current samples currentSamples = [] # Read pcm file with open(self.pcmFile, 'rb') as f: byte = f.read(2) while byte != '': self.samples.append(byte) byte = f.read(2) fp = FingerPrint('output.pcm')
上記のコードが問題ない場合、本によれば、次に行うことは、信号をローパス フィルターで畳み込み、8 番目のサンプルごとに取得することです。これらと、なぜこれを行う必要があるのか がわかりません。誰かが私を理解するのを手伝ってくれたら素晴らしいでしょう(可能であればコードを添えて)