• nicnut

    Hi PD-Pi,

    I think that's a good suggestion. I should work on a different impulse that is more gentle to simulate a mallet.

    What does the [1 5, 0 5 20 (. message going into vline mean? Does it go from 0 to 1 in 5 milliseconds, then to 0 from 5 to 20 milliseconds?

    Thanks.

    posted in technical issues read more
  • nicnut

    Hi,

    OK I looked at some spectral analysis images of singing bowls. I think this one might be better. If anyone has suggestions please share them.

    I think one thing that could improve this would be if I could figure out how to emulate a softer attack sound, like with a soft mallet or something similar.

    singingBowl2_D.pd

    posted in technical issues read more
  • nicnut

    SingingBowl.pdf singingBowl1.pd

    Hi everyone.
    I have been thinking about creating a pd patch that is a physical model of a singing bowl or a crystal sound bath type bowl for awhile.
    I found a paper on the internet about the physical modeling of a singing bowl.

    I uploaded a patch trying to use some of the info in the paper. To use the patch you need the else library to use the compress~ and resonator2~ objects.

    The paper says the bowl resonated at 186, 551 1007 1627 and 2337 Hz. I tried to scale the amplitude from the paper to something that would work. I looked at Figure 2 in the paper for info on how the different frequencies decayed.

    I added a frequency close to each frequency to get some beating. The paper says that due to the imperfections of a singing bowl each frequency has some ringing to achieve that.

    The patch I created kind of sounds like a singing bowl.
    Does anyone have ideas to improve on to this? I was also thinking to have each frequency go into a bandpass filter so I can control it's bandwidth, but that seems like a lot of extra work and objects.

    Thank you for any input.

    Nick

    posted in technical issues read more
  • nicnut

    Hi David,

    The controller is something I made. It is Arduino Mega based.
    You could be right about your suggestion. I think the sensors are constantly sending the controller values into Pd. I didn't know that would affect the LEDs or create an overload of info.
    I will look into change. I will put a change object after every ctlin so it's not sending data all the time. I'll let you know if it works.

    posted in technical issues read more
  • nicnut

    Hi,

    I recently made an interesting discovery. I have been using a midi controller I made to use as controls for a looper in Pd. When I press a button for a loop function an LED usually turns on to give me visual feedback. If I turn on an effect, an LED turns on. Play, stop, reverse, speed change, etc, an LED turns on.

    This looper has always been buggy and glitchy. it's never really worked right and I always assumed I had some timing thing off or I made a mistake in the patching.

    I accidentally discovered today that If I disable all the LEDs it works perfectly. I think Pd is prioritizing the LEDs over the audio processing or midi messages. I know in Max there is a way to disable this by turning "overdrive" off in the Audio Settings window.

    Is there a way to prioritize the MIDI and Audio over LEDs in Pd so I can still use LEDs, but their timing isn't exactly perfect? Or even at least some of the LEDs? I use ctlout objects to turn on the LEDs.

    Thank you in advance for any possible suggestions.

    posted in technical issues read more
  • nicnut

    Hi @jameslo

    The two versions sound the same to me too. Thanks for the info, even though they sound the same it's good for me to learn how all this works. I also like when things get a little out of synch so threshold~ might be fine for me as well for most cases.

    posted in technical issues read more
  • nicnut

    Hi @jameslo

    Ok I tried out your method as I understand it. I am uploading a patch with the threshold~ method and the wrap~ method with the filter modulation so you can hear whats happening.

    When I use the phasor~ with an osc~ using wrap~ they all sound the same. Using cos~, as you did in your example, I can hear the different tempos, but it's a different waveform than an osc~.

    Is there a way to do use wrap~ with osc~ oscillators?

    thresh~.jpg

    FilterModWrap.pd wrap~.jpg

    posted in technical issues read more
  • nicnut

    Hi Everyone.
    Thank you again for all the suggestions.
    Using threshold~ and sending a zero into the right inlet is syncing everything up

    thresh.jpg

    posted in technical issues read more
  • nicnut

    Hi,

    This seems pretty obvious, but I am sort of stumped.
    If I want to have several oscillators going at mathematically related speeds, how do I get them to line up their zero crossings?

    I have three osc~ objects. one at 10hz, one at 20hz and one at 40hz. I am doing some filter modulation and I want these three osc~ objects to be in sync.

    In the attached file if I do method 1 I can hear the slowest osc~ object affecting the amplitude of the other two faster ones.

    If I do method 2 the osc~ objects get out of sych.

    Let me know if someone knows how to do it.

    Thanks, Nick

    in_phase.jpg

    posted in technical issues read more
  • nicnut

    Hi @oid. After reading your most recent post I think I am starting to get it and I can see the advantages to how you are approaching this. It seems you are modularizing parts of the patch. That's why it would be easier for me to envision this in C++ because i can have a different block of code for different situations. And of course you can get as detailed as you want in each section.

    I am going to post what I have so far, even though it doesn't really work very well yet. In folder there is a patch called counterpointtest, and other necessary elements.

    For now I am trying out the expr object with two variables. f1 is an incoming scale step, and f2 is an interval between the last two notes.

    The patch should generate two notes. The one on the left would be a scale step a musician would input into the patch, and the one on the right would be generated based on some counterpoint rules that will be in the expr object (for now I only have a few to see how everything will work).

    The inputs Into the expr are intervals based on a 7 note scale, starting with 0. So 0 = unison, 1 = a 2nd, 2 = a 3rd, 3 = a 4th, 4 = a 5th and 7 = an Octave.

    In the f2 inlet of the expr should be the interval between the last 2 notes tested.
    What should happen is when a new note is played it’s state of change is tested against the last note played

    Ideally what would happen is I would play a note that would be f1, that note would be tested against the previous f1. For example, is the new f1 a scale step higher, or lower, etc. Whatever that difference in the past f1 to the current f1 would go into the expr object f1 inlet.

    In the other inlet of the expr object, f2 would be the last interval between the two notes, so a 5th, 4th, 3rd etc.

    A new interval should be generated by the expr object and added to the f1 scale step that was played. This new note will be played out of the right side of the patch., and the note selected to be played by the musician will be played on the left side of the patch, generating a two note interval (dyad).

    This patch doesn't work so well yet. One reason is that I need to put in every possible combination of intervals and scale steps into the expr. Maybe this is crazy as there are probably a hundred possible ways 2 notes can interact. And on top of that I want some interval combinations to have several possible weighted outcomes. Maybe this is too much work, but If I could do it it might be cool to use.

    Anyway, if anyone has time to take a look and let me know if I am approaching this in a way that might work and be practical.

    thank you. Nick

    counterpointtest.zip

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!