Change tone frequency of synthesized sound in AudioKit

21 Views Asked by At

I am using the STKAudiokitdemo playground to change the beat of a metronome in realtime. The metronome sound is synthesized using the Stanforf Synthesis Toolkit. This is all plain vanilla of the STKAudiokitdemo playground. Now I want to change the tone frequency of the synthesized sound in addition to the beat in real time. Is this possible?

class ShakerConductor: ObservableObject, HasAudioEngine {
        let engine = AudioEngine()
        let shaker = Shaker()
        var callbackInst = CallbackInstrument()
        let reverb: Reverb
        let mixer = Mixer()
        var sequencer = Sequencer()

        @Published var data = ShakerMetronomeData() {
            didSet {
                data.isPlaying ? sequencer.play() : sequencer.stop()
                sequencer.tempo = data.tempo
                updateSequences()
            }
        }
        
        @State private var response: String = ""
    
        func updateSequences() {
            var track = sequencer.tracks.first!
    
            track.length = Double(data.timeSignatureTop)
    
            track.clear()
            track.sequence.add(noteNumber: data.downbeatNoteNumber, position: 0.0, duration: 0.1)
            let vel = MIDIVelocity(Int(data.beatNoteVelocity))
            for beat in 1 ..< data.timeSignatureTop {
                track.sequence.add(noteNumber: data.beatNoteNumber, velocity: vel, position: Double(beat), duration: 0.1)
            }
    
            track = sequencer.tracks[1]
            track.length = Double(data.timeSignatureTop)
            track.clear()
            for beat in 0 ..< data.timeSignatureTop {
                track.sequence.add(noteNumber: MIDINoteNumber(beat), position: Double(beat), duration: 0.1)
            }
        } ``` 
0

There are 0 best solutions below