| |
| |
| """GCRN AX650 语音增强示例:noisy.wav -> enhanced.wav""" |
|
|
| import argparse |
| import sys |
| from pathlib import Path |
|
|
| sys.path.insert(0, str(Path(__file__).resolve().parent)) |
|
|
| from gcrn_sdk import GCRNDenoiser |
|
|
|
|
| def main() -> None: |
| ap = argparse.ArgumentParser(description="GCRN speech enhancement on AX650") |
| ap.add_argument("--model", default="models/model.axmodel", help="axmodel (或 onnx)") |
| ap.add_argument("--input", default="test_audio/mix.wav", help="16kHz mono noisy wav") |
| ap.add_argument("--output", default="enhanced.wav", help="输出 wav") |
| ap.add_argument("--report", default="gcrn_report.json", help="性能报告输出") |
| args = ap.parse_args() |
|
|
| denoiser = GCRNDenoiser(args.model) |
| report = denoiser.enhance_file(args.input, args.output) |
| denoiser.save_report(report, args.report) |
| print(f"input={args.input}") |
| print(f"output={args.output}") |
| print( |
| f"elapsed={report['elapsed_seconds']:.3f}s " |
| f"audio={report['audio_seconds']:.3f}s " |
| f"rtf={report['real_time_factor']:.4f}" |
| ) |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|