登录
本论坛汇聚了来自世界各地的人们,因此大家使用英文交流。

Some Problems with Technical Values in a SoundFont

分类:错误与安装
  • 2 0
    消息来自 Prof. Spock,发表于
    Hello everyone,

    first of all thank you for that brilliant tool that helps to still popularize SoundFonts for music production!
    I am currently working on tools for analyzing and converting SoundFonts and I am therefore intensively delving into their inner details.
    For that I have been looking at the SoundFont files produced by Polyphone.  Granted my observations are very picky, but I have found several things I do not understand:
    • For a "decayVolEnv" of 0.001 for an instrument zone the file contains a value of 0xd120 (= -12000) which according to the SoundFont spec translates to 2-12000/1200 = 2-10 = 1/1024; the correct natural value is 1200*log2(0.001) = -11959 = 0xd149. This - of course - also applies to other timecent values.
    • A similar problem occurs for the frequency transformation. A value of 0.001 for "freqVibLFO" is stored by Polyphone as 0xc310 (= -15600) which is 2^{-15600/1200}*8.176 = 2^{-13}*8.176 = 0.009980Hz; the correct natural value in my opinion is 1200*log2(0.001/8.176) = -15597 = 0xc313.

      In both cases these are tiny differences, but there is no reason, why the optimal value shall not be used.

    • Out of range values for loop positions in samples are not corrected even when the file is saved by Polyphone (although correct ranges are shown in its sample editor).  They are only adjusted when some manual change has happened to that erroneous loop value.
    • The same holds for the attributes "libraryIndex", "genreIndex" and "morphologyIndex" for a preset header (reserved by the specification with so far unclear usage).  The Polyphone editor does not show them - understood -, but keeps their values unchanged.
    Can someone enlighten me here?

    Best regards,
    Prof. Spock
  • 422 17
    消息来自 bottrop,发表于
    values like 0,001 in a soundfont you can consider as no setting.
    regards bottrop
  • 2 0
    消息来自 Prof. Spock,发表于
    Hello  bottrop,
    you wrote:
    values like 0,001 in a soundfont you can consider as no setting.
    One can argue that 1ms and 1mHz might be the minimal useful values also according the SoundFont specification in section 8.1.3 "Generator Summary".  But anyways in my opinion even those small values should be correctly represented in a technical system.
    But what I did not realize is that there is a subtle problem with Polyphone here: the real value in the underlying SoundFont seems to be 9.9805*10-4, but it is rounded in the editor to three digits precision, i.e. to 0.001, which explains the difference in the external representation.
    There is already a feature request #257 for Polyphone in Github that one can somehow see the "correct value" in the editor instead of the rounded value.  But I personally would prefer a real value displayed instead of the natural technical value mentioned there.
    Best regards,
    Prof. Spock

登录或注册后即可参与讨论。

Polyphone 需要您!

Polyphone 是免费的,但其网站和开发都会产生费用。一笔小小的捐赠就能帮上大忙。

捐赠
学习基础知识 试试教程
返回
顶部