4

AudioKit 非常棒,它可以让你启动一些振荡器并即时改变它们的频率。现在我想改变波形的形状,以便为我的振荡器创建自定义音色。

有四种标准类型,实际上是 AudioKit 支持的五种:

- sine
- triangle (good sine approximate)
- square wave
- sawtooth
- reverse sawtooth wave

它们听起来都不同,但如果我可以通过使用内置的波表支持来改变波形的类型,那就太好了。

http://audiokit.io/docs/Structs/AKTable.html#/s:vV8AudioKit7AKTable6valuesGSaSf_提到了AKMorphingOscillator,它就像一个可以改变振荡器波形的奇迹类。默认值都有效,但我对填充 AKTable 字段真的很陌生。

git 页面https://github.com/audiokit/AudioKit/blob/master/AudioKit/Common/Internals/AKTable.swift 显示:

/// A table of values accessible as a waveform or lookup mechanism
public struct AKTable {

    // MARK: - Properties

    /// Values stored in the table
    public var values = [Float]()

    /// Number of values stored in the table
    var size = 4096

    /// Type of table
    var type: AKTableType

    // MARK: - Initialization

    /// Initialize and set up the default table 
    ///
    /// - parameter tableType: AKTableType of teh new table
    /// - parameter size: Size of the table (multiple of 2)
    ///
    public init(_ tableType: AKTableType = .Sine, size tableSize: Int = 4096) {
        type = tableType
        size = tableSize
        ....

所以我的问题是,我可以直接访问values数组并简单地修改它来制作新的波形吗?有没有明智或惯用的方法来做到这一点?

丹克。

4

1 回答 1

0

由于 AudioKit 支持正在从 Google Groups 转移到 StackOverflow,所以我在这里回应更老的问题。基本上表格可以是你想要的任何东西。它们是类,不再是表格,并且有一个游乐场展示了如何使用它们并使用 AKTableView 绘制它们。

在这里查看:http: //audiokit.io/playgrounds/Basics/Tables/

于 2017-10-03T04:09:51.443 回答