OF Audio generative recommendations

Hi, everyone.
I want to build a simple music software using OF for an univeristy work.
I would like for this to be able to be installed it in a Raspberry Pi .

I am really new in OF , so I have been looking for some books and most of them uses old versions of OP and I was not able to run most of the examples in OP 10 .
The best tutorias dediated to audio that I saw are made in 072-08…

1- Is it worth to downgrade my OF and Xcode to work with that for now that am learning ?

If not…

2- could you recommend me any good book or tutorial for OP 10 dedicated to audio and synthesis ?

Also, I am wondering if

3- Its worth using Pure Data addon + OP ?
4- What are the advantages to work with PD ?
5- Is it possible to make an standalone application using PD + OP ?

Thanks !!!

Hi @llorencg,

I’m not sure what you mean by OP, but I’m gonna assume you mean OF.

1 - i would say don’t downgrade, you might encounter some compatibilities issues, which might send you down a rabbit hole of dependencies patching and libraries updates which will not help you to learn Openframeworks, :/.
I believe you can try to write pretty much the same code, it should be relatively similar. If it doesn’t work, just post it here, I’ll take a look, :slight_smile: .


by @lewislepton to start coding with OF,
most important one :
https://openframeworks.cc/learning/

2 - try using :
ofxPDSP :


by @npisanti, there isn’t a proper tutorial, but the documentation is there, it’s pretty exhaustive, and clear,

ofxMaximilian :


by Mick Grierson,
there isn’t a whole lot of documentation, so although it’s been there for longer and has a lot of features, you might find it more obscure.

ofxPD :


by @danomatika,
fully documented.

3 - I would say it’s a preference, so if you are keen on using pure Data, because you are used to it, and prefers the graphical interface, yes. But you can also have only one app which deals with everything in OF, and handles sound, network/communication and visuals at once.

4 - if you are not familiar with Openframeworks and C++ start with Pure Data maybe?
although there is some great tutorial online to get started ( see point 2).

5 - yes it is, once app is compiled, you can export the executable as a standalone application. Be careful as cross compiling ( meaning compile on a MAC for a raspberry pi) is a little advanced, so I would recommend just compiling the app on the raspberry pi.

Hope this helps,

P

3 Likes

Thanks for reply
Yes, I meant OF , I don’t know why the autocomplete from my phone wanted to write OP :smiley:

I just started with the Lewis Lepton tutorials and also had a look at the addons you recommended.
The ofxPDSP looks really cool.
I have found a bit difficult to find information about OF and synthesis.

I will have a look more in depth to these addons and probably will come back with more questions :slight_smile:

Best

1 Like

I just been trying to run ofxpd examples.

I am using OF 0.11 and Xcode 10.1 on a Macbook Pro High Sierra

I ran the example called pdExample, and seems working fine, appeared an oscilloscope and a pitch sound oscillating.

But when I tried to run the example called pitchShifter, it appears a screen with few “potentiometers” bt nothing happens.
It shows this “yellow” error:

MessageTracer: Falling back to default whitelist**
Patch: “_main.pd” $0: 1003 valid: 1

And when I run the pdMultiExample , it shows me this “red error” :

No matching function for call to "lipd_free_instance
ofApp.cpp
Candidate function not viable: requires single argument ‘x’, but no arguments were provided

I checked that all the headers are like the instructions says it need to be.

  • add a search path to: ../../../addons/ofxPd/libs/libpd/pure-data/src under Targets->YourApp->Build->Header Search Paths (make sure “All” is selected)
  • under Targets->YourApp->Build-> Other C Flags (make sure “All” is selected), add

-DHAVE_UNISTD_H -DUSEAPI_DUMMY -DPD -DLIBPD_EXTRA -DLIBPD_USE_STD_MUTEX

  • Note: Make sure you use Other C Flags! Other C++ Flags will not work since libpd is written in C.

But still not working , DO I am missing something ?

Yes,

I think for the pitch shifter, you would need to first use the Project Generator in order to get it to update to the version of OF you are using.
So try going in projectGenerator - folder -, and open the projectGenerator app.
You will then be able to update the example pitch shifter, open it on xcode and run it.
I’ve just tested it on Mojave, with the latest OF - 0.11- and the master branch of ofxPD, it works.

For the pdMultiExample :
After updating the project through the project generator, yes libpd_free_instance seem to take a pointer as argument, so try to write something like this :

instanceMutex.lock();
    libpd_free_instance(pdinstance1);
    libpd_free_instance(pdinstance2);
instanceMutex.unlock();

line 143 to line 146 of the example.

It seems to be fine for me now.

Hope you make progress on your project.

++

P

Thanks so much !

I didn’t realise that the pitch shifter doesnt work with the pc buit in mic …

And the pdMultiExample its working perfectly just changing this lines , can’t wait to start experimenting more :slight_smile:

Out of curiosity , are the changes

instanceMutex.lock();
pdinstance1 = libpd_free_instance();
pdinstance2 = libpd_free_instance(:);
instanceMutex.unlock();

to

instanceMutex.lock();
libpd_free_instance(pdinstance1);
libpd_free_instance(pdinstance2);
instanceMutex.unlock();

related to OF version ?

you are welcome!

I think not. It’s more a version of the addon that has been updated and tested on maybe other machines, or else.
Those 2 lines have been added like 3month ago, but maybe not tested on macOS :

Although I might be wrong.

++

1 Like

I see… great , now I know a place to check for future problems :slight_smile: .

Thanks !