游雁
2025-02-25 82e5ca37a8bd80f56c99f9d790a03b458ced716b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sys
import wave
import json
import base64
 
if __name__ == "__main__":
    wav_path = sys.argv[1]
    chunk_size = [int(x) for x in sys.argv[2].split(",")]
    chunk_interval = int(sys.argv[3])
 
    with wave.open(wav_path, "rb") as wav_file:
        params = wav_file.getparams()
        sample_rate = wav_file.getframerate()
        frames = wav_file.readframes(wav_file.getnframes())
        audio_bytes = bytes(frames)
 
    stride = int(60 * chunk_size[1] / chunk_interval / 1000 * sample_rate * 2)
    chunk_num = (len(audio_bytes) - 1) // stride + 1
 
    result = {
        "sample_rate": sample_rate,
        "stride": stride,
        "chunk_num": chunk_num,
        "audio_bytes": base64.b64encode(audio_bytes).decode('utf-8')
    }
 
    print(json.dumps(result))