python メルケプストラムの抽出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python メルケプストラムの抽出相关的知识,希望对你有一定的参考价值。
#coding: utf-8
import os
import sys
# wav_dirに含まれるwavファイルからメルケプストラム特徴量を抽出し、
# mcep_dirにテキスト形式で保存する
# 実行にはSPTKコマンドをパスに追加する必要がある
# メルケプストラム次数
# 実際はパワー項を追加して26次元ベクトルになる
m = 25
# all-pass constant
a = 0.42
if __name__ == "__main__":
if len(sys.argv) != 3:
print "usage: python extract_mcep.py <wav_dir> <mcep_dir>"
exit()
wav_dir = sys.argv[1]
mcep_dir = sys.argv[2]
if not os.path.exists(mcep_dir):
os.makedirs(mcep_dir)
for wav_file in os.listdir(wav_dir):
wav_path = os.path.join(wav_dir, wav_file)
mcep_path = os.path.join(mcep_dir, wav_file.replace(".wav", ".mcep"))
print "%s => %s" % (wav_path, mcep_path)
# SPTKのコマンドでWAVEファイルからメルケプストラムを抽出
# bcutはrawファイルへの変換
# numpyから読み込みやすいようにテキスト形式で出力する
command = "bcut +s -s 22 %s | x2x +sf | frame -l 400 -p 80 | window -l 400 -L 512 | mcep -l 512 -m %d -a %f | x2x +fa%d > %s" % (wav_path, m, a, m+1, mcep_path)
os.system(command)
以上是关于python メルケプストラムの抽出的主要内容,如果未能解决你的问题,请参考以下文章
python アラインメントを取ったメルケプストラムを描画する
python 指定フレームでのスペクトルとメルケプストラムを描画
python DTWを用いてアラインメントを取ったメルケプストラムを出力する
python 特定のカラム値に限定して他カラムの要素と数量を可视化する
text [VIM]ファイル名をキャメルケースに
php [php:翻译骆驼/蛇案]キャメルケース/スネークケース変换する的な。#php