java - 如何在Jython中减少声音?

标签 java python audio jython

我要线性降低声音中的采样值,从第一个采样[0]开始,它的最大值(32767),最后一个[sound length end]具有最小的值(-32767)。为此,我假设您可以使用y=mx+b格式。由于m = y2-y1/x2-x1我有:

def decreasing(sound):
  length = getLength(sound)
  max = 32767.0
  min= -32767.0
  for sample in getSamples(sound):
    setSampleValue(sound, int((((min-max) / (length)) * (index)) + max))

我遇到的问题是y=mx+b中的x,x是我认为的索引,因为它是找到样本值(y)时x平原上的值。但是,当我运行代码时,我得到:

The error was:index ... Name not found globally



由于我不确定如何定义它。所以基本上我要问的是我该如何编号:

在我的方程式中

最佳答案

假设getSamples()返回一个列表,您可能想要这样的东西:

for index, sample in enumerate(getSamples(sound)):
    setSampleValue(sample, int((((min-max)/length) * index) + max))

关于java - 如何在Jython中减少声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20207054/

相关文章:

java - 编译包含其他类类型对象的 java 类时找不到符号错误

objective-c - Objective-C - 音频延迟估计的互相关

jquery - 编写元素的名称标签JQuery

javascript - 是否可以将用javascript生成的html音频录制到后端的音频文件中?

java - 使用 JPA 的 Protocol Buffer

java - ViewPager 与 AsyncTaskLoader

java - 使用 Drools 的声明式模型生成的类作为主要业务对象模型

python - 使用 Python urllib2/requests 验证 Google Drive 并下载电子表格

python - 嵌套 for 循环字典存储值 python nsepy

python - MacOS卡特琳娜: Symbol not found: _PQsslAttribute