首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >音频编辑器的数据结构

音频编辑器的数据结构
EN

Stack Overflow用户
提问于 2011-04-10 03:52:43
回答 1查看 573关注 0票数 1

在过去的几个月里,我一直在编写一个音频编辑器,最近一直在思考如何实现快速有效的编辑(剪切、复制、粘贴、修剪、静音等)。关于这个话题,似乎真的没有太多信息可用,然而……例如,我知道Audacity使用块文件策略,在这种策略中,样本数据(以及用于高效绘制波形的数据摘要)以固定大小的块存储在磁盘上。然而,还有什么其他可能的策略呢?有相当多的关于文本编辑的数据结构的信息-许多文本(和十六进制)编辑器似乎使用片段链方法,很好地描述了here -但是,或者类似的东西,是否适用于音频编辑器?

非常感谢您的任何想法、建议等。

EN

回答 1

Stack Overflow用户

发布于 2011-04-10 05:45:12

编辑器处理相对较大的文件的典型问题是如何处理删除和插入。文本编辑器显然要面对这一点,因为通常用户一次输入一个字符。音频编辑器通常不会执行“逐样本”插入,即用户不会每次交互地输入一个样本,但您可以进行一些剪切和粘贴操作。我将从一个表示开始,其中音频文件由存储在(二进制)搜索树中的数据块表示。Insert的工作原理是将要插入的块拆分为两个块,将插入的块添加为第三个块,然后更新树。为了有效地响应用户,您应该有一个后台进程对磁盘(或内存)上的表示进行碎片整理,然后对保存块的树进行原子更新。这将使插入和删除操作尽可能快。许多其他音频操作(效果、规格化、混合)就地操作,不需要更改数据结构,但在整个音频样本上进行规格化是同时对其进行碎片整理的好机会。如果音频样本很大,您可以保留块,因为这也是硬盘上的标准。我不认为块需要固定大小;它们可以是可变大小的,最好是1024x(2的幂)字节,以提高文件操作的效率,但固定大小的策略可能更容易实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5607470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档