Giter Site home page Giter Site logo

heavylib's Introduction

heavylib

Library of heavy compatible abstractions.

See the -help.pd patches for more information on each object.

IMPORTANT!

This repo is no longer maintained. Please see Wasted-Audio's heavylib fork for future development and support.

Synthesis

Band-limited oscillators

[hv.osc saw] - Band-limited PolyBlep sawtooth signal generator. more info

[hv.osc sine] - Same as Pd [osc~] added for convenience.

[hv.osc square] - Band-limited PolyBlep square signal generator.

Noise

[hv.pinknoise] - Cheapish pinknoise generator. more info

Envelopes

[hv.vline] - Envelope generator, replacement for Pd's [vline~] object.

Processing

Dynamics

[hv.compressor] - Compressor unit with Threshold and Ratio parameters. (Attack/Release is fixed at 40ms)

[hv.compressor2] - Stereo version of [hv.compressor].

[hv.envfollow] - Cheap envelope follower.

Effects

[hv.comb] - Comb filter effect unit.

[hv.flanger] - Flange effect unit.

[hv.flanger2] - Stereo version of [hv.flanger].

[hv.freqshift] - Frequency shifter effect unit.

[hv.reverb] - Simple reverb unit.

Filtering

[hv.filter allpass] - Allpass filter with Q control (Biquad).

[hv.filter lowpass] - Lowpass filter with Q control (Biquad).

[hv.filter highpass] - Highpass filter with Q control (Biquad).

[hv.filter bandpass1] - Bandpass filter with Q control, peak gain = Q (Biquad).

[hv.filter bandpass2] - Bandpass filter with Q control, constant 0dB peak gain (Biquad).

[hv.filter notch] - Notch filter with Q control (Biquad)

[hv.filter.gain peak] - Peaking filter with Frequency, Q and Gain parameters (Biquad).

[hv.filter.gain lowshelf] - Low shelving filter with Frequency, Q and Gain parameters (Biquad).

[hv.filter.gain highshelf] - High shelving filter with Frequency, Q and Gain parameters (Biquad).

Math Operations

[hv.exp] - Signal-rate exponential ( exp ), alternative implementation.

[hv.eq] - Signal-rate equal ( == ).

[hv.neq] - Signal-rate not equal ( != ).

[hv.gt] - Signal-rate greater than ( > ).

[hv.gte] - Signal-rate greater than or equal to ( >= ).

[hv.log] - Signal-rate natural logarithm ( ln ).

[hv.lt] - Signal-rate less than ( < ).

[hv.lte] - Signal-rate less than or equal to ( <= ).

[hv.multiplex] - Mix between two input signals based on a comparator.

[hv.pow] - Signal-rate exponent ( x ^ y ), alternative implementation.

[hv.tanh] - Static non-linear waveshaper.

Logic

[hv.dispatch] - Utility for organising parameter interfaces to other abstractions.

[hv.drunk] - Randomised walk number generator.

heavylib's People

Contributors

diplojocus avatar krighxz avatar mhroth avatar ragnaringi avatar simon-l avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heavylib's Issues

hv.vline works in patch but won't upload

I added the hv.vline object to my pd patch on Windows 7. I pasted the file to C/Program Files (x86)/Pd/extra It works fine in the patch, but won't upload and gives the following errors:

_main.pd in "_main.pd" @ (x:0, y:0): Don't know how to parse object "hv.vline". Is it an object supported by Heavy? Is it an abstraction? Have the search paths been correctly configured?

_main.pd in "_main.pd" @ (x:0, y:0): There was an error while connecting two objects. Have all objects been correctly instantiated? Have all inlets and outlets been declared?

[comment text] in "_main.pd" @ (x:0, y:0): Connection made to non-existent inlet at [comment {u'text': 'null object placeholder (hv.vline)'}]:0.

Any ideas how I can resolve this?

hv_vline~

  1. Doesn't work with [0, 1 $1(, requires [0 0, 1 $1( instead.

  2. Output envelope is different from [vline~] and can substantially change the sound when very fast envelopes are required for things like granulary synthesis.

[hv.filter peak] misses the gain inlet

While most [hv.filter] variants have two parameters, the peak variant has three, namely the additional gain level. Since it would be desirable to set the gain by message, a third inlet is needed.
This would also imply that all the filter abstractions in the filter/ folder get a third inlet (if needed or not) to get rid of a "inlet->xxx connection failed" error message.
I would be willing to submit a pull request for this issue.

list count

Hello. I know the [list] object is not supported, so is there a simple way to reproduce the functionality of [list length]? e.g. [4 6 2 8 7(>[list length]>[5)

hv.objects not found ¿?

" c:\Python27\python.exe hvcc.py main.pd -n noiseRevX -g unity -o ./noiseRev11/

  1. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): Don't know how to parse object "hv.reverb". Is it an object supported by Heavy? Is it an abstraction? Have the search paths been correctly configured?
  2. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): Don't know how to parse object "vline~". Is it an object supported by Heavy? Is it an abstraction? Have the search paths been correctly configured?"

Tried to add to the path the heavylib-master but still doest compile .

Bela Code w/ Bela IDE

I was able to generate -g bela code with HVCC no problem. I tried running the C++ source through the Bela IDE and it yields the following errors:

Building HvLightPipe.c...Makefile:441: recipe for target '/root/Bela/projects/hvcc_test/build/HvLightPipe.o' failedBuild finishedIn file arm_acle.h: expected identifier or '(' column: 1, line: 142In file arm_acle.h: expected ')' column: 1, line: 142In file included from /root/Bela/projects/hvcc_test/HvLightPipe.c:24:/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/arm_acle.h:142:1: error: expected identifier or '('__clz(uint32_t __t) {^/usr/xenomai/include/boilerplate/compiler.h:87:3: note: expanded from macro '__clz' ({ \ ^In file included from /root/Bela/projects/hvcc_test/HvLightPipe.c:24:/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/arm_acle.h:142:1: error: expected ')'/usr/xenomai/include/boilerplate/compiler.h:87:3: note: expanded from macro '__clz' ({ \ ^/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/arm_acle.h:142:1: note: to match this '('/usr/xenomai/include/boilerplate/compiler.h:87:2: note: expanded from macro '__clz' ({ \ ^2 errors generated.make: *** [/root/Bela/projects/hvcc_test/build/HvLightPipe.o] Error 1
root@bela ~/Bela#

Any ideas?

Error pd2hv with correct path set

When using a patch with a heavylibrary abstraction in it :

c:\Python27\python.exe hvcc.py main.pd -o /revNOIZ/ -n REVnoiZ -p [C:/Users/x/Documents/Pd/externals/heavylib/]

  1. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): Don't know how to parse object "hv.reverb". Is it an object supported by Heavy? Is it an abstraction? Have the search paths been correctly configured?
  2. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): Don't know how to parse object "Hv.vline". Is it an object supported by Heavy? Is it an abstraction? Have the search paths been correctly configured?
  3. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): There was an error while connecting two objects. Have all objects been correctly instantiated? Have all inlets and outlets been declared?
  4. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): There was an error while connecting two objects. Have all objects been correctly instantiated? Have all inlets and outlets been declared?
  5. Error pd2hv: main.pd in "main.pd" @ (x:0, y:0): There was an error while connecting two objects. Have all objects been correctly instantiated? Have all inlets and outlets been declared?
  6. Error pd2hv: [comment text] in "main.pd" @ (x:0, y:0): Connection made to non-existent inlet at [comment {u'text': 'null object placeholder (hv.reverb)'}]:0.
  7. Error pd2hv: [comment text] in "main.pd" @ (x:0, y:0): Connection made to non-existent inlet at [comment {u'text': 'null object placeholder (Hv.vline)'}]:0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.