Hi list,
copying here a puredata forum post which remained unanswered- hope someone can help :)
after searching around the forums and the net I decided to post this question here.. I'm using PD as the audio engine for a mobile game (using libpd, and therefore "only" Vanilla objects).
This is very exciting, and I'm exploring all the possibilities for composition and realtime sound generation. One big thing I wanted to include is the possibility of reading midi files inside the patch, and pipe the data to envelopes and oscillators accordingly. Extended apparently has the "seq" object, but how about Vanilla? Is there a way to "import" a .mid file into a patch?
Thank you all for helping a greenhorn out :=)
Filippo
filippo and list,
this is probably best answered by Peter Brinkmann, but as i remember the issue with not accepting third party libraries in vanilla is specifically one of licensing for the iOS App Store, not of compatibility. i don't think Android's store should care about such things. to get around the restriction you need to have a differently licensed version of the external compiled from source, i believe. for example, expr~ (which is in vanilla) is now available and will work with iOS AppStore because somebody created a differently licensed version of it. i believe any MIT or BSD licenses are acceptable. not sure about the rest.
i'm not certain the workaround (recompiling/relicensing from source) is valid. maybe others can chime in and us all know?
scott
On Mon, Aug 13, 2012 at 7:42 AM, Filippo Beck Peccoz mail@fbpsound.comwrote:
Hi list,
copying here a puredata forum post which remained unanswered- hope someone can help :)
after searching around the forums and the net I decided to post this question here.. I'm using PD as the audio engine for a mobile game (using libpd, and therefore "only" Vanilla objects).
This is very exciting, and I'm exploring all the possibilities for composition and realtime sound generation. One big thing I wanted to include is the possibility of reading midi files inside the patch, and pipe the data to envelopes and oscillators accordingly. Extended apparently has the "seq" object, but how about Vanilla? Is there a way to "import" a .mid file into a patch?
Thank you all for helping a greenhorn out :=)
Filippo
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi all -
The "seq" object is part of Krzysztof Czaja's "cyclone" library which I found rather easy to compile last time I tried (on a linux system; not sure what will happen in IOS). I don't think there are any third-party library dependencies but I could easily be wrong about that since linux provides so much stuff and it's easy to use things without knowing you're using them.
Another pretty good way would be to use some midi file to text converter to pre-convert all the MIDI files you want to use; then use "qlist" in Pd vanilla to sequence them. Personally I do everything I can to avoid specialty file formats like "midi" -- I make an exception for soundfiles for which text is just too inefficient :)
cheers Miller
On Mon, Aug 13, 2012 at 09:05:49AM -0700, Scott R. Looney wrote:
filippo and list,
this is probably best answered by Peter Brinkmann, but as i remember the issue with not accepting third party libraries in vanilla is specifically one of licensing for the iOS App Store, not of compatibility. i don't think Android's store should care about such things. to get around the restriction you need to have a differently licensed version of the external compiled from source, i believe. for example, expr~ (which is in vanilla) is now available and will work with iOS AppStore because somebody created a differently licensed version of it. i believe any MIT or BSD licenses are acceptable. not sure about the rest.
i'm not certain the workaround (recompiling/relicensing from source) is valid. maybe others can chime in and us all know?
scott
On Mon, Aug 13, 2012 at 7:42 AM, Filippo Beck Peccoz mail@fbpsound.comwrote:
Hi list,
copying here a puredata forum post which remained unanswered- hope someone can help :)
after searching around the forums and the net I decided to post this question here.. I'm using PD as the audio engine for a mobile game (using libpd, and therefore "only" Vanilla objects).
This is very exciting, and I'm exploring all the possibilities for composition and realtime sound generation. One big thing I wanted to include is the possibility of reading midi files inside the patch, and pipe the data to envelopes and oscillators accordingly. Extended apparently has the "seq" object, but how about Vanilla? Is there a way to "import" a .mid file into a patch?
Thank you all for helping a greenhorn out :=)
Filippo
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Mon, Aug 13, 2012 at 11:37:17AM -0700, Miller Puckette wrote:
The "seq" object is part of Krzysztof Czaja's "cyclone" library which I found rather easy to compile last time I tried (on a linux system; not sure what will happen in IOS). I don't think there are any third-party library dependencies but I could easily be wrong about that since linux provides so much stuff and it's easy to use things without knowing you're using them.
Another pretty good way would be to use some midi file to text converter to pre-convert all the MIDI files you want to use; then use "qlist" in Pd vanilla to sequence them.
[seq] can save a midi file in a text format that with some massaging can be made to play directly in a "qlist". The rj library contains an abstraction "c_seqplay" that does the necessary conversions on the fly. rj is availabe at https://github.com/rjdj/rjlib (c_seqplay is pure vanilla)
Frank
You could probably compile [midifile] on its own. It has no dependencies apart from the c runtime and pd. (Or does libpd not load externals?)
Martin
On 2012-08-13 10:42, Filippo Beck Peccoz wrote:
Hi list,
copying here a puredata forum post which remained unanswered- hope someone can help :)
after searching around the forums and the net I decided to post this question here.. I'm using PD as the audio engine for a mobile game (using libpd, and therefore "only" Vanilla objects).
This is very exciting, and I'm exploring all the possibilities for composition and realtime sound generation. One big thing I wanted to include is the possibility of reading midi files inside the patch, and pipe the data to envelopes and oscillators accordingly. Extended apparently has the "seq" object, but how about Vanilla? Is there a way to "import" a .mid file into a patch?
Thank you all for helping a greenhorn out :=)
Filippo
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Mon, Aug 13, 2012 at 10:51 PM, patrick puredata@11h11.com wrote:
(Or does libpd not load externals?)
libpd is able to load an external, i have successfully used Gem.pd_linux with libpd as a standalone pd / Gem application.
That's great! Did you document your experiences anywhere? I get lots of questions about Gem and libpd, and it would be great to have a resource to point people to.
About libpd and externals, there was the licensing problem of the expr family of externals (which has been resolved now, I think), but the main goal was to keep libpd as small as possible. Even at its current size, it's already pushing the memory budget of many games and mobile applications.
Generally speaking, it's pretty straightforward to use externals with libpd: If your platform supports dynamically loaded libraries, you can build the external as usual and deploy it with your application; just make sure that the location of the shared library is on libpd's search path (deploying externals for Android currently requires an extra step, but as soon as the new OpenSL version becomes official, that will no longer be necessary).
If your platform doesn't support dynamic loading (iOS is the only case I'm aware of), then you can just statically link the externals with your app and explicitly call its setup function. Details are in the libpd wiki:https://github.com/libpd/pd-for-ios/wiki/ios Hope this helps, Peter
On 12-08-14 12:05 AM, Peter Brinkmann wrote:
That's great! Did you document your experiences anywhere? I get lots of questions about Gem and libpd, and it would be great to have a resource to point people to.
sadly no. but it was very easy (on linux that is). i just used the pulseaudio example: http://www.workinprogress.ca/libpd and loaded a patch that use Gem window. that's it a standalone 3d / dsp application.
Hi all,
wow, thank you so much for your answers and sorry for my late reply- been off the internet for a couple of days.
I'm very happy I've found this mailing list, as I'm excited like a little kid to be able to use PD's power for a game score, but also have lots of questions marks still flying around in my head :)
The Rjdj lib is indeed a treasure chest... I'm now collecting ideas as to what abstractions would be indispensable for the game composer: It would be great to create a sort of "package" with prebuilt mixers, synths, midi players etc. to help musicians get into writing game scores with PD more easily. Many colleagues I talk about the potential of using PD for games are sort of scared about the "programming" part. However, I'm sure there are many things already built in PD, which with some modifications could lend themselves well for inclusion into a "Game Music 101 Bundle". Any thoughts on this?
As to connecting Unity- Puredata: We'll be releasing the early version of the Unity-PD-libpd bridge on github soon- I'll let you know as soon as it's out. We've achieved sending messages from Unity to PD, but as I've heard not yet the other way around.
Cheers from Munich and thanks again,
Filippo
Filippo Beck Peccoz Game Audio www.fbpsound.com Twitter: @fbpsound Skype: fbpsound Mobile: +49-(0)1520-4004143
On Aug 16, 2012, at 1:51 AM, patrick wrote:
On 12-08-14 12:05 AM, Peter Brinkmann wrote:
That's great! Did you document your experiences anywhere? I get lots of questions about Gem and libpd, and it would be great to have a resource to point people to.
sadly no. but it was very easy (on linux that is). i just used the pulseaudio example: http://www.workinprogress.ca/libpd and loaded a patch that use Gem window. that's it a standalone 3d / dsp application.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Filippo,
Glad you've found the rjlib (thank Frank Barknecht and Andy Farnell for that :D). It *is* actually intended as a package for musicians to get into making interactive/reactive music.
It's a difficult task though as not only do you have a new tool to get to grips with but you also have to think in a different paradigm whilst creating the music. How does the user interactive with this section? What happens if they do this? At what point should the music change? And to what? etc...
The rjlib is shared on github, so if you have any new additions/modifications feel free to do a pull request.
It's great to see more and more people using Pd for game audio, if you have any other questions please ask. I can also put you in touch with Robert, who's the main composer here at RjDj.
Cheers, Joe
We faced this at RjDj a while back. Me and Joe and Frank and the guys worked on something to make text files from MIDI, they could be fed to a vanilla style list sequencer. Worked quite well IIRC. Maybe its still in the rj library.
a.
On Mon, Aug 13, 2012 at 04:42:20PM +0200, Filippo Beck Peccoz wrote:
Hi list,
copying here a puredata forum post which remained unanswered- hope someone can help :)
after searching around the forums and the net I decided to post this question here.. I'm using PD as the audio engine for a mobile game (using libpd, and therefore "only" Vanilla objects).
This is very exciting, and I'm exploring all the possibilities for composition and realtime sound generation. One big thing I wanted to include is the possibility of reading midi files inside the patch, and pipe the data to envelopes and oscillators accordingly. Extended apparently has the "seq" object, but how about Vanilla? Is there a way to "import" a .mid file into a patch?
Thank you all for helping a greenhorn out :=)
Filippo
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list