代码之家  ›  专栏  ›  技术社区  ›  Imbue

自由波表合成器?

  •  1
  • Imbue  · 技术社区  · 16 年前

    我需要执行 wavetable synthesizer 手臂皮质-M3核心。我正在寻找任何代码或工具来帮助我开始。

    我知道 this AVR implementation . 不久前我把它改成了一张照片。现在我在找类似的东西,但听起来有点好。

    ANSI C代码会很好。任何代码片段(C或C++),样本,工具,或只是一般信息,将不胜感激。

    谢谢。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Nick Haddad    16 年前

    合成工具包(STK)是优秀的,但它只是C++。

    http://ccrma.stanford.edu/software/stk/

    不过,您可以从STK中提取可波形合成器代码。

        2
  •  3
  •   volting    14 年前

    两个开放源码的波表合成器是 FluidSynth TiMidity .

        3
  •  0
  •   bandybabboon    7 年前

    任何ARM合成器,最好的,都可以在不到一天的时间内换成波形扫描仪。从音频的角度来看,扫描文件中的波形或从数学上生成它们几乎是一样的,wt以零处理成本提供大量的波形,您需要这些波形,wt振荡器代码本身是20行。因此,将波形旋钮从3更改为100以指示正在读取的wav,使用斜坡/计数器读取wav文件(作为数组)。WT固定。

    从7年的Synth经验中,我建议改变你最喜欢的Synth的20行振荡器功能,使之适应于读取波阵列。WT只使用20行逻辑,其余的合成器更重要:LFO,滤波器,输入参数,预设内存…用你最喜欢的synth,找到一个wt-wave库作为wav文件和文件夹,用wt函数替换fav-synth振荡器,它听起来几乎一样,只是降低了处理成本。

    一个合成器通常使用sin,sqr,saw,抗锯齿osc函数作为波…

    一个可波合成在它的基础上使用大约20行代码,和10/20/100ds的波,每个波在每一个八度采样理想。如果你能得到一个可波动的声音库,合成器只是循环,音高变化,声音,和专业合成器也可以有多个八度混合八度。

    WtFase=

    • 将wav文件加载到n个数组中
    • 更改波形=从wav列表中选择波形阵列
    • 以所需的赫兹读取波形阵列

    WaveScanner功能=

    • 两个波之间的交叉淡入淡出,并将xfade指定为lfo,即sine和xfade。

    包络、滤波器、振幅以及所有其他功能都独立于所有合成器中的波产生功能。

    记住,合成器最强大的心理声学工具是偏离音符的数字音调,它被称为Unison Detune,合成器的音质主要来自合唱和Unison Detune。

    在更先进的合成技术中,wt要么是较长截面的单周期波。单周期的东西非常容易写入代码。先进的wt是每八度采样,波持续n个周期,甚至2-3秒,即钢琴,这意味着他们通过八度音阶改变音质,所以复杂的wt是交叉淡入每个八度音阶与多个八度音阶录音。

    推荐文章