• s.elliot.perez

    @seb-harmonik-ar Thanks for the response, but I really wanted you to start with a "Yes" or "No" to my question "Am I on the right track?", lol. Since you talked about the impulse response as well, I take it to mean I was somewhat on the right track... but I was mistaken about the shape of the ramp being part of sine wave? Rather, it's just exponential for some reason? After that, you kind of lost me... using rpole~ instead of lop~ will just raise more questions for me, I'm afraid.

    posted in technical issues read more
  • s.elliot.perez

    @whale-av Let me see if I understand this... in the theoretical part of Farnell's book, "Designing Sound" (7.3 Generating Digital Waveforms), he writes that an impulse spike contains all frequencies (based on the Uncertainty Principal). So when a sudden change in value is sent into the [lop~] (replacing the [line~] in your get.pd with a [sig~] doesn't change anything noticeably), it could be said that waves of all frequencies go from 0 to 1 or 1 to 0 at their respective speeds. By filtering out all the frequencies above 1, the fastest wave to make the transition becomes 1. For 0 to 1, this transition takes the shape of cos 18π-cos 24π (0.75-1) and for 1 to 0, cos 6π-cos 12π (0.25-5).

    Am I on the right track? If so, what would be the equation to calculate the length of the transition based on a given filter pole a? I imagine it would involve dividing the wavelength/duration by 4 at some point, but I'm unsure of exactly how to do it.

    posted in technical issues read more
  • s.elliot.perez

    Hello,

    I've recently started studying Andy Farnell's book Sound Design and am learning a few new things about Pure Data. Sometimes the Math concepts are hard to wrap my head around but I'm mostly hanging in there. In this example link text, he shows how to use a [lop~] to in lieu of a [line~] which I'd never heard of doing before. Could someone explain to me how this works? I imagine it has something to do with the lop~ needing one full period of a 1Hz wave to check if incoming sounds are below the point of 1 or not before letting the changes through... but I really don't get it. So to clarify, my questions are:

    1. How does it work?
    2. How would you get envelope lengths other than 1? I tested, and it doesn't seem to operate on a Time to Frequency relationship. A frequency of 0.25 seems to make an envelope faster than 4 seconds.

    posted in technical issues read more
  • s.elliot.perez

    Hello,
    Does anyone happen to have a PD object into which you can input the Carrier Frequency, Modulator Frequency and Index of a Frequency Modulation, and get back a spectrum analysis, e.g. 4+ of it's loudest frequencies in Hz? I'm using Heavy, a platform for converting PD patches into plugins (for Unity, C, WWise, etc.), but it doesn't have (m)any options for pitch detection (not all PD objects are compatible), so I figure something like this would be the solution... but it's not simple due to FM's ability to produce infinite sidebands...
    I looked up some info, but there's an omega symbol that represents angular frequency of the carrier in radians per second and I'm not sure how to get that value: http://www.radio-electronics.com/info/rf-technology-design/fm-frequency-modulation/spectrum-bandwidth-sidebands.php
    http://literature.cdn.keysight.com/litweb/pdf/5954-9130.pdf

    Any ideas?

    posted in technical issues read more
  • s.elliot.perez

    Yes, I had a similar problem recently with throw~ and catch~. The signal gets quieter when two things are thrown to a catch~, but louder (the desired volume) when put directly into the dac~...

    posted in technical issues read more
  • s.elliot.perez

    Hah, whoops. Wasn't so hard after all. semitone value>[+ -36.3]>[mtof] does what I want, though it's approximate of course. If you have a better idea, you're welcome to share it...

    posted in technical issues read more
  • s.elliot.perez

    Hello, I worked on one of my abstractions today so that I can feed it a spectrum of specific pitches from which it randomly chooses one at each bang. This abstraction is a sample reader, so the base pitch is different depending on the file. I then transpose it by changing the reading speed of the array. So if 1 is the untransposed base pitch (normal playback) and 2 is an octave higher, what's the simplest way to calculate semi-tones (I'll worry about quarter- or other microtones later on) in between 1 and 2? I would like to be able to feed the abstraction something like "0 4 8 12" and have it play back c, e, g# and c (if the base pitch is a c), but if I just divide those values by 12 and add them to 1, it doesn't work because of how frequency ratios work. Any ideas? I'd also like to be able to transpose downward in the same way...

    I'm aware of the existence of [mtof] and [ftom], but I'm not sure they're of any use here...

    posted in technical issues read more
  • s.elliot.perez

    Hi everyone,

    My abstractions have GoP activated to allow for covenient monitoring of an experimenting with various sound parameters. However, the rewriting of these many graphical objects slows down PD. When hiding these abstractions in a subpatch, this slow-down is circumvented. However, now I'm getting some error messages in the main PD window:

    (Tcl) INVALID COMMAND NAME: invalid command name ".x1d73448.c"
    while executing
    "$tkcanvas itemconfig $tag -text $text"
    (procedure "pdtk_text_set" line 2)
    invoked from within
    "pdtk_text_set .x1d73448.c .x1d73448.t60bbdb8 {50.26}"
    ("uplevel" body line 1)
    invoked from within
    "uplevel #0 $docmds"

    Do you know anything about this? Thanks in advance.

    posted in technical issues read more
  • s.elliot.perez

    @heyok Thanks heyok, I didn't even know about that object. It makes things a little more compact - amazingly, [bang~]>[snapshot~]>[sel 1] (or [moses 1]) still doesn't work, so [> 0.999]>[change]>[sel 1] it is!

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!