Soundpipe | A lightweight music DSP library | Audio Utils library

 by   PaulBatchelor C Version: Current License: MIT

kandi X-RAY | Soundpipe Summary

kandi X-RAY | Soundpipe Summary

Soundpipe is a C library typically used in Audio, Audio Utils applications. Soundpipe has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Soundpipe is callback driven. Every time Soundpipe needs a frame, it will call upon a single function specified by the user. Soundpipe modules are designed to process a signal one sample at a time. Every module follows the same life cycle:.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Soundpipe has a low active ecosystem.
              It has 63 star(s) with 5 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              Soundpipe has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of Soundpipe is current.

            kandi-Quality Quality

              Soundpipe has no bugs reported.

            kandi-Security Security

              Soundpipe has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              Soundpipe is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              Soundpipe releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Soundpipe
            Get all kandi verified functions for this library.

            Soundpipe Key Features

            No Key Features are available at this moment for Soundpipe.

            Soundpipe Examples and Code Snippets

            No Code Snippets are available at this moment for Soundpipe.

            Community Discussions

            QUESTION

            How does one allocate memory in an Audio Unit extension (realtime process) for audiofile playback?
            Asked 2020-Apr-20 at 15:02

            I am working on creating an audio unit v3. I have made decent progress up to this point, I made a host app that loads all my 3rd party plugins. I created an auv3 plugin that processes audio and can be loaded by other hosts.

            I now want to make an au that loads audio data from disk and scans the data at random positions with sample precision (timestretch, granular stuff, etc). I thought it would be a cool sample playback addittion for contributing to AudioKit.

            So this would be making something at the level of AKSampler in the AudioKit framework. While looking through AK source, I feel like I am missing something.

            While browsing github, I ended up at places like here: https://github.com/AudioKit/AudioKit/tree/118affee65f4c9b8d4780ef1a03a6d03004bbcee/AudioKit/Common/Nodes/Playback/Samplers

            then I looked in here: https://github.com/AudioKit/AudioKit/blob/118affee65f4c9b8d4780ef1a03a6d03004bbcee/AudioKit/Common/Nodes/Playback/Samplers/Disk%20Streamer/AKDiskStreamerAudioUnit.mm

            which brought me here: https://github.com/AudioKit/AudioKit/blob/d69dabf090a5e78d4495d938bf6c0aea9f672630/AudioKit/Common/Nodes/Playback/Samplers/Disk%20Streamer/AKDiskStreamerDSPKernel.hpp

            and then eventually here: https://github.com/AudioKit/AudioKit/blob/d69dabf090a5e78d4495d938bf6c0aea9f672630/AudioKit/Core/Soundpipe/modules/wavin.c

            I am not looking for info about AKSampler, specifically, just how in general audio files are being loaded and how it makes sense with the realtime nature of the au extension process..

            I couldn't find any IPC/XPC code anywhere, so I am guessing that its not about circular buffers connecting to other processes or something.

            Does AudioKit allocate memory in the realtime process for audiofile playback? This would seem to go against all the warnings from experienced audio programmers(articles like http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing), but I can't figure out what is being done in AudioKit and generally in iOS..

            what am I just not understanding or finding? :D

            ...

            ANSWER

            Answered 2020-Apr-20 at 15:02

            Opening files and allocating memory for file reads should be done outside the real-time audio context, perhaps during UI file selection, never inside an Audio Unit callback.

            One way to get random access to samples inside an AU callback is to memory map the file (mmap C API), and then touch every sample in the memory map before passing the memory pointer (unsafe raw etc.) and file length (mapped bounds) to the audio unit. Then you can do virtual random access file reads inside the callback with a fixed latency.

            One way to touch every sample in an array by doing a checksum (and perhaps discarding the result later). This memory read is required to get the iOS virtual memory system to swap blocks from the file VM into RAM, so that storage system reads won't happen in the real-time context.

            Source https://stackoverflow.com/questions/61281973

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Soundpipe

            You can download it from GitHub.

            Support

            If you have lua installed on your computer, you can generate the current html documentation for soundpipe by running "make docs". A folder called "docs" will be created. The top page for the documentation is docs/index.html.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/PaulBatchelor/Soundpipe.git

          • CLI

            gh repo clone PaulBatchelor/Soundpipe

          • sshUrl

            git@github.com:PaulBatchelor/Soundpipe.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Audio Utils Libraries

            howler.js

            by goldfire

            fingerprintjs

            by fingerprintjs

            Tone.js

            by Tonejs

            AudioKit

            by AudioKit

            sonic-pi

            by sonic-pi-net

            Try Top Libraries by PaulBatchelor

            sndkit

            by PaulBatchelorC

            voc_demo

            by PaulBatchelorC

            BoingBoingBoing

            by PaulBatchelorRust

            brian

            by PaulBatchelorC

            norns-lowlevel

            by PaulBatchelorC