• oid

    Finally getting back to this, ended up having to start over since what ever caused the duplicate wires left me questioning if it was patch corruption of just an error in my logic anytime something did not work as expected. Had to take a break before redoing that entire large patch from scratch, once I got away from the corrupt patch things came easily and I sorted it out.
    Untitled.png
    This seems to do the trick, I have the nagging suspicion it can be further simplified but it works and greatly simplifies the rest of the patch.

    posted in technical issues read more
  • oid

    @porres Sound On Sounds Synth Secrets has some, it is widely available on the web as a PDF and I think they have also have it all on their website. The name of the series is rather misleading, it is more Synth Standards. Are you looking for particular sounds or just the general way various sounds were made?

    The standard drum sound was almost always just a resonating filter fed a trigger or a decay envelope. These often had issues with feed through and the trigger would cause a thump or click throwing in an impact sound for free, sometimes they would send the trigger through a simple RC lowpass so they could tune the impact sound separate of the shell resonance tone created by the oscillating filter. Add in a white noise generator and it is a snare, many classics used just filtered noise for the snare. The standard circuit used by most of the classic drum machines was just Twin-Tee or Bridged-Tee bandpass stuck in the feedback loop of a gain element, should not be too difficult to mimic in PD, PAiA gives a decent run down on the circuit https://paia.com/syndrum/. That is most of the classic drum sounds right there, they got a little more complex by the time of the 808, but not much and much of the added complexity is just to deal with the less than ideal world of electronics. The other sounds tend to be multiple oscillators and/or white noise through differently tuned filters.

    I can not give much in the way of resources, I learned from the schematics. For many of the more popular sounds like anything from an 808 or 909 and many others, you should be able to just search for something like "808 kick drum circuit analysis" and get a write on it that will lay out the signal flow and tuning and timing of the various parts, just need to read around all the electronics non-sense.

    posted in technical issues read more
  • oid

    @ingox You should at least charge them if you are going to do their homework for them :)

    posted in technical issues read more
  • oid

    @chopin83 This will just take basic math if you are not concerned about key and be much simpler if you are calculating it from the root instead of from the 7th like the patch you found does. Our major scale is W-W-H-W-W-W-H, to put this in the view of midi note numbers, 2-2-1-2-2-2-1, so we just need to add the appropriate numbers to generate the chords and output the midi. For a Maj7 we just take the midi note and add 4 to get the third, and 3 to that to get 5th and add 4 more to that to get the 7th, for middle C (midi note 60);
    60+4 = 64
    64+3 = 67
    67+4 = 71
    Which means our Cmaj7 is midi notes 60-64-67-71 and Dmaj7 would be, 62+4=66, 66+3=69, 69+4=73 or 62-66-69-73 and we can easily change this chord to minor by adding 3 instead of 4 when we calculate the third and this also shows a fault in the math, we can no longer just use the result of the previous calculation in the next because that would give 60+3=63 and 63+3=66 and so on, it flats everything. So we go to calculating all the notes from the root, to get the third we add 4, to get the 5th we 7 and to get the 7th we add 11, now we can do any of out basic chord manipulations easily by adding or subtracting 1 from the appropriate note so our minor would be just adding 3, 7, and 11 to root note number which gives us 60, 63, 67 and 71. So the basic patch for a Major 7th would be as simple as,
    Untitled.png
    Now go make it play minors, suspended and augmented chords in major and minor keys and if you feel ambitious, make it play in key so you get the proper 7th!

    posted in technical issues read more
  • oid

    @cfry Multiplexing is overkill for just plain old on/off switches, a diode matrix as is common in our synthesizer keyboards will get you you there with less headaches. You will have no problems getting all of your switches onto a single arduino which should greatly simplify both trouble shooting and maintenance. This looks like a pretty good write up on the switch matrix, only skimmed it but all the important bits seem to be there. https://learn.sparkfun.com/tutorials/button-pad-hookup-guide/background

    posted in I/O hardware diyread more
  • oid

    @ddw_music If you move the mouse cursor off of the video the playback bar should auto hide and clear your view. I have no idea about ctrl-t on fanned out connections, there must be some sort of logic, can not believe this has just been over looked for all these years. There is also a "less intelligent patching" video for when you have issues with pd trying to be too smart with the intelligent patching, don't recall what all was in that one, but perhaps it deals with this quirk and it is just pd being too smart. It is in the 'made with pd' section of the pdpatchrope.info main page or can be found with a google search.

    posted in technical issues read more
  • oid

    Try taking a look at the midi steam with amidi, watch the port and see what pd actually sends when you send velocity 0 and 1. Will help narrow things down.

    posted in technical issues read more
  • oid

    @ddw_music

    it's painful when you have to add an outlet in the middle of a t object. Really awful

    This is where your intelligent patching comes in handy. Select the trigger, control+k to disconnect it, add the outlet, select the trigger and all the objects it connects too, drag a wire from the first outlet to the first destination, hit shift, release, connect the inlet, done. You can also get things to patch in different orders by going from different outlets to different destinations. It helps to get in the habit of not making massive triggers with 32 bangs, break it up, also ordering your patch to reflect the trigger will make the intelligent patching easier and more predictable, the object the first outlet goes to is right beneath that outlet and the object the second outlet goes to is beneath it and so on, sometimes it can not be helped but a [t a] can be placed to help keep order and bend wires when needed.


    Sometimes things which are painful in puredata are relatively simple if you just open the patch in a text editor or use the various command line tools like grep, sed, bash, etc.

    posted in technical issues read more
  • oid

    @whale-av That is why I said " it CAN be very difficult" instead of "it IS very difficult" :)

    posted in technical issues read more
  • oid

    @jancsika So my standard practice of using list objects for things I pack and unpack and arrays for everything else is a good way to go. Don't think I have ever made a list of 100 items, at least not on purpose. Thanks.

    @whale-av @seb-harmonik.ar To quote myself from that post

    The reality is far more nuanced

    Note that I did not say that reality was black and white and that externals are evil and should always be avoided. The point being that neither extremes are all that great, if you do not have a good foundation in vanilla you will likely not have much success in puredata., giving a beginner without that foundation an external to do the work for them can be detrimental to their learning and act as a crutch. I gave an example of when abstractions can be better and why, you get access to the internal logic of the abstraction, you do not get that with an external, if you need access to that logic the abstraction will often win compared to the external and the extra logic needed to fake having access to the internals. Between the poor documentation and the tendency to answer questions with externals it can be very difficult to really learn pd for the non-programmer. What really made it work for me this time when I decided to return to pd was that I requested vanilla answers to my questions and all of a sudden I got all sorts of in depth explanations, many ways accomplishing the same task, and links to other threads that go deeper instead of the names of some externals. Things I wish I had known when I started Pd.

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!