iOS SDK for Ableton Link, a new technology that synchronizes musical beat, tempo, and phase across multiple applications running on one or more devices.
amethystdeceiver/django-bootstrap-datepicker-plus 0
Bootstrap3/Bootstrap4 DatePickerInput, TimePickerInput, DateTimePickerInput, MonthPickerInput, YearPickerInput with date-range-picker functionality for django version 2.1, 1.11, 1.10 and 1.8
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins. / Fork
Turning Pure Data into an embeddable audio synthesis library
Pure Data - a free real-time computer music system
amethystdeceiver/rosreestr2coord 0
Get the coordinates of area by its cadastral number (http://pkk5.rosreestr.ru/)
A repository of CocoaPods (cocoapods.org) specifications.
amethystdeceiver/TheAmazingAudioEngine 0
Core Audio, Cordially: A sophisticated framework for iOS audio applications, built so you don't have to.
issue commentAudioKit/AudioKit
Change in Fader gain is delayed (V5)
Thanks. I'll check it out.
comment created time in 20 minutes
issue closedAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
Description
The build speed of the SPM v5 is extremely slow. Every time I run/test/build it rebuilds CAudioKit. It has doubled my build times or more. Please look into optimizing the Swift Package Manager config for AudioKit so that a complete rebuild (at least for CAudioKit) for every run doesn't always occur, or is much faster.
To Reproduce Steps to reproduce the behavior:
- Add v5 AudioKit to project.
- Build it and run it a lot. Observe painfully slow wait times every time.
Expected behavior No rebuild sometimes, or much faster rebuild, or no rebuild of AudioKit for subsequent runs/builds.
Details (please complete the following information):
- Type: iPhone
- OS: 14.3
- AudioKit Version 5
closed time in 3 hours
thejeff77issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
I'll close this but feel free to reopen when new information is provided.
comment created time in 3 hours
issue commentAudioKit/AudioKit
Change in Fader gain is delayed (V5)
BTW, your method of using a Cookbook recipe was pretty great. :) Let me know if you find any other issues or if my fixes didn't address everything.
comment created time in 4 hours
issue closedAudioKit/AudioKit
Change in Fader gain is delayed (V5)
I have two issues. Because they are intertwined I'll post them together. The first issue is that when I add stringAmp, a Fader, to mixer2, the input to StringAmp, MandolinString, is triggered. To avoid this extraneous sound, I set the Fader gain to 0.0 initially. This successfully supresses the problem.
The second issue is that when I set the stringAmp.gain later, the change is delayed by one call. If the first non zero set is to 4.0 the string first plays at a gain of 1.0. If I then set the gain 2.0, it plays at 4.0. If I then set it to 1.0, it plays at 2.0 and so on. I tried the obvious and just set the gain twice in the code and the problem disappears. In the code below, I show the 'fix' code commented our. I can eliminate the problem by simply uncommenting out one of the pairs of assignments to the gain. The gainIsZero flag is there to raise the gain from zero when the string is actually to be triggered. samplePause is there to shut off the pitchTap when a string is playing.
My setup looks like this
init() {
// Set up mic input and pitchtap
mic = engine.input!
micAmp = Fader(mic, gain: 1.0)
mixer1 = Mixer(micAmp)
silence = Fader(mixer1, gain: 0)
mixer2 = Mixer(silence)
pitchTap = PitchTap(mixer1, handler: {_ , _ in })
// All sound is fed into mixer2
// Mic input is faded to zero
// Now add String sound to Mixer2 with a Fader
pluckedString = MandolinString()
stringAmp = Fader(pluckedString, gain: 0.0)
mixer2.addInput(stringAmp)
// Finally create a sound for the metronome (tock) and add it as input to mixer2
try! sampler.loadWav("Click")
clickAmp = Fader(sampler, gain: 1.0)
mixer2.addInput(clickAmp)
engine.output = mixer2
self.pitchTap = PitchTap(micAmp,
handler:
{ freq, amp in
if (self.samplePause <= 0 && self.tracking) {
self.samplePause = 0
self.sample(freq: freq[0], amp: amp[0])
}
})
do {
try engine.start()
akStartSucceeded = true
} catch {
akStartSucceeded = false
}
} // init
The gain is set here.
func setVolume(string: AUValue) {
stringAmpGain = string
if gainIsZero {
print("setVolume(string: \(string)) but gain is supressed")
} else {
//stringAmp.gain = string
stringAmp.gain = string
print("setVolume(string: \(string))")
}
}
The string is played by this code.
func playString(noteNumber: MIDINoteNumber) -> Void {
if self.gainIsZero {
//stringAmp.gain = stringAmpGain
stringAmp.gain = stringAmpGain
gainIsZero = false
print("String Amp Gain raised from zero: \(stringAmpGain)")
}
pluckedString.trigger(note: noteNumber)
self.samplePause += 1
print("Play Midi Note Number: \(noteNumber) at gain \(stringAmp.gain)")
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
// Put your code which should be executed with a delay here
self.samplePause -= 1
}
} // playString
closed time in 4 hours
rjcarlson49issue commentAudioKit/AudioKit
Change in Fader gain is delayed (V5)
I believe this is all fixed now, sorry for the delay, the problems were pretty easy to fix.
comment created time in 4 hours
push eventAudioKit/AudioKit
commit sha cb65d9250f62aadfefa9904036f41f160f3de329
Fix for delayed gain issue on https://github.com/AudioKit/AudioKit/issues/2373
push time in 4 hours
push eventAudioKit/AudioKit
commit sha 3f61b5b09f3d501e61fcda41552abe7ad1b4c1d8
Typo fix
commit sha 33702bd1819222fa4e48be030899a6fa7ea7f0b0
Fix for the playing on adding to mixer bug from https://github.com/AudioKit/AudioKit/issues/2373
commit sha 8ffdb3e9d02ca5d8ea1a6066d4d9add51cf51f8f
Fix for the playing on adding to mixer bug from https://github.com/AudioKit/AudioKit/issues/2373
commit sha cdffabb4ff97d83f3bf2bf4bd662860d8c676710
Merge branch 'v5-develop' of github.com:AudioKit/AudioKit into v5-develop
push time in 4 hours
pull request commentAudioKit/AudioKit
I'm going to debug it some more after my classes and I'll test it again before I submit another PR.
comment created time in 8 hours
pull request commentAudioKit/AudioKit
I think the BSD License is okay as you have added it, but if someone complains, perhaps I'd have to remove it. All new nodes should also have a corresponding test file that puts the node through its paces. Let me know if you want to do this. Perhaps we could do it in office hours if you're not sure how to do it yourself?
That sounds like a good plan! I would love to do this. I'll try coming to the office hours tomorrow if I have some time. If I can't make it, I can maybe look at an example of how the test files are set up and follow that.
comment created time in 19 hours
pull request commentAudioKit/AudioKit
I think the BSD License is okay as you have added it, but if someone complains, perhaps I'd have to remove it. All new nodes should also have a corresponding test file that puts the node through its paces. Let me know if you want to do this. Perhaps we could do it in office hours if you're not sure how to do it yourself?
comment created time in 19 hours
PR opened AudioKit/AudioKit
I made my first node for AudioKit! It's a transient shaper which can be used as an Audio Unit. I implemented the code based off this Transient Designer Max 4 Live patch made by David Braun: https://maxforlive.com/library/device/1775/transient-designer.
To implement this as a node in AudioKit, I turned to recreating some of the Max objects from the cyclone
library which are used in the Transient Designer patch: https://github.com/porres/pd-cyclone.
I'm not sure how the license works because I'm a beginner at this stuff, but I thought it would be worth it to sort through it. I would love to have this effect be part of AudioKit if possible! Please let me know what you think.
- Evan
pr created time in 19 hours
issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
Xcode 12 has SPM support for XCFrameworks, and I did manage to get it working at some point, but the way this is managed is just really cumbersome and it seems easier just to go with a regular source SPM package.
comment created time in a day
pull request commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
Good stuff.
comment created time in a day
push eventAudioKit/AudioKit
commit sha af8a2ca67fd04f6050e0958d28c055da8fa05c27
AmplitudeTap: Added StereoMode enum Setting the stereoMode to left or right will now return the left or right amplitude in the handler as opposed to the average amplitude. Default value results in no change to functionality.
commit sha 81bf014a34b2d4b28a1e3a3d0cc9b4f2a8b89fe6
AmplitudeTap: Fed the Hound Fed the hound
commit sha d0f586075ad83b4315aaad1d6f04adf914d0e926
AmplitudeTap: Added unit tests for stereoMode Added unit tests
commit sha a7b97e7836ae6a02650517358cf10d5311263639
AmplitudeTapTests: Hungry hound Fed the hound again
commit sha a05f6f59bdfc1def1cc9cdb17533e259e9a59469
Merge pull request #2395 from Matt54/DynamicOscillator-Add-Method-To-Get-Table-Values AmplitudeTap: Added StereoMode
push time in a day
PR merged AudioKit/AudioKit
Setting the stereoMode to left or right will now return the left or right amplitude in the handler as opposed to the average amplitude. Default value results in no change to functionality.
pr closed time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
class AmplitudeTapTests: XCTestCase { } } + func testLeftStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .left+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {
Identifier Name Violation: Variable name should be between 3 and 40 characters long: 'i' (identifier_name)
comment created time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
class AmplitudeTapTests: XCTestCase { } } + func testLeftStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .left+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {+ XCTAssertEqual(amplitudes[i], knownValues[i], accuracy: 0.001)+ }+ }+
Trailing Whitespace Violation: Lines should not have trailing whitespace. (trailing_whitespace)
comment created time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
class AmplitudeTapTests: XCTestCase { } } + func testLeftStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .left+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {+ XCTAssertEqual(amplitudes[i], knownValues[i], accuracy: 0.001)+ }+ }+ + func testRightStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .right+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {
Identifier Name Violation: Variable name should be between 3 and 40 characters long: 'i' (identifier_name)
comment created time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
class AmplitudeTapTests: XCTestCase { } } + func testLeftStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .left+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {+ XCTAssertEqual(amplitudes[i], knownValues[i], accuracy: 0.001)+ }+ }+ + func testRightStereoMode() {++ let engine = AudioEngine()++ var amplitudes: [Float] = []++ let sine = OperationGenerator {+ let amplitude = Operation.sineWave(frequency: 0.25, amplitude: 1)+ return Operation.sineWave() * amplitude }++ engine.output = sine+ sine.start()++ let expect = expectation(description: "wait for amplitudes")++ let tap = AmplitudeTap(sine) { amp in+ amplitudes.append(amp)++ if amplitudes.count == 10 {+ expect.fulfill()+ }+ }+ tap.stereoMode = .right+ tap.start()++ let audio = engine.startTest(totalDuration: 1.0)+ audio.append(engine.render(duration: 1.0))+ testMD5(audio)++ wait(for: [expect], timeout: 5.0)++ let knownValues: [Float] = [0.01478241, 0.03954828, 0.06425185, 0.09090047, 0.11480384,+ 0.14164367, 0.16560285, 0.19081590, 0.21635467, 0.23850754]+ for i in 0..<knownValues.count {+ XCTAssertEqual(amplitudes[i], knownValues[i], accuracy: 0.001)+ }+ }+
Trailing Whitespace Violation: Lines should not have trailing whitespace. (trailing_whitespace)
comment created time in a day
pull request commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
This is cool. Maybe a couple of test functions?
comment created time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
public class AmplitudeTap: BaseTap { return amp[1] } + /// Determines if the returned amplitude value is the left, right, or average of the two+ public var stereoMode: StereoMode = .center+ /// Determines if the returned amplitude value is the rms or peak value- public var mode: AnalysisMode = .rms+ public var analysisMode: AnalysisMode = .rms private var handler: (Float) -> Void = { _ in } /// Initialize the amplitude /// /// - parameter input: Node to analyze /// - parameter bufferSize: Size of buffer to analyze+ /// - parameter stereoMode: left, right, or average returned amplitudes+ /// - parameter analysisMode: rms or peak returned amplitudes /// - parameter handler: Code to call with new amplitudes- /// - parameter mode: rms or peak returned amplitudes+ public init(_ input: Node, bufferSize: UInt32 = 1_024,- mode: AnalysisMode = .rms,- handler: @escaping (Float) -> Void = { _ in }) {+ stereoMode: StereoMode = .center,+ analysisMode: AnalysisMode = .rms,+ handler: @escaping (Float) -> Void = { _ in })+ {
Hmmm... this is not what Swift Lint was looking for, but I'll go with this.
comment created time in a day
Pull request review commentAudioKit/AudioKit
AmplitudeTap: Added StereoMode
public class AmplitudeTap: BaseTap { return amp[1] } + /// Determines if the returned amplitude value is the left, right, or average of the two+ public var stereoMode: StereoMode = .center+ /// Determines if the returned amplitude value is the rms or peak value- public var mode: AnalysisMode = .rms+ public var analysisMode: AnalysisMode = .rms private var handler: (Float) -> Void = { _ in } /// Initialize the amplitude /// /// - parameter input: Node to analyze /// - parameter bufferSize: Size of buffer to analyze+ /// - parameter stereoMode: left, right, or average returned amplitudes+ /// - parameter analysisMode: rms or peak returned amplitudes /// - parameter handler: Code to call with new amplitudes- /// - parameter mode: rms or peak returned amplitudes+ public init(_ input: Node, bufferSize: UInt32 = 1_024,- mode: AnalysisMode = .rms,- handler: @escaping (Float) -> Void = { _ in }) {+ stereoMode: StereoMode = .center,+ analysisMode: AnalysisMode = .rms,+ handler: @escaping (Float) -> Void = { _ in })+ {
Opening Brace Spacing Violation: Opening braces should be preceded by a single space and on the same line as the declaration. (opening_brace)
comment created time in a day
PR opened AudioKit/AudioKit
Setting the stereoMode to left or right will now return the left or right amplitude in the handler as opposed to the average amplitude. Default value results in no change to functionality.
pr created time in a day
issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
Thanks for the feedback folks.
I'll try to keep a sharper eye on if this is any better after cleaning the build folder @aure
I'll also come and post additional feedback after I run the cookbook project @wtholliday
This post is about Swift Package Manager, I was excited to not have to integrate with CocoaPods for just this project, so props for getting this working at all with AudioKit/SPM @megastep . Is there a similar feature to use pre-compiled for SPM that could be implemented?
Generally, does anyone know of any SPM applicable settings that may help here that could be investigated?
That is, settings other than "Make Xcode not suck" that is... @aure ;)
comment created time in a day
startedsoul-lang/SOUL
started time in a day
issue commentAudioKit/AudioKit
v5 AmplitudeTap.amplitude always equal to 0.0
Thanks, I figured it out. The problem was that I did it like this: let stereoMic = StereoFieldLimiter (mic, amount: 1) let amplitude = AmplitudeTap (stereoMic) And you need to feed the microphone directly: let amplitude = AmplitudeTap (mic)
comment created time in a day
issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
I wonder if this is something that gets progressively worse and you might need to delete your derived data folder.
comment created time in 2 days
issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
I tried this with the Cookbook project and it was really fast on my end. @thejeff77 Can you reproduce using the Cookbook project?
comment created time in 2 days
issue commentAudioKit/AudioKit
Improve Build Speed for Swift Package Manager
As an alternative, you could also try to use our beta CocoaPod that uses pre-compiled binaries, so that's not an issue there (though has other issues).
comment created time in 2 days