• s.elliot.perez

    @jameslo Hey, you were right. Thank you!

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

    @Butahuruf What kind of input will you be giving it?

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

    I made a lyre with karplus strong:

    karplusstrong.pd

    It works pretty well, but with pitches above 600 Hz the spectrum becomes very rich, so that the sound becomes very metallic and the fundamental becomes increasingly hidden among the other pitches. What can I do about this?

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

    @vickydcl You can check if it's a processor problem by clicking on Media>Load Meter. If the CPU value is near 100, that's... bad.

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

    @Butahuruf So you want to transpose input one or two octaves down and output it? The easy vanilla way to do this is with an array, but that would make the playback slower. Maybe [soundtouch~], an external from kaatja? http://katjaas.nl/pitchshift/soundtouch~.html

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

    @Jona Thank you! You're a legend. I'd forgotten all about the list items since they're not hvcc compatible.

    Unfortunately that particular ChucK analysis script doesn't work very well on noisy sounds...

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

    Speaking of efficiency: There's ChucK code that does spectral analysis and outputs a list of peak frequencies and their amplitudes in this format:

    [ 4072.47, 1 ], [ 5593.25, 0.304494 ], [ 4196.28, 0.66348 ], [ 5536.73, 0.726691 ], [ 4382.01, 0.527432 ], [ 5380.61, 0.722193 ], [ 4766.91, 0.287018 ], [ 7073.66, 0.620362 ], [ 5334.85, 0.513121 ], [ 5490.97, 0.267715 ], [ 5046.84, 0.342458 ], [ 7006.37, 0.657309 ], [ 6629.53, 0.451136 ], [ 6939.07, 0.525416 ], [ 9520.37, 0.254127 ], [ 9388.48, 0.253434 ], [ 7396.66, 0.225276 ], [ 9582.28, 0.259454 ], [ 8990.11, 0.168725 ], [ 9703.4, 0.247069 ]

    which you can easily click and paste into another ChucK script that will resynthesis a sound with that spectrum.

    If I wanted to use this data in another text-based language, I could make or adapt a parsing script that removes the brackets and sends the left value into a frequency array and the right value into an amplitude array. But in PD, even if I use abstractions or [clone], I would still have to either manually go in and cut the individual values and paste them into a message box or into an abstraction as a creation argument. I suppose if I could convert them into two lists, one for frequency and one for amplitude, eg. I could send them into a [clone] easily, eg.

    [4072.47, 5593.25, 4196.28, etc.(
    |
    [next $1(
    |
    [clone]

    I've made a parsing script before to read parameter list txt-files into C#, so I'd have to look into how to generate .txt files. So the process would be

    1. Get ChucK analysis data.
    2. Paste it into algorithm to generate two txt-files in the proper format.
    3. Copy and paste content of those files into PD message boxes.

    This would work for testing in PD, but since hvcc isn't compatible with [clone], I'd have to wire up a route system into regular abstractions.

    Any better ideas for how to do this? Is there a way to do the parsing in PD itself?

    (I know @Jona mentioned ofelia. So the question is what's more work and what has more payoff. Doing it the way I described or learning ofelia?)

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

    @jameslo Ohhh yeah. That's what I get for skimming the help file. Thanks!

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

    @jameslo Hey, thanks for sharing that. I just put this together- It took me a little while to set up, but it works pretty well! It's not compatible with hvcc, which I use for integrating PD structures into Unity and other platforms, but it could be useful for prototyping.

    Here's the version I made of the above code with oscillators. Open "string.pd" to use it. Needs to have "overtone.pd" in the same folder.

    string.pd
    overtone.pd

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

    @whale-av Thanks! Very interesting. Might take me a while to figure out how it works.

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

    @whale-av I've renamed them to get rid of the numbers (assigned @ download?) and when I open build_inputs.pd, the three upper objects are all invalid. Am I missing some extended library?

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

    I've been exploring synthesis with more traditional code lately and I'm amazed at how much more time it takes me to do something like this piece of ChucK code, which sets the frequency and gain of 20 overtones, in PD:

    DecaySine s[20];
        for (int i; i < 20; i++)
    {
    s[i] => dac;
    247.0 * (i+1) => s[i]freq;
    3.0-(i*0.1) => s[i].T60;
    0.5/(1+i) => s[i].gain; //triangle
    s[i].keyOn();s
    }
    

    To do that in PD, I'd have to make all these boxes, fill them in one at a time and connect them with wires. This remains true even if I come up with something to calculate out the values in the same way. I still have to manually enter the numbers into the [route] and manually make and fill out the object boxes (bottom right of the image. This takes like 20 times longer than the ChucK code (or C++ etc.)

    image.png

    I imagine PD will never be as efficient/quick for things like this as a typed coding language, but am I missing something? Is there a more efficient way to use PD?

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

    Hey,

    Having trouble doing anything more refined than what's in Farnell's book ("Mammals" chapter). Tried reading this paper, but I'm too bad at math to understand all the equations: https://www.cs.princeton.edu/~prc/SingingSynth.html

    Did a search on Speech Synthesis in Pure Data to find this thread. It's been two years but I see the moocow page is still intact. Downloaded ratts v0.08, but it looks like I need to compile some C source files and I don't know how to do that. Is there a guide somewhere for how to do it with Visual Studio (Windows)?

    posted in patch~ read more
  • s.elliot.perez

    Audio (and a little video) from a recent concert where I played some PD patches using my viola (1st and 3rd track. 2nd track is just amplification & reverb)

    Sometimes the viola blends well with the synth sounds, but sometimes it doesn't. Planning on buying an electric viola soon, to avoid this issue.

    posted in output~ read more
  • s.elliot.perez

    @ddw_music Wondering how I could do this with. I suppose you could get $y with an audio delay of 1000/samplerate, add them together and put them into an [abs~]... but there's no [>~] object, so how would one check that at an audio rate? Also, are the last two parts of the equation ($y - $x, and $x + $y) what happens when the condition if(abs($x + $y) > 1 is met? If so, what order are these two parts executed and how are their results recombined?

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

    @ddw_music Not finding that formula in the mailing list. What are the two inputs of $x and $y?

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

    Just got the miniwoog working and examining the wave generators.
    I see that the [pd sawtooth] creates a much cleaner spectrum than a normal [phasor~]->[~-0.5]. The latter has a bunch of "junk" across the whole spectrum when looked at with fft analysis and it sounds hazier. Looking at the inner workings of it, but is there an explanation anywhere of how these clean waveforms are made and why they're not the default? Looking at fft analysis of complex FM in PD (done with only [osc~] objects) and those spectra are naturally clean. Are there any vanilla objects for generating "clean" versions of sawtooth, triangles and pulse/square waves? I guess I could abstractify this patch's generators, but there are a lot of arguments being sent in so it might help to understand what's going on...

    EDIT: I see that the [phasor~]'s frequency is being jiggled around its center, the result is being multiplied by 1024, but not sure what goes on after that with the "number of harmonics" value and the tables (whose location or contents I don't know...)

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

    @whale-av OK, thanks! Got it running with no errors in vanilla PD by adding all the Extended paths. Had to change some object names, eg. from [zexy/limiter~] to just [limiter~]. For some reason adding the "extra" path didn't work.

    [fft~] apparently doesn't work in PD-extended, I guess because Extended's not being updated?

    posted in patch~ read more
  • s.elliot.perez

    OK, I got it working- I get sound when I click the piano keys.. I had to manually add the paths for the libraries that @coloscope listed. The weird thing is that opening Edit>Settings after having added the paths and opened the patch shows none of the paths I added...

    Also, I still get these three errors:

    image.png

    posted in patch~ read more
Internal error.

Oops! Looks like something went wrong!