import json | |
import numpy as np | |
import matplotlib.pyplot as plt | |
# 結果のJSONファイルを読み込む | |
with open('audio_analysis_results.json', 'r') as f: | |
results = json.load(f) | |
# SNR値のリストを取得 | |
snr_values = [result['SNR値'] for result in results] | |
# ヒストグラムのパラメータを設定 | |
bins = np.linspace(-20, 100, 121) # -20dBから60dBまで1dB刻みのビン | |
plt.figure(figsize=(10, 6)) | |
plt.hist(snr_values, bins=bins, edgecolor='black', linewidth=1.2) | |
plt.xlabel('WADA-SNR (dB)') | |
plt.ylabel('Number of Samples') | |
plt.title('Audio Quality Histogram') | |
plt.xlim(-20, 100) | |
plt.ylim(0, plt.ylim()[1] * 1.1) # y軸の上限を10%拡張 | |
plt.grid(True) | |
plt.tight_layout() | |
# PNGファイルとして保存 | |
plt.savefig('audio_quality_histogram.png', dpi=300) | |
print("ヒストグラムが audio_quality_histogram.png として保存されました。") |