Algorithm 将数字量化/排列/排序为特定格式

Algorithm 将数字量化/排列/排序为特定格式,algorithm,sequence,quantization,Algorithm,Sequence,Quantization,我正在尝试将多个PCM音频数据排列成特定的序列。 事实上,它的音频数据只是用于上下文,问题本身与音频/DSP无关 我的输入是一组长度不同的文件,我试图将数据按顺序排列到一个新文件中,并在需要的地方在每个段后添加填充,以便每个输入元素与一个网格对齐,该网格可以被120个单位整除。换句话说,我需要能够通过选择0-119之间的偏移量来处理每个段的开头 这里用一个简单的例子来说明这个问题。两个输入文件的字节长度如下: 200 + 400 --- = 600 在这种情况下,不需要填充。 文件可

我正在尝试将多个PCM音频数据排列成特定的序列。 事实上,它的音频数据只是用于上下文,问题本身与音频/DSP无关

我的输入是一组长度不同的文件,我试图将数据按顺序排列到一个新文件中,并在需要的地方在每个段后添加填充,以便每个输入元素与一个网格对齐,该网格可以被120个单位整除。换句话说,我需要能够通过选择0-119之间的偏移量来处理每个段的开头

这里用一个简单的例子来说明这个问题。两个输入文件的字节长度如下:

  200
+ 400
  ---
= 600 
在这种情况下,不需要填充。 文件可以背靠背排列,因为它们可以按原样放入120网格中。在网格中,200文件的范围为0-40(40个单位),400文件的范围为40-120(80个单位)

如果有任何文件不适合网格,这将变得更加棘手

  199
+ 398
  ---
= 597 
直观地看,很容易看出199字节的文件末尾需要1字节的填充,以便其长度变为200,而398字节的文件需要2字节才能变为400字节。然后我们在这两个文件之间有一个很好的1:2的比例,在120网格中转换为40和80个单位

现在,我试图找到一种算法,可以对1-120之间的任意数量的输入文件执行此操作,其中每个文件都可以具有任意非零长度

也许有一个现有的算法可以做到这一点,但我发现很难找到这个问题的描述性关键字

我曾天真地试图解决这个问题,但不知何故,我没能彻底解决这个问题。基本上,我需要对单个文件进行扩展,使它们的大小是它们长度总和最小公分母的倍数,这对我来说是一个鸡/蛋的问题。如果我对文件进行增长,使它们的比率匹配在一起,我也会增长它们的长度之和,我不知道如何根据120网格检查两者

编辑:好的,我想我明白了:
不确定如何证明正确性,但尝试使用不同的输入似乎可行。

如果您找到的解决方案有效,请随意将其作为答案发布,如果几天内没有更好的建议发布,请将其作为正确答案接受。可以-使用随机输入测试此问题,有时解决方案会失败。将在修复此问题后发布答案。