Python适合Midi?

大家好
Python适合构建多轨MIDI测序仪(带有
GUI),那会在Windows / Mac上运行吗?我找不到足够的
有关此的信息,是新手和所有人。此外,我发现
关于Python的参考文献没有真正的多线程,
进一步增加了混乱。
请协助。
panos

# 回答1


协议写道:
我们有一个Google Summer of Code学生在此工作
一年(这显然使经验界定了BTW的界限)。他有一个公平的方式
这样,但没有将他的代码置于可合并状态(主要是在
应用程序文件而不是在很大的组件中
合并)。
本质上,它产生了他在他的中使用的一堆组件
应用自然可以重复使用。
自GSOC结束以来,我就一直在他ping ping他,并且有一个基本上的回应
说:"对不起,太忙,也许下学期"。我们会看到的(他是
玩得开心,所以我怀疑他确实想回到它,但没有
有时间)。同时,答案是,是的,您可以在Python中进行此操作。
他的代码在这里,如果对您有用:
* http://code.google.com/p/kamaelia/so...nk/sketches/jt
*(Svn Co http://kamaelia.googlecode.com/svn/trunk/sketches/jt)
- 需要Kamaelia 0.6.0 btw
顶级文件/应用程序文件是:http://kamaelia.googlecode.com/svn/t...tion/trunk/jam
(我不认为它是可以合并的原因,是因为它可以与
代码清理IMO,但这很好 - 至少可以说 - 考虑到
GSOC的时间范围 - 还表明它是可行的,如果您要重复使用他的
组件,那么应该非常可行)
尽管他的组件库可能很可能:http://kamaelia.googlecode.com/svn/t..../jam/protocol/
不过,将在圣诞节前合并,因为该代码更加干净。
如果您想知道,他的目标是建造这样的东西,
但是使用pygame作为接口,并且允许多个用户运行
他们的本地版本,彼此连接并进行"干扰" - 因此
有趣的子目录是"果酱"
以及MIDI,它还支持OSC。
在这一切下方,他都使用了python" rtmidi"绑定和pyosc
与Talk Midi和OSC交谈的绑定。 (他的最后一部分
GSOC是由Linux下的音频引起的,这听起来与您无关)
Kamaelia的组件模型有效地为您提供了免费的并发性,
由于您是通过相互交流的组件来构建系统的。我
还没有将内省的果酱附加到果酱上,但我怀疑这很尴尬
平行。他不必为此担心:-)
如果您对模型感到好奇,则本教程是专门针对的
在新开发人员:http://www.kamaelia.org/miniaxon/
它最初是为学会了Python的某人(具体)写的
上周,编程经验很少,我们需要获得他们
快速,轻轻地加速。从那以后一直被概括过,但是
是一个不错的Int 想法的刺激。 (在引擎盖下,卡玛利亚是
比该示例更优化,但是您的组件
为该教程系统创建与完整/现实世界系统一起工作)
问候,
迈克尔
-http://www.kamaelia.org/home
# 回答2


我正在用python写一个音序器,尽管它是微型的
Midi。我正在为csound API使用Python绑定,所有
时间,MIDI,OSC等
功能已经由CSOUND开发人员完成。
文档在这里和那里,csound是另一种语言
学习,但这是解决问题的一种方法。
我将尝试重新编码我的应用程序来计算速度并注意计时
内部并将实时笔记发送到csound,而不是
csound竭尽所能。
我遇到的问题是我无法将音频设置为更高
优先级比GUI(TKINTER)。如果我将鼠标移到应用程序上,则不
不管是什么,我得到音频辍学。 afaict对所有人都是一样的
python,不管一个人使用什么模块:您无法分配系统
不同线程的优先级。如果您打算将MIDI送到
另一个用于播放的应用程序,也许这对您来说不是问题。
祝你好运!
- chuckk
2008年10月28日上午11:26上午11:26,协议 -http://www.badmuthahubbard.com
# 回答3


Chuckk Hubbard在2008年10月28日星期二,下午06:54:57 +0200写道:
fwiw ...您可以接受自己的建议,并驱散您的申请
在两个中:一个过程管理GUI,第二个过程是后端
扮演MIDI的过程。您的GUI甚至可以发射后端,
这将继承GUI的优先级,然后GUI可以
减少自己的优先级(后端的优先级将不是
受变化的影响)...
- -
Derek D. Martin http://www.pizzashack.org/
GPG密钥ID:0x81CFE75D
-----开始PGP签名-------------
版本:gnupg v1.2.1(gnu/linux)
ID8DBQFJB0GUDJDLQOHP510RAVKGAJ4LWERDALJSACES5O4OQA SOSLYUFGCGVTNX
li051e8nyguc8ypbdhvqhba =
= nkyz
-----结束PGP签名-----
# 回答4


Derek Martin fwiw ...您可以接受自己的建议,并驱散您的申请
在两个中:一个过程管理GUI,第二个过程是后端
扮演MIDI的过程。您的GUI甚至可以发射后端,
这将继承GUI的优先级,然后GUI可以
减少自己的优先级(后端的优先级将不是
受变化的影响)...
- -
Derek D. Martin http://www.pizzashack.org/
GPG密钥ID:0x81CFE75D
人们还可以访问UNIX系统上的良好级别。
# 回答5


2008年10月29日,星期三,晚上10:32,J Kenneth King 真的足够了,但这对我来说不是一个问题,因为我还好
在调整自己的系统时,我相信大多数人会成为
对我的应用程序感兴趣(如果有)不是 *nix用户。无论如何,
对于那些人来说,一个选择,并感谢您提醒我。
- chuckk
-http://www.badmuthahubbard.com(_@_ _ )
En Thu,2008年10月30日16:50:22 -0200,Chuckk Hubbard
真的足够了,但这对我来说不是一个问题,因为我还好
在调整自己的系统时,我相信大多数人会成为
对我的应用程序感兴趣(如果有)不是 *nix用户。无论如何,
对于那些人来说,一个选择,并感谢您提醒我。
在Windows上,您可以设置应用程序全局优先级(SetPriorityClass)
每个线程的优先级与其他线程有关(setThreadPriority) -
使用PYWIN32或CTYPES模块。
- -
Gabriel Genellina
# 回答6


在2008年10月28日下午7:13下午,德里克·马丁(Derek Martin) fwiw ...您可以接受自己的建议,并驱散您的申请
在两个中:一个过程管理GUI,第二个过程是后端
扮演MIDI的过程。您的GUI甚至可以发射后端,
这将继承GUI的优先级,然后GUI可以
减少自己的优先级(后端的优先级将不是
受变化的影响)...
谢谢,德里克!我花了一些看和试验,但这是
一个好主意。我现在看到OS.nice()也适用于Mac和Gabriel
对Windows有一些建议。太简单了 - 我以为我需要
超级用户可以将优先设置为实时,但我不需要它
提高运行过程的优先级。我从来没有想过
我自己。
- chuckk
-http://www.badmuthahubbard.com

标签: python

添加新评论