writing a realtime app in python

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I just installed csound5 with the python bindings, and now I'm eager to explore the possibilities with audio/python. I've done a fair amount of python programming, but so far my experiences with audio has been with PySeq (which I found pretty straight-forward). I hope someone here can answer a few initial questions:

1) How do I spawn a thread that has realtime priorities (like with "chrt -f -v 70 csound some.csd")?

2) I'd like to have several csnd's running, each in its own thread, but "collecting" the audio produced into one stream that should be output'able to both alsa and jack (obviously not at the same time, so maybe "either/or would be more descriptive). Is that possible and which python library should I look into?

3) I need to "investigate" a bit from my python app. Stuff like finding out which alsa midi clients are available, weather jack is running, etc. How is that done?

4) I also need to filter out stuff from the midi stream in order to send certain midi events to different csnd threads. I did this already with PySeq, but in light of what else I want to do, is there another alternative I should look into?

5) Besides *only* runnining the csnd instances in seperate rt threads, are there other things I need to be aware of or avoid for the application to perform well under jack and/or alsa? Also considering I'm gonna make it gui driven (been looking at WxWidgets, and although I'm totally new to gui programming it looks nice).

Answers and/or pointers to relevant online info is greatly appreciated, thanks in advance!

--
peace, love & harmony
Atte

http://www.atte.dk      | quintet:      http://www.anagrammer.dk
                        | compositions: http://www.atte.dk/compositions

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux