#!/usr/bin/env python3 """ 使用真实音频文件测试 DashScope ASR """ import sys import os sys.path.append('.') import dashscope from dashscope.audio.asr import Transcription from lover.config import settings from lover.oss_utils import upload_audio_file, delete_audio_file import logging import wave import struct # 设置日志 logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def create_test_wav(): """创建一个简单的 WAV 测试文件""" # 创建 1 秒的 16kHz 单声道 WAV 文件 sample_rate = 16000 duration = 1 # 1 秒 frequency = 440 # A4 音符 # 生成正弦波 samples = [] import math for i in range(sample_rate * duration): t = i / sample_rate # 生成简单的正弦波,幅度控制在合理范围内 sample = int(16000 * math.sin(2 * math.pi * frequency * t)) # 确保在 16-bit 范围内 sample = max(-32767, min(32767, sample)) samples.append(sample) # 写入 WAV 文件 wav_file = "test_audio.wav" with wave.open(wav_file, 'wb') as wav: wav.setnchannels(1) # 单声道 wav.setsampwidth(2) # 16-bit wav.setframerate(sample_rate) # 16kHz # 写入样本数据 for sample in samples: wav.writeframes(struct.pack('