• impression

    @Balwyn: perfect, seems all working now. Thank you so much again :pray:

    posted in technical issues read more
  • impression

    @Balwyn. Thank you so much, I think its pretty close to what I was looking for, but I thought I can skip the inlet part and send straight from my testPage into the testsynth.pd
    Maybe @whale-av you have explained that in your pd? but I can`t follow unfortunately.

    That's how far I got basically:
    It sends cutoff data to either the testSynthClone 1 or testSynthClone 2. But I am not sure if that interfers with my actual "notes" and "velocity" data for clone later on. If I could I would love to skip the inlet part and send straight into the testsynth, or is that not possible?
    image.png
    testSynth.zip

    posted in technical issues read more
  • impression

    Hey Balwyn.

    Thank you so much for your help, but I’m not sure if that’s what I’m trying to do, or maybe I just don’t fully understand it yet?
    I tried simplifying it as much as I can. I basically call the testSynthClone abstraction and give it the number 3., because later on I will have multiple abstractions.
    I want to pass this number down to the actual testSynth abstraction, so that it becomes a unique identifier for that particular abstraction.
    I’m able to pass it down to testSynthClone, but passing it further to testSynth using $1 doesn’t work.
    If that makes sense?

    image.png

    posted in technical issues read more
  • impression

    Hi.

    I have an issue I can`t manage to solve

    I created a polyphonic synthesizer.
    I have an abstraction for the actual synthesizer, which contains the filter and velocity envelopes.
    I then use [clone] to load this abstraction in order to achieve polyphony.
    After that, I made the [clone] instance itself into another abstraction, so I can call this polyphonic synthesizer multiple times and assign it to different tracks or step sequencers.
    So far, that’s all working — let’s call this abstraction synthclone.

    Now I’d like to send values like cutoff, resonance, etc., to one of these synthclone abstractions.
    How would I do that?

    Because it’s basically an abstraction inside an abstraction, I’m not sure how to send values to each synthclone — which in turn needs to pass these values down to its internal polyphonic synthesizer abstraction.

    My solution so far: I created an inlet for the polyphonic synthesizer abstraction, and in my synthclone abstraction, I added inlets which passes values down to the polyphonic synth abstraction.
    I think I also have to send the message all $1 to it in order to make it work, but that seems pretty complicated overall. Also I would probably need so many inlets for all the values I want to control, its hard to keep that in order.
    I’d rather use send and receive directly in the polyphonic synth abstraction, if that’s possible.

    Sorry, to basically make it short, if I create my synthclone abstraction like synthclone 4, I would need to pass the 4 to my synthabstraction inside clone. I am able to pass it to synthclone with $1 but then I can`t get this value inside the clone object

    posted in technical issues read more
  • impression

    So typical, I tried whole day yesterday and now that I wrote into the forum I got it working.
    I basically installed python-osc and in pure data I am using mrpeach/udpreceive. That worked for me.
    Thanks for your help though :)

    posted in I/O hardware diyread more
  • impression

    just saw this post and didn`t noticed its actually already on the top.

    I am basically running into the same issue.

    Basically, I want to send button inputs, and later rotary encoder values to a Pure Data patch running on a Raspberry Pi via GPIO.

    I managed to get the button working, and it's definitely sending data over UDP or TCP, that part works fine.

    But Pure Data just doesn't receive anything. I've mostly tried using [netreceive], but I get nothing.
    I am also not sure if UDP/TCP is the right way to go?

    Are there any news on how to get this working or is there a python script out there which could help me?
    I am surprised after almost 8 years there is still no easy solution to this? :disappointed:

    posted in I/O hardware diyread more
  • impression

    ah thanks a lot. I am happy there are multiple option. Will give them a try. Thank you

    @oid. I am sorry you are right, GOP inside GOP is working indeed. I think the GOP I created inside the other one was slightly bigger, which is why it didn’t show the whole content, and I assumed it wasn’t working.

    posted in technical issues read more
  • impression

    Hi,

    I'm running into two issues I can't seem to solve:

    1. Is there a way to dynamically load and clear abstractions?
      Let’s say I have multiple synthesizer engines with different GOP settings and sliders.
      I’d like to switch between them by always loading just one engine at a time and replacing the GOP of the previous engine.

    2. I’d like to create a virtual display/dynamic GUI. I know that I can’t hide objects in Pure Data, but I could move the GOP to different sections to give the impression of switching display pages.
      The problem is that I have 16 tracks, and each track might need 6–8 pages. That’s already over 100 pages — not including the different synthesizer engines with their own settings for each page.
      Altogether, that could easily add up to 400+ pages, which is way too much to handle just by shifting the GOP.

    I also considered using one abstraction per track. But that would require showing a GOP inside another GOP, which looks like that won`t work either?

    Are there any other options I could try?

    posted in technical issues read more
  • impression

    Thanks a lot for all the explanations. :) I actually had a look at supercollider before but tbh. as a beginner in programming I am quite happy PD keeps it a bit more visually. I think in supercollider I would be even more lost :sweat_smile:
    I've been studying your script the last couple of days and tried to rebuilt it on my own. I already learned a lot. But a couple of things I am quite not sure about.

    • for what are you using text search parsing->moses->1000 for? I just noticed it turns voice number 1 into a zero, but don`t really get how and why.
    • also I don't fully understand "pd notecount", even you explained already what it does, it lets my brain explode:smile:
      You count up + 1 once a note is pressed and count down -1 once its released. I don`t know what's the idea of "max 0" feeding itself back into + though.

    Also, I found this from another forum thread you posted, which is an interesting read in general.
    https://forum.pdpatchrepo.info/uploads/files/1605338689951-pd-things-i-wish-i-knew.png

    It all works as you showed, but when I set list split to 3 it basically freezes PD. Do you know by any chance why?
    I would need to split my list into 3 later on.

    Thank you again so much for your help

    posted in technical issues read more
  • impression

    Omg, never in my life would I have figured that out.:open_mouth:
    Thank you so much. Really appreciate your help.
    I think I will be busy for a few days studying it properly.

    posted in technical issues read more
  • impression

    Yea. That was my initial idea. But it seems like it comes to a similar issue.
    What comes out from notein i would need to write into a text. If i play polyphonic I would get multiple notes which i would also need to iterate through at first and bring them in order if I am not mistaken🤔.
    It all works if its monophonic. But polyphonic I can't sort it out.

    posted in technical issues read more
  • impression

    @ddw_music said:

    I'm curious, why is that? There's probably a solution. If it's the first time you're using [clone], I can see how it might be tricky to figure out, but "haven't figured it out" may not be the same as "can't use it."

    agreed :)
    I should have probably phrase it better.
    .
    .
    I am fairly close, but can't solve this last one issue.
    Once I am reading out my list, I am iterating through each value, the issue is though, its probably not always in order, which messes up the actual notes.
    I guess I would need to go through each list and combine it into another list. So basically I would need to take the next first input of each list(textNotes,textVelocity,textLength) and combine it into another list so that I have pitch, velocity and length in one list for each note, set by the index. I just don`t know how to achieve that.

    I thought maybe list split could help? Always just splitting the next first one and writing it into a list for all of them? But I would need to iterate through that as well I guess

    image.png

    posted in technical issues read more
  • impression

    Oh man, thank you so much. Looks like I should have checked the help file a bit more carefully.
    I’m sorry if those are dumb questions, but it can be quite overwhelming as a beginner.
    I really appreciate your help. Thank you :)

    posted in technical issues read more
  • impression

    Thanks to everyone for their help! I had to try a few things, but I just can’t come up with a solution.
    Basically, I want to feed polyphonic input into a step sequencer — either through [notein] or by manually selecting notes from a virtual keyboard.( a button each sending the pitch for each note)

    Using [notein] seemed like the easiest approach at first. I’m storing pitch and velocity in separate [text] objects, and I thought I could just use [text get] to feed that into [poly].
    But here’s the issue: [poly] doesn’t accept lists, it expects values to arrive one at a time, as MIDI is a serial process. So instead of feeding a list directly, I would need to send each note individually, one after the other.

    I could route each voice separately after [poly] and assign pitch and velocity manually for each voice, but that feels like a lot of effort, and I can’t really use [clone] for my synth setup. That means I’d have to manually duplicate everything based on the number of voices, which isn't ideal. Also I don`t know how to store velocity and note length in this case.

    When I try the virtual keyboard approach, I run into the same issue: I have all the note data stored in a list, but I can't feed that list directly into [poly]. I’d still need to read the notes out one by one, in quick succession. On top of that, with the virtual keyboard, I’m not sure how to handle note length, since [poly] manages note on/off internally. I’d basically need to generate my own note on and note off messages manually.

    So I think the core issue I’m running into is how to read out a list in a serial way — fast enough to sound like a chord, but still feeding each note individually into [poly].

    Also, I found another approach someone did

    posted in technical issues read more
  • impression

    Thanks a lot for both of your help. It sounds much harder than I expected :grin:
    Lets say I want 32 polyphony, that would be an insane effort. Even I don`t always use 32 voices, I thought I can keep it more dynamic, depending on how many voices I am playing
    The link is very helpful though. Will need to make my way through it.

    posted in technical issues read more
  • impression

    Hi.

    I have built a step sequencer and I would like to record polyphonic notes into it. So far I figured out how to record monophonic notes into a table. But I am bit overwhelmed on how to do that if notes are polyphonic.
    Does anyone knows how that would work?

    posted in technical issues read more
  • impression

    yea. I thought Bela sounded like the better setup, connecting buttons and encoders seems much easier, plus I wouldn`t have any latency issues.
    But I probably follow your advice and try it with the raspberry pi first. Its probably also more flexible overall. pisound might get rid of my latency issues as well.

    Thanks so much again for all your help :)

    posted in technical issues read more
  • impression

    From what I understand, OSC is basically used for transferring messages from Pure Data to the OLED. That's the only information I could find on the Bela website, and it seems like the only way to communicate with the screen.

    My main question is, what options do I have for creating a visual representation of what I'm doing in Pure Data if I am not able to use the actual Pure Data GUI? I would love to avoid Python or C++, but it almost seems like there's no way around it. Even then, I don't fully understand how things connect properly. The reason I am asking, if showing the Pure Data GUI is not the right way to go, then I don't really need to waste time making a nice Pure Data GUI in the first place.

    Let’s say I programmed a dial in C++; would it essentially need to receive the OSC message from Pure Data and send it to the screen? And how does I2C come into play?

    If I have an OLED with a framebuffer driver, would I be able to show the actual Pure Data GUI? I assume that also would to be communicated somehow? If I run a pure data patch on Bela I am not sure if its meant to show the actual GUI in the first place.

    I’m really sorry if these are beginner questions, but your help is greatly appreciated. I'm very new to this, and I don’t quite see the whole picture yet in terms of how everything works together. The screen part seems my biggest question mark so far for my project.

    posted in technical issues read more
  • impression

    Hi,

    I am planning a rather ambitious project and just have a question about whether or not what I am planning to do is possible. I apologize if these are basic questions.

    Basically, I am working on a Pure Data project, some kind of groovebox with a sequencer.
    The part that is still unclear is how to get my Pure Data patch visualized on an OLED screen.

    I was considering a combination of a Raspberry Pi and PiSound, or Bela.
    So far, I actually prefer Bela, as it already has a good tutorial on how to connect an OLED and communicate with OSC.

    Initially, I thought I would be able to display the actual Pure Data interface or GOP (Graph on Parent) on the display, but that doesn't seem to be possible. Even on mobile phones with the Pure Data Android app, it seems to work well.

    It looks like the only option is OSC, even though I don't fully understand how it works. From what I understand, it just sends messages and doesn't include graphical elements.

    What other options do I have to actually send graphics like dials and sliders to an OLED, rather than just text messages? I have very limited programming skills. Pure Data is fine, and I can figure that out, but C++ is a different story.

    Also, is there a way to emulate or test how OSC messages will be received if I were to use an OLED screen?

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!