草庐IT

java - 将 Midi 音符编号转换为名称和 Octave

是否有人知道Java世界中存在的任何将midi音符编号映射到特定音符名称和Octave音阶编号的方法。例如见引用表:http://www.harmony-central.com/MIDI/Doc/table2.html我想将一个midi音符编号60映射到它在Octave音程4中的相应音符名称(MiddleC)。我可以为此编写一个实用程序类/枚举,但这会相当乏味。有人知道吗?我专门用它在Java中编写Tenori-On/Monome克隆,到目前为止一切顺利......解决方案这就是我最终使用的:String[]noteString=newString[]{"C","C#","D","D#

python vs Octave 随机生成器

更具体地说,numpy:In[24]:a=np.random.RandomState(4)In[25]:a.rand()Out[25]:0.9670298390136767In[26]:a.get_state()Out[26]:('MT19937',array([1248735455,...,1532921051],dtype=uint32),2,0,0.0)Octave:octave:17>rand('state',4)octave:18>rand()ans=0.23605octave:19>rand('seed',4)octave:20>rand()ans=0.12852Octav

python - Python 或 C 中的 Matlab/Octave bwdist()

有谁知道Matlab/Octavebwdist()函数的Python替代品?此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离。我看到了一个OctaveC实现,一个纯Matlab实现,我想知道是否有人必须在ANSIC(它不包含任何Matlab/Octave头文件,因此我可以轻松地从Python集成)或纯Python中实现它。我提到的两个链接都在下面:C++MatlabM-File作为测试,Matlab代码/输出看起来像这样:bw=[01000;10000;00001;00000;00100]D=bwdist(bw)D=1.000000.000001.000002.00000

我的开源项目之Matlab/Octave转Python工具(motopy)

目录Motopy介绍安装快速开始指定输入输出文件夹指定替代函数日志信息缩进motopy的使用要求已实现的转换矩阵,数组和元胞的创建矩阵,数组和元胞的切片函数说明Motopy介绍motopy是一款功能强大(😊自吹吧)的Matlab/Octave转PYthon工具.在转换的过程中,自动执行转换后的python语句,保证转换过程的正确性.例如下述Matlab/Octave代码:a=ones(1,3);b=a';c=a*b;将转换为:importnumpyasnpa=np.ones((1,3))b=a.Tc=a@b变量a和b的值类型均为数组类型.所以在转换第三条语句c=a*b时,将会转换为:c=a@b

我的开源项目之Matlab/Octave转Python工具(motopy)

目录Motopy介绍安装快速开始指定输入输出文件夹指定替代函数日志信息缩进motopy的使用要求已实现的转换矩阵,数组和元胞的创建矩阵,数组和元胞的切片函数说明Motopy介绍motopy是一款功能强大(😊自吹吧)的Matlab/Octave转PYthon工具.在转换的过程中,自动执行转换后的python语句,保证转换过程的正确性.例如下述Matlab/Octave代码:a=ones(1,3);b=a';c=a*b;将转换为:importnumpyasnpa=np.ones((1,3))b=a.Tc=a@b变量a和b的值类型均为数组类型.所以在转换第三条语句c=a*b时,将会转换为:c=a@b

linux - 在矩形内生成随机点(均匀地)?

我试图在矩形内生成一定数量的随机均匀点(我知道每个角的坐标对)。让我们的矩形是ABCD我的想法是:用AC对角线将矩形分成两个三角形。求对角线的斜率和截距。然后,从[0,1]区间生成两个随机数,设a,b。评估x=aAB和y=bAD(AB、AD、距离)。如果A不是(0,0),那么我们可以将A的x和y坐标相加。现在我们有一个点(x,y)。如果它不在下三角(ABC)中,则跳至下一步。否则,将该点添加到我们的图中,并添加(x,y)与AC对角线的对称性,以便我们也可以填充上三角(ADC)。我已经实现了这个,但我非常怀疑这些点是统一生成的(从情节来看)。我应该如何修改我的算法?我想这个问题与我如何选

linux - 在矩形内生成随机点(均匀地)?

我试图在矩形内生成一定数量的随机均匀点(我知道每个角的坐标对)。让我们的矩形是ABCD我的想法是:用AC对角线将矩形分成两个三角形。求对角线的斜率和截距。然后,从[0,1]区间生成两个随机数,设a,b。评估x=aAB和y=bAD(AB、AD、距离)。如果A不是(0,0),那么我们可以将A的x和y坐标相加。现在我们有一个点(x,y)。如果它不在下三角(ABC)中,则跳至下一步。否则,将该点添加到我们的图中,并添加(x,y)与AC对角线的对称性,以便我们也可以填充上三角(ADC)。我已经实现了这个,但我非常怀疑这些点是统一生成的(从情节来看)。我应该如何修改我的算法?我想这个问题与我如何选

linux - 如何在 Octave 中播放声音?

Octave似乎假定特定的声音播放实用程序将在系统上可用,但似乎不提供指定替代项的能力。在下面的错误中,Octave正在寻找ofsndplay,这不是在所有系统上都可用的实用程序。octave:38>sound(beamformed_20)sh:ofsndplay:commandnotfound是否有Octave配置设置或代码片段可用于指定适合系统的实用程序? 最佳答案 我已经使用以下函数覆盖了Octave的playaudio函数。这只有在安装sox后才有效。sudoapt-getinstallsox(在ubuntu中)functi

linux - 如何在 Octave 中播放声音?

Octave似乎假定特定的声音播放实用程序将在系统上可用,但似乎不提供指定替代项的能力。在下面的错误中,Octave正在寻找ofsndplay,这不是在所有系统上都可用的实用程序。octave:38>sound(beamformed_20)sh:ofsndplay:commandnotfound是否有Octave配置设置或代码片段可用于指定适合系统的实用程序? 最佳答案 我已经使用以下函数覆盖了Octave的playaudio函数。这只有在安装sox后才有效。sudoapt-getinstallsox(在ubuntu中)functi

linux - 让 GNU Octave 与多核处理器一起工作。 (多线程)

我希望能够使用gnuoctave对多线程进行编程,这样它将利用多个处理器。我在Fedora17Linux上安装了GNUOctave并执行了以下操作:yuminstalloctave在我的电脑上安装了最新版本的Octave,3.6.2。它工作得很好,但是当你将两个巨大的矩阵相乘时,它会使Octave使用的一个CPU陷入困境。如果矩阵乘法利用所有内核,那就太好了,因为在这种情况下,CPU显然是瓶颈。octave能否充分利用多核处理器,多线程运行?是否有用于此的库或编译时标志? 最佳答案 解决方案Octave本身是一个运行在一个内核上的单