Giter VIP home page Giter VIP logo

netpd-instruments's Introduction

netpd

instruments

This is a collection of instruments to be used within the netpd framework which is hosted at:

https://github.com/reduzent/netpd

Instruments are Pd patches with certain netpd-specific properties. They may be synthesizers, sequencers, but can be anything that can be expressed as Pd patch. In this repository, instruments for making music collaboratively are hosted.

Read more about netpd.

Some instruments are documented.

NOTE: There are no releases. The instruments are constantly updated and new ones are added. Do not expect a current checkout to work with older versions of netpd.

Authors: Roman Haefeli et al.
License: TODO

netpd-instruments's People

Contributors

reduzent avatar

Stargazers

 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

netpd-instruments's Issues

conflicting notion of poly: unpunch vs. qseq3

2 / 4 in qseq3 means half the speed, like two ticks are played in the time of four.

2 / 4 in unpunch means double the speed, each tick as 2/4 the length of a regular tick.

Which is the correct one?

master: ability to set position

Even better: Support loop ranges. Even betterer: Support additional loop range that follows the current loop, so that loop ranges can be switched seamlessly. Even bettererer: Do it graphically with datastructures.

unpunch: protect decorative scalars from being touched

In certain areas of unpunch's GUI it happens that a "background" scalar is clicked, which messes up the appearance. By switching pages the correct view can be restored, but it would be much nicer if it didn't happen in the first place.

Add netpd2-patches as git submodule

How about moving all patches directly in netpd2-patches, that way one could submodule (optionally for development) netpd2-patches into netpd2 by:

git clone git://github.com/reduzent/netpd2.git
cd netpd2
rm patches/.gitignore
rm patches
git submodule git://github.com/reduzent/netpd2-patches.git patches
git submodule update --init --recursive
  • this would require that abs are moved in netpd2 into netpd2/patches/abs
  • maybe netpd2/.gitignore could contain patches/* to not track patches+abs (if this works when submoduled)

tr808: add the "other" sounds

Before git was common, I once had quite a lot of the TR-808 sounds synthesized in Pd. However, due to some stupid mistake I lost them all but kick and clap. Would be nice to have them back.

add link to documentation page to instruments

Pd 0.51 introduced a new object [pdcontrol] which allows to create clickable links inside patches. Since many instruments already are more or less documented with their dedicated page on netpd.org, they should provide a link to it.

evil, evilst: high cpu load

CPU load caused by the instruments evil and evilst is significant. Judging from the experiences with tpf-client, this could probably be done more efficiently.

qseq3: set state is not synched correctly

When synching a session from a peer, the buttons in the qseq3 main window reflect the correct set states, but all sets are playing regardless. When switching set states manually, they behave as expected.

e-del / mx : 'multiply defined'

Recently I have had lots of error messages around using e-del, along the lines of...

'warning: insert/1/e-del_dp.1-r: multiply defined'

I think this also produces a kind of 'leaky' effect with the wrong e-del effect picking up audio streams.

qseq3: set doesn't receive master clock after clearing it

Steps to reproduce:

  1. Create a new set
  2. Create a sequence into that set
  3. Clear the set (with 'X' button in main qseq3 window)
  4. Create a sequence again

All the sequences in the previously cleared set do not show a cursor going forward while master is running.

master: weird state after saving current state to file

When saving a state while master is stopped, it starts running without the start/stop toggle indicating it properly. It seems this is a regression that was introduced with the re-ordering of messages for allowing nested effects. master shouldn't change its own state when session is saved (or transferred to peer).

ripple: automatically snap to zero-crossings

With ripple's waveform window, cue points can be set very precisely. Still it would be handy, if it there would be an option to make cue points snap exactly onto zero-crossings for quicker editing.

master: loses shuffle after preset save

Sometimes when using shuffle from master and state is saved as preset, the shuffle clock "loses" it second tick and only even numbered steps are output. Touching the 'shuffle' sliders restores it.

mx: osc path inconsistency

When loading an effect into an insert, the path of the effect parameters is different from the path of the loading itself:

[..b] /1/mx/mx/insert/1/load rphase
[..b] /1/mx/insert/1/rphase/freq 0.0909091

This is an example of an effect in an insert in the main section. The same applies also to the inserts of the instruments:

[..b] /2/sine/mx/insert/1/load rphase
[..b] /2/sine/insert/1/rphase/freq 0.0909091

The loading probably should rather use:

/2/sine/mx/insert/1/load rphase

mx: better selector for picking item out of a list

People report that selecting effects in mx is finicky. Eni proposes a different approach to scrolling/dragging:

  • Click pops up a list of effects
  • Click on effect name selects effect

I think this could even be refined by using the first click to show only available libraries and click on library name shows list of effects.

mx: support many channel strips per instrument

An instrument then could have many [i2mx $1 instr] instance. For instance

  • [i2mx $1 instr/1]
  • [i2mx $1 instr/2]
  • etc.

or with additional argument:

  • [i2mx $1 instr 1]
  • [i2mx $1 instr 2]
  • etc.

ability to latch MIDI input

People reported that latch3 does not work for MIDI controlled parameters. However, it would make totally sense to be able to record movement from a physical controller as opposed to mouse movements.

pcr-30: add support for unpunch

So that a MIDI keyboard can be used to control instruments using built-in [unpunch] sequencer. Also support for being able to record MIDI notes into [unpunch] would be nice.

mx-dropdown 'save changes'

Pd asks if the user wants to save changes to 'mx-dropdown' when trying to quit at the end of a session - as this is for each instance of the patch it can produce a lot of messages. Workaround is to click 'unpatch' at the end of a session but this won't be obvious to many users.

mx: meter for each instrument

It would help to get a quick overview of what is going on if mx would display the a level meter for each individual instrument.

qseq3 misses beats

Here is a strange little bug - if I launch 'unpatch' and create a simple setup with drum-delta or something and qseq3 and give it a polyrhythm of 3/4 with a 12:3 layout, qseq3 will mute every third cell (bom,bom,pause,bom,bom,pause) but as soon as I change the tempo from the default 120 it fixes itself and plays everything properly. I can move the tempo back to 120 and it works ok.
On MacOSX 10.13.6 Pd 0.51-4 netpd 2.3.0

lilacid piano roll array glitch

In lilacid one note at the bottom of the unstep piano roll (Fsharp?) will not sound and gives this error message:
tabosc4~: NBLSQUARE119: no such array

ripple: error messages when loading

When loading ripple, the following error messages appear in the Pd console:

error: 1440.window-frame: no such template
error: 1440.zero-line: no such template
error: 1440.cue-marker: no such template
error: 1440.cue-dtl: no such template
error: 1440.cue-marker: no such template
error: 1440.cue-dtl: no such template
error: 1440.cue-marker: no such template
error: 1440.cue-dtl: no such template

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.