Soundpipe extension to AudioKit

Overview

Soundpipe AudioKit

Build Status License Platform Reviewed by Hound Twitter Follow

This extension to AudioKit has the majority of old versions of AudioKit's DSP including oscillators, physical models, filters, reverbs and more.

Examples

See the AudioKit Cookbook for examples.

Installation in Xcode 13

You can AudioKit and any of the other AudioKit libraries using Collections

  1. Select File -> Add Packages...
  2. Click the + icon on the bottom left of the Collections sidebar on the left.
  3. Choose Add Swift Package Collection from the pop-up menu.
  4. In the Add Package Collection dialog box, enter https://swiftpackageindex.com/AudioKit/collection.json as the URL and click the "Load" button.
  5. It will warn you that the collection is not signed, but it is fine, click "Add Unsigned Collection".
  6. Now you can add any of the AudioKit Swift Packages you need and read about what they do, right from within Xcode.

Targets

Name Description Language
SoundpipeAudioKit API for using Soundpipe-powered Audio Units Swift
CSoundpipeAudioKit Audio Units for the Soundpipe DSP Objective-C++
Soundpipe Low-level DSP for oscillators, physcial models, and effects C

Generators / Instruments

Effects / Filters

Comments
  • Can't ramp frequency in Equalizer Filter

    Can't ramp frequency in Equalizer Filter

    I'm trying to do an auto band filter with this code and I get an error.

    If not - Should I start a new issue?

    let synth = Synth() // my class
    let filter = EqualizerFilter(osc)
    
    var frequancy:Double = 500
    var startFrequency: AUValue = 500
    var endFrequency: AUValue = 3000
    var frequancyRampDuration: Float = 3.0
    
    filter.$centerFrequency.ramp(from: startFrequency, to: endFrequency, duration: frequancyRampDuration)
    print(filter.centerFrequency)
    

    It's not all the code and I do have engine. If I deleting this code all works good.. weird right?

    This is the error :

    libc++abi.dylib: terminating with uncaught exception of type NSException *** Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: _engine != nil' terminating with uncaught exception of type NSException CoreSimulator 732.18.6 - Device: iPhone 11 (E5C0BBCA-35A4-4E4F-BFAC-33249EED9007) - Runtime: iOS 14.4 (18D46) - DeviceType: iPhone 11 (lldb)

    opened by David4noy 8
  • Balancer compressing / change fx behavior

    Balancer compressing / change fx behavior

    Not sure if it is a bug:

    I tried to find a solution to the volume drop after adding fx, so I put Balancer after every fx: Synth -> envelope -> dist -> modulation -> Balancer(modulation,dist) -> reverb -> Balancer(reverb,modulation) -> delay -> Balancer(delay,reverb) etc..

    But it’s changing the behavior of the modulation, reverb and delay. Is it supposed to be like this?

    Anyway, because of this problem I want to add a booster to the fx but I saw there is no AKBooster anymore. is there is another way? I tried to put gain > 1 in mixer and didn’t help' but I couldn’t find any kind of "booster".

    Thanks, David

    opened by David4noy 8
  • Stereo for brown, pink and white noise generators

    Stereo for brown, pink and white noise generators

    Description

    I would like to see noise generators with option to generate stereo noise. I think they are now mono.

    Proposed Solution

    It would be nice to have an option to switch from mono to stereo. I would be happy if I can simply say for example whiteNoise.stereo = true to get stereo or whiteNoise.stereo = false to get mono. Default value can be false because of implementations in existing projects.

    Describe Alternatives You've Considered

    I've tried to create two separated generator nodes, I panned one of them left and other one right and then I connected them to mixer, but that does not feel like stereo because they are the same.

    Additional Context

    No response

    opened by PeterkoPetris 6
  • Swift Package Manger can't find SoundpipeAudioKit

    Swift Package Manger can't find SoundpipeAudioKit

    Swift Package Manager can't locate the this library. I tried both https://swiftpackageindex.com/AudioKit/collection.json and https://github.com/AudioKit/SoundpipeAudioKit

    Screen Shot 2022-08-11 at 6 07 43 PM

    Screen Shot 2022-08-11 at 5 55 31 PM

    Screen Shot 2022-08-11 at 6 08 09 PM

    Screen Shot 2022-08-11 at 5 53 25 PM

    opened by lsamaria 6
  • More explanations on EQ, Equalizer, filters properties

    More explanations on EQ, Equalizer, filters properties

    1 - EqualizerFilter: How does bandwidth parameter of the Equalizer Filter affect the Q?

    How does the bandwidth parameter of the EqualizerFilter affect the Q-factor?

    What is the calculation of bandwidth?

    Same question with PeakingParametricEqualizerFilter "q"

    Basically - both are the same?

    .

    2 - HighShelfParametricEqualizerFilter:

    I guess centerFrequency is where it’s starting to change? How the "q" works there?

    .

    3 - HighPassButterworthFilter: cutoffFrequency - where it’s starting to change?

    I know how EQ works in general, just can’t understand their explanations there. So can you add more explanations ?

    Thanks, David

    opened by David4noy 5
  • AmplitudeEnvelope doesn't reset trigger on MIDI_NOTE_OFF

    AmplitudeEnvelope doesn't reset trigger on MIDI_NOTE_OFF

    The AmplitudeEnvelope doesn't get any input audio from MIDISampler. However, other nodes such as ZitaReverb do. This can be confirmed by adding printf("%.2f\n", *in); to the first line of the sp_adsr_compute function. The value of *in changes in ZitaReverb, but for AmplitudeEnvelope, it stays at 0.0.

    Steps to reproduce:

    1. Create sampler node sampler = MIDISampler()
    2. Set sampler amplitude sampler.amplitude = 1
    3. Create adsr adsr = AmplitudeEnvelope(sampler)
    4. Set the engine output engine.output = adsr
    5. Start AudioKit try? engine.start()
    6. AudioKit starts successfully, but no sound happens when the sampler is played

    Expected behavior: I would expect the AmplitudeEnvelope to act as the other Soundpipe nodes and continue to pass audio through it.

    Details:

    • Type: MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
    • Processor: 2.3 GHz Quad-Core Intel Core i7
    • OS: macOS Big Sur 11.5
    • SoundpipeAudioKit Version: latest develop branch: 8c01594681b4e12acd86f715cada316bdf8be1cf

    I'll work on trying to fix this, but just wanted to leave it here so people are aware. The AudioKit/Cookbook AmplitudeEnvelope is also a bit broken. The oscillator sound gets passed through, but the ADSR widget has no effect on the sound. It might be worth opening up an issue there unless the fix for this makes it work again.

    opened by emurray2 4
  • Set Limiter and Noise gate with AudioEngine.InputNode

    Set Limiter and Noise gate with AudioEngine.InputNode

    Please let us know how to implement limiter and noise gate from new SDK. we tried below solution for noise gate but it's not included in new SDK. https://stackoverflow.com/questions/47601246/audiokit-noise-gate

    opened by infocodiste 3
  • Check TB303 Filter

    Check TB303 Filter

    An anonymous GitHub user who is familiar with the TB303 filter were trying to implement has stated that something is wrong with it. Not sure if its at the DSP level of Soundpipe or higher up in the C++ or Swift layers, but its worth checking. The original issue is here.

    opened by aure 2
  • PitchTap cpu pegged at 40-50% cpu

    PitchTap cpu pegged at 40-50% cpu

    Referencing audiokit issue https://github.com/AudioKit/AudioKit/issues/1753

    PitchTap uses huge CPU power - about 42-48% on older devices, ~30-35% on newer devices (11 and higher). I tried wrapping my head around the C code and it's all going over my head. I have absolutely no background in any of this stuff of work - I is just a simple front-end person making a simple app :-) any app using mic analysis will face UI stutters, audio issues, even in a simple case lime mine.

    opened by quantamrhino 1
  • Close IR file reference

    Close IR file reference

    The Convolution effect Node creates an external file reference to load the impulse response, but the reference was never closed. Just now calling ExtAudioFileDispose, once the wavetable has been loaded.

    opened by JP-Lisn 1
  • Fix pitch shifter memory leak on reset

    Fix pitch shifter memory leak on reset

    PitchShifter's reset reinitialises DSP but doesn't free the old version.

    This is the case for most of effects, but I thought I would first create a PR for PitchShifter, and if you are ok with the approach, I can do for others.

    opened by jcavar 1
Releases(5.4.0)
Owner
AudioKit
AudioKit
A plugin and extension framework for the Enfusion engine

Enfusion Infinity What is it? Infinity is a C/C++ plugin and extension framework for the Enfusion engine. The goal of Infinity is to empower modders w

Kegan Hollern 19 Nov 10, 2022
Quick Look extension for Markdown files on macOS Catalina and Big Sur.

QLMarkdown is a macOS Quick Look extension to preview Markdown files. It can also preview textbundle packages and rmarkdown (.rmd) files.

sbarex 626 Nov 28, 2022
The PULP Ara is a 64-bit Vector Unit, compatible with the RISC-V Vector Extension Version 0.9, working as a coprocessor to CORE-V's CVA6 core

Ara Ara is a vector unit working as a coprocessor for the CVA6 core. It supports the RISC-V Vector Extension, version 0.9. Dependencies Check DEPENDEN

null 177 Nov 30, 2022
WebKitGTK adblock extension with Brave's Rust-based adblock engine for backend.

BlocKit WebKitGTK adblock extension with Brave's Rust-based adblock engine for backend. Features Network and cosmetic filtering Supports Adblock Plus

Samuel Dudík 48 Nov 27, 2022
Haxe native extension to read and write windows clipboard.

Haxe Clipboard This is a native library to read and write clipboard data from Haxe. It uses Ammer to generate bindings. Note: This is a Windows only l

Ludovic Bas 12 Nov 11, 2022
A Windows Shell Extension for the Pixar USD file format.

Activision USD Shell Extension A Windows Shell Extension for the Pixar USD file format. Windows Explorer Features Hydra Realtime Preview Thumbnails Co

null 317 Nov 27, 2022
IDAShell is a shell extension for launching IDA from the context menu of executables.

IDAShell About IDAShell is a shell extension for launching IDA from the context menu of executables. Usage Just install and it works. If you moved IDA

null 173 Nov 26, 2022
PL/0 Compiler Extension(including repeat, for, case, function, real, record and so on)

EX-PL0 PL/0 Compiler Extension(including repeat, for, case, function, real, record and so on) Structure src/PL source code of PL compiler; src/interpr

Chunshuo Qiu 16 Jul 21, 2022
A PostgreSQL extension providing an async networking interface accessible via SQL using a background worker and curl.

pg_net is a PostgreSQL extension exposing a SQL interface for async networking with a focus on scalability and UX.

Supabase 48 Nov 25, 2022
pg_cron is a simple cron-based job scheduler for PostgreSQL that runs inside the database as an extension.

pg_cron is a simple cron-based job scheduler for PostgreSQL (9.5 or higher) that runs inside the database as an extension.

Citus Data 1.8k Dec 2, 2022
Homomorphic Encryption PIR Postgres C/C++ Agregate Extension.

MuchPIR Demo Contact The MuchPIR Team: [email protected] What is PIR? Private Information Retrieval refers to the ability to query a database without disc

Escanor Liones 13 Nov 3, 2022
Visual Studio Extension for C++ struct memory layout visualization

Visual Studio Extension for C++ struct memory layout visualization

Ramon Viladomat 388 Dec 1, 2022
Simple and lightweight pathname parser for C. This module helps to parse dirname, basename, filename and file extension .

Path Module For C File name and extension parsing functionality are removed because it's difficult to distinguish between a hidden dir (ex: .git) and

Prajwal Chapagain 3 Feb 25, 2022
A simple Defold extension to get the project root dir when running from the editor

Defold Project Directory extension This is a small native extension that makes it so that you can get the project directory of a game that is being ru

Marius Petcu 2 Oct 2, 2021
ZzFX extension for Defold

ZzFX Defold Extension Zuper Zmall Zound Zynth ZzFX Sound Designer Port of ZzFX for the Defold Game Engine WIP Pending release while I work through som

Justin Walsh 8 Nov 22, 2022
PostgreSQL extension for pgexporter

pgexporter_ext pgexporter_ext is an extension for PostgreSQL to provide additional Prometheus metrics for pgexporter. Features Disk space metrics See

null 4 Apr 13, 2022
Native Extension for Defold Game Engine that gives a possibility to use StrictMode on Android

Defold Native Extension StrictMode Native Extension for Defold Game Engine that gives a possibility to use StrictMode on Android Installation Copy-pas

Alexey Gulev 3 Oct 15, 2021
Open source PHP extension for Async IO, Coroutines and Fibers

Swoole is an event-driven asynchronous & coroutine-based concurrency networking communication engine with high performance written in C++ for PHP. Ope

Open Swoole 652 Dec 3, 2022
Daily Quotes is an app extension for the Droptop Four bar that displays Daily Quotes on your bar.

Daily Quotes Daily Quotes is an app extension for the Droptop Four bar that displays Daily Quotes on your bar. · · · · Table of contents Click to expa

Bunz 2 Sep 4, 2022
New linux driver and tools for RME HDSPe sound cards and extension modules

snd-hdspe New linux kernel ALSA driver for RME HDSPe MADI / AES / RayDAT / AIO and AIO Pro sound cards and extension modules. In addition to the funct

Philippe Bekaert 23 Nov 29, 2022