{"id":13811567,"url":"https://github.com/juandagilc/DAO-MaxMSP-Pd","last_synced_at":"2025-05-14T19:33:45.976Z","repository":{"id":201287629,"uuid":"86988771","full_name":"juandagilc/DAO-MaxMSP-Pd","owner":"juandagilc","description":"Collection of Max/MSP and Pd externals developed from the explanations in the book \"Designing Audio Objects for Max/MSP and Pd\" by Eric Lyon.","archived":false,"fork":false,"pushed_at":"2017-11-25T09:20:29.000Z","size":8984,"stargazers_count":48,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T04:01:14.439Z","etag":null,"topics":["beaglebone-black","bela","maxmsp","msp-externals","pd-externals","puredata"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juandagilc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-02T13:41:12.000Z","updated_at":"2024-05-14T22:23:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"36b32bfd-6efd-41d8-9a9e-703041ebf435","html_url":"https://github.com/juandagilc/DAO-MaxMSP-Pd","commit_stats":null,"previous_names":["juandagilc/dao-maxmsp-pd"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juandagilc%2FDAO-MaxMSP-Pd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juandagilc%2FDAO-MaxMSP-Pd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juandagilc%2FDAO-MaxMSP-Pd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juandagilc%2FDAO-MaxMSP-Pd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juandagilc","download_url":"https://codeload.github.com/juandagilc/DAO-MaxMSP-Pd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225307805,"owners_count":17453878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beaglebone-black","bela","maxmsp","msp-externals","pd-externals","puredata"],"created_at":"2024-08-04T04:00:23.539Z","updated_at":"2024-11-19T06:32:33.792Z","avatar_url":"https://github.com/juandagilc.png","language":"C","funding_links":[],"categories":["Pure Data external development \u0026 scripting"],"sub_categories":[],"readme":"# Summary\nThis repository is a collection of Max/MSP and Pd externals developed from the explanations in the book *\"Designing Audio Objects for Max/MSP and Pd\"* by Eric Lyon.  \n\nThe externals developed are:  \n- [**bed**](bed) is a max-only\u003csup\u003e1\u003c/sup\u003e external that provides non-real-time buffer/array operations.  \n- [**cleaner~**](cleaner~) has basic controls to do adaptive noise reduction in the frequency domain.  \n- [**dynstoch~**](dynstoch~) implements dynamic stochastic synthesis as formulated by Iannis Xenakis.  \n- [**mirror~**](mirror~) simply copies audio from the input directly to the output without any modifications.  \n- [**moogvcf~**](moogvcf~) is a port of the Csound unit generator generator \"moogvcf\".  \n- [**multy~**](multy~) multiplies the two input signals and sends the result to the output.  \n- [**multy64~**](multy64~) is the same as [multy~](multy~) but implements the 64-bit version of the dsp and perform routines of the Max/MSP external.  \n- [**oscil~**](oscil~) is a wavetable oscilator that allows specification of waveform by additive synthesis and by name of common band-limited waveforms.  \n- [**oscil_attributes~**](oscil_attributes~) is the same as [oscil~](oscil~) but implements attributes for the Max/MSP version of the external.  \n- [**retroseq~**](retroseq~) is a sample-accurate sequencer that sends a signal representing frequency values.  \n- [**scrubber~**](scrubber~) is an implementation of the phase vocoder algorithm.  \n- [**vdelay~**](vdelay~) provides variable delay with feedback and allows delays shorter than the signal vector size.  \n- [**vpdelay~**](vpdelay~) is the same as [vdelay~](vdelay~) but implemented using pointers instead of array indexes.  \n\nAdditional utility externals were written to provide functionality available as built-in Max/MSP externals that do not exist \"natively\" in Pd:  \n- [**cartopol~**](cartopol~) converts real and imaginary parts to magnitude and phase.  \n- [**poltocar~**](poltocar~) converts magnitude and phase to real and imaginary parts.  \n- [**windowvec~**](windowvec~) multiplies the incoming signal with a Hann window (raised cosine wave).  \n\n# Clone\nYou can run the following commands in the terminal to clone this repository and to checkout the version of the Max and Pd SDKs that were used to build all the projects:  \n```\ngit clone https://github.com/juandagilc/DAO-MaxMSP-Pd.git\ncd DAO-MaxMSP-Pd/\ngit submodule update --init\n```\n\n# Build\nThe table below shows details about the tools that have been used to build and test the externals of this repository. For more information about the steps followed to setup the Xcode projects, Visual Studio projects, and Makefiles, see the [SETUP.md](SETUP.md) file.  \n\n| Operating Systems                                                    | Built with                   | Tested on                                              |\n|:--------------------------------------------------------------------:|:----------------------------:|:------------------------------------------------------:|\n| macOS Sierra 10.12.6                                                 | Xcode 9.1                    | Max 7.3.4 (32/64-bit\u003csup\u003e2\u003c/sup\u003e) \u0026 Pd-0.48-0 (32-bit) |\n| Windows 10                                                           | Visual Studio Community 2015 | Max 7.3.4 (32/64-bit\u003csup\u003e2\u003c/sup\u003e) \u0026 Pd-0.48-0 (32-bit) |\n| Linux (Ubuntu MATE 16.04 LTS 32-bit)                                 | GNU Make 4.1\u003csup\u003e3\u003c/sup\u003e     | Pd-0.48-0 (32-bit)                                     |\n| Linux (Debian GNU/Linux 7.4 (wheezy) on the BeagleBone Black + Bela) | GNU Make 3.81\u003csup\u003e3\u003c/sup\u003e    | libpd 0.8.3 (armv7l) BeagleBone Black + Bela Cape      |\n\nTo build all the externals in this repository at once you can run ``ruby build.rb`` from the *Terminal* on macOS or Linux, or from the *Developer Command Prompt for VS2015* on Windows (on macOS Ruby comes preinstalled, on Linux you can install it using ``sudo apt-get install ruby-full``, and on Windows you can install it from https://rubyinstaller.org). The ``build.rb`` script creates a folder called ``_EXTERNALS_`` in the root of the repository with subfolders for Max/MSP and Pd files. The optional argument ``BBB`` can be passed to the script to cross-compile the externals for the [*BeagleBone Black + Bela Cape*](http://bela.io) from a host operating system (cross-compilation was tested only on macOS using the [Linaro toolchain](https://github.com/BelaPlatform/Bela/wiki/Compiling-Bela-projects-in-Eclipse)). Max/MSP and Pd patches showing the usage of the externals will be copied to the ``_EXTERNALS_`` folder as well.  \n\n# License\nPlease see the [LICENSE.md](LICENSE.md) file for details.\n\n********************************************************************************\n\n\u003csup\u003e1\u003c/sup\u003e \"Max-only\" means that the external does not process audio in real-time, but it is implemented for Max/MSP and Pd.  \n\u003csup\u003e2\u003c/sup\u003e However, the only external that implements 64-bit dsp and perform routines is [multy64~](multy64~).  \n\u003csup\u003e3\u003c/sup\u003e The Makefiles can be used to build Pd externals for macOS, Windows, and Linux, using make.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuandagilc%2FDAO-MaxMSP-Pd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuandagilc%2FDAO-MaxMSP-Pd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuandagilc%2FDAO-MaxMSP-Pd/lists"}