我目前正在尝试为学校完成一个项目,该项目涉及读取音频“wav”文件,使用 golomb 编码器对样本进行编码,将结果写入二进制文件,在另一个脚本上读取该二进制文件并使用 golomb 对其进行解码解码器。作业指南建议我开发一个 BitStream 类,它可以读取和写入单个位并读取和写入 n 位。我已经完成了 golomb 编码器和解码器,它似乎运行良好。但是,我在使用 BitStream 部分时遇到了问题。我曾尝试在线搜索现有课程,但由于我对编程还很陌生,所以它们似乎都超级复杂。我的 golomb 编码器返回一个 1 和 0 的字符串,解码器使用类似的字符串作为输入。我的另一个问题是:当我写完二进制文件时,我如何知道每个示例代码的开始和结束位置?如何将采样频率传递给解码器?我如何知道音频样本的左右声道开始和结束的位置?如何编码每个单独样本的哥伦布编码器的 M 参数?顺便说一句,我应该在 Python 中做到这一点。
提前致谢!