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)
}
} ```