xHE-Opus/encode.py
damp11113 a6ef8f580f v2
add writer and reader
2024-04-30 01:56:58 +07:00

26 lines
607 B
Python

from libxheopus import DualOpusEncoder, XopusWriter
import wave
encoder = DualOpusEncoder("restricted_lowdelay", version="hev2")
encoder.set_bitrates(12000)
encoder.set_bitrate_mode("CVBR")
desired_frame_size = encoder.set_frame_size(120)
wav_file = wave.open(r"test.wav", 'rb')
file = r"test.xopus"
xopus = XopusWriter(file, encoder)
# Read and process the WAV file in chunks
print("encoding...")
while True:
frames = wav_file.readframes(desired_frame_size)
if not frames:
break # Break the loop when all frames have been read
xopus.write(frames)
xopus.close()
print("encoded")