• JackPD

    @jancsika said:

    Sorry, I'm having trouble making sense of what you've written:

    Sndfiler crashes my pure data in every situation I've tried, so I can't use it.

    then this:

    If I put the array in another patch and I don't open the graphics of it, the [resize( message doesn't affect to the dsp performance, so now I can record arrays and resize them at the same time whatever the duration of the recording is.

    Which is true?

    Both are true. If I use sndfiler the patch crashes directly. Then, without using sndfiler, if I put the array in another patch or embedded window outside the main patch, it seems to help with the dsp performance, not perfect but much better. I supose that opening a new pd window helps a little with multithreading.

    posted in technical issues read more
  • JackPD

    Don't worry Nicolas, I understand your effort, if I could help I would but I don't have strong dev knowledge for that kind of things. I can help you in the graphic design part, iconography, etc... Feel free to contact me!

    posted in news read more
  • JackPD

    I have a problem installing this fork

    aoAxK4.jpg

    I'm on raspbian stretch (raspberry pi 3). I'm not a developer so I don't a have a clue of what is happening.

    posted in news read more
  • JackPD

    @Nicolas-Danet Hey Nicolas, that's very cool! I will test my patches with your fork for sure, let's see how it handles my array craziness...

    posted in technical issues read more
  • JackPD

    @jancsika With only one osc the dsp drops out directly, It doesn't matter how many osc objects are present, the update of the graphical array freezes the dsp everytime it resizes independently of the number of audio sources and active objects.

    Sndfiler crashes my pure data in every situation I've tried, so I can't use it.

    I think the solution has to be solved by it's core, maybe in future versions the engine can treat threads better and separate more operations like resizing arrays from the dsp threads, but since I'm not a developer I don't know about this.

    posted in technical issues read more
  • JackPD

    @jancsika said:

    It will be interesting to see how large your patch can get before rebuilding the dsp graph (which happens after "resize") starts to cause dropouts...

    It doesn´t get too big, a few seconds from size 0 an it already starts to cause drops on the DSP, I made a little recording of it (samplerate 48000 and updates the array every second):
    https://s1.webmshare.com/mYq7e.webm

    If I hide the graph, I can record forever and the dsp runs perfect from start to finish. It has to do with the graphical update of the array, which I think is very hard to hold along the dsp the way pure data is made. I love pure data for its simplicity and ease of use, but it doesn´t deal with threading very well, we´ll see if this is solved in the future...

    posted in technical issues read more
  • JackPD

    @jancsika Thanks for building the sndfiler library, I had no idea on how to do it... Anyways, as you have said, it crashes pure data instantly, not only that, it also crashes ASIO in windows, forcing a restart to make the soundcard work again.

    Confirming that sndfiler crashes pure data like crazy and doesn't work in any possible way. I discovered something interesting. If I put the array in another patch and I don't open the graphics of it, the [resize( message doesn't affect to the dsp performance, so now I can record arrays and resize them at the same time whatever the duration of the recording is. It's a huge improvement to my application, Another thing that I would like to do is to actually see the waveform of the recorded array, but having opened the array graphic interrupts the dsp a lot..., But at least the audio functionality is working, so I'm ok for the moment...

    posted in technical issues read more
  • JackPD

    @jancsika I already have threadlib installed and running in pure data, unlike sndfiler this one is still avalaible at http://grh.mur.at/software/threadlib.html

    sndfiler is the one that I can't find or build. I will try to build it but I'm not really experienced in this topic.

    posted in technical issues read more
  • JackPD

    @jancsika This is what I have inside the folder externals of the source code. The folder is named tb tb.rar and the sndfiler is inside it. Honestly, I have no idea of how to build the external from those files.

    Thanks for your help Jancsika

    posted in technical issues read more
  • JackPD

    @jancsika I see, so it's basically "cheating" the system.., I can't test the patches that you wrote because I don't have the sndfiler library, I can't find it and the original repository link is down, if you have the sndfiler.dll, could you upload it? I don't know how to build it from the src...

    Thanks

    posted in technical issues read more
  • JackPD

    @jancsika I've just realized that you are the creator of purr-data right? In that case, thank you for making such amazing distribution, I hope I could help you with your distribution to solve the problems that you pointed out, but I don't think I have the sufficient programming knowledge, that's one of the reasons I started to use puredata instead of c frameworks :laughing:

    I have one question about the libraries in purr data, it has to do with this topic too: I've seen that the sndfiler library is included in the source code of purr data, but I can't see it in the windows and raspbian built 2.8.0 installations package, is there a reason why sndfiler is not installed even if it's included in the source code? I want to use the sndfiler to resize arrays without interrupting the dsp, which is one of the features of this library but I don't know how to do it, I can't find the built library (the repository link is down) and I don't know how to build it with the source code.

    posted in technical issues read more
  • JackPD

    I come from here: https://forum.pdpatchrepo.info/topic/9461/record-audio-of-any-length-into-array/8
    Then, searching more about sound clicks and interruptions I've found this thread so I will continue here.

    I'm dealing with the exact same problem as you, especially when resizing tables, which is crucial for dealing with samples and loops in realtime audio processing applications like you said. As far as I know, Pure data was designed in a way that array modifications and object calculations are done in the same thread the audio is flowing, so it's impossible to separate them and audio will be always interrupted. So, after looking for pure data distributions and externals, I've found something that maybe solve part of this problem, the sndfiler external, which is included in the last pd-l2ork distribution:

    https://github.com/pd-l2ork/pd/tree/master/externals/tb/sndfiler

    FEATURES:

    • threaded reading of multichannel soundfiles into arrays
    • threaded resize of arrays

    I've installed the latest pd-l2ork distribution in windows and the sndfiler isn't installed by default, but it appears in the source code, so I will have to try building it from the source code if nobody has the built external. It also needs libsndfile and libvorbisfile and threadlib external in pd, a little bit complicated but may solve the problem.

    For the GUI updating problem, you may solve it by separating the main GUI and the sound processing in differents patches. I've been doing this separation since I started using pd and never run into dsp problems.

    posted in technical issues read more
  • JackPD

    Hello everyone,

    Lately I've been dealing with some dsp stuttering issues while trying to resize arrays and send long messages. Aparently pure data can't deal with resizing arrays in a parallel thread, but I've found the sndfiler external:

    http://grh.mur.at/software/sndfiler.html (but the download link is down...)

    FEATURES:

    threaded reading of multichannel soundfiles into arrays
    threaded resize of arrays
    support for OGG

    I was using pd-extended but couldn't install the library on it, and then I found pd-l20rk, which aparently has the sndfiler library installed by default, appears in the source code but not it the windows installing package...

    Does anyone installed succesfully the sndfiler library? I want to make it work mainly in raspbian stretch, but also would be nice in windows for debbuging purposes. In case that having it installed, does it really works for multithreading heavy array manipulations?

    posted in extra~ read more
  • JackPD

    @jancsika I see, that's exactly what happens, even the console gives me an I/O error when the sound is suspended during the resize calculation. So, knowing that resizing an array in the fly will give dsp suspensions, is there any way to record an array continuously extending its size while the audio is recording?

    I've tried using writesf on a premade sound file and I can record without supensions indefinitely, but I need to loop the recording just after recording it, so the interruption in this case happens when the file has to be opened and written into an array.

    posted in technical issues read more
  • JackPD

    @sunji said:

    Here's the way I've been doing it. extendingrecord.pd

    I like this solution, it's simple and effective, but the sound clicks and glitches everytime the array resizes. I've tried to put the array in another patch but didn't help...

    Is there any solution to this problem?

    posted in technical issues read more
  • JackPD

    @Balwyn said:

    In response to @JackPD wishing to use various font weights for canvas labels, while not really possible it occured to me that because labels are transparent, using multiple canvases offers a variety of possibilities.
    Here are some ideas
    font-tricks.pd
    image.png

    Wow, that´s amazing, how do you found all these commands and attributes? Also, seeing that you are really advanced in this topic, is it possible to make a canvas with a color gradient or is it too much? I would like to apply a gradient background to the label if it´s possible.

    Thanks for sharing this information, it really opens the possibilites on improving GUIs.

    posted in patch~ read more
  • JackPD

    @Balwyn said:

    , copied ariblk.ttf (Arial Black) from the Arial Font Family in (C;\Windows\Fonts)
    opened it in FontForge renamed Black and saved it as Black.otf, write clicked and installed for all users.

    That's so nice! So you can install multiple font faces in puredata? I mean, pd -font-face Arial and then pd -font-face Black so I can have all the fonts that I want in the same patch?

    I like what you did but I really don't know if it's possible to have for example, arial and arial black at the same time installing them like two different fonts.

    Thanks for your answer

    posted in technical issues read more
  • JackPD

    @Balwyn said:

    -font-face Arial

    Thanks man, I was typing the wrong flag and as you said, it gave me an error that now prevents me from entering to the startup flags, so I installed another version of puredata to be able to test this flag... Now it's time to restore the window register....

    Also, is there any way to use different font weights in the same patch? Or is it locked to one style?

    posted in technical issues read more
  • JackPD

    Hi everyone,

    I've been trying to use a different font in the canvas label apart from the default ones (helvetica, dejavu and times new roman I think) and also change the default bold style to normal but even I've tried a lot of things, nothing worked for me.

    I've tried to add the fonts to the font folder where the dejavu font is. I've tried to change the new font name to the default dejavu which the program recognizes by default, but didn't work neither. I've read the github readme and also tried the commands that are in there, but the problem is that the program doesn't recognize the fonts.

    Does anyone know how to add new fonts to the canvas label if it's possible?

    (I'm using Puredata 0.49-1 64 bit in windows 10)

    posted in technical issues read more
  • JackPD

    Thanks @reflect_ , in pure data I have the netsend localhost port object for sending messages to a specific port in the localhost, but then in Python I have no idea of how to receive these messages.

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!