#!/usr/bin/env python3 """ 测试可视化功能 """ import os from visualize_output import create_individual_voice_scores, convert_midi_to_jianpu def test_visualize(): """测试可视化功能""" output_dir = "output" midi_path = os.path.join(output_dir, "four_voice_score.mid") if not os.path.exists(midi_path): print(f"错误:MIDI文件 {midi_path} 不存在") return False print("测试简谱转换...") # 测试简谱转换 test_notes = [60, 62, 64, 65, 67, 69, 71, 72] # C4, D4, E4, F4, G4, A4, B4, C5 for note in test_notes: jianpu = convert_midi_to_jianpu(note) print(f"MIDI {note} -> 简谱 {jianpu}") print("\n测试各声部谱子生成...") try: success = create_individual_voice_scores(midi_path, output_dir) if success: print("✅ 各声部谱子生成成功!") # 检查生成的文件 voice_files = ['soprano_score.png', 'alto_score.png', 'tenor_score.png', 'bass_score.png'] for voice_file in voice_files: file_path = os.path.join(output_dir, voice_file) if os.path.exists(file_path): size = os.path.getsize(file_path) print(f" ✅ {voice_file}: {size:,} bytes") else: print(f" ❌ {voice_file}: 未生成") return True else: print("❌ 各声部谱子生成失败") return False except Exception as e: print(f"❌ 生成过程中出错: {e}") return False if __name__ == "__main__": test_visualize()