Python中文
首页
教程
问答
标签
搜索
登录
注册
通过python扩展/包装器传递浮点数组指针-SndObjlibrary
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>所以我觉得谷歌已经厌倦了在这方面帮我。在</p> <p>到目前为止,我一直在尝试用SndObj库进行一些实验,更具体地说,是它的python包装器。在</p> <p>这个库很好地包含了一个python示例,惟一的问题是如何让它正常工作。下面的最后一行给了我一个受伤的世界:</p> <pre><code>from sndobj import SndObj, SndRTIO, HarmTable, Oscili, SND_OUTPUT from scipy import zeros, pi, sin, float32 import numpy sine = numpy.array([256],float32) for i in range(sine.size): sine[i] = 0.5 * sin((2 * pi * i) / sine.size) sine *= 32768 obj = SndObj() obj.PushIn(sine,256) </code></pre> <p>在原始代码中是:</p> ^{pr2}$ <p>这给了我一个错误</p> <blockquote> <p>TypeError: SndObj_PushIn() takes exactly 3 arguments (2 given)</p> </blockquote> <p>好吧,很公平。我检查了(自动生成的)文档和web上的一些示例代码,发现它还需要一个整数<em>size</em>。说了又做了(我喜欢他们的方式,我猜至少是,示例中的过时代码)。在</p> <p>总之,新参数;新错误:</p> <blockquote> <p>TypeError: in method 'SndObj_PushIn', argument 2 of type 'float *'</p> </blockquote> <p>我对c++一点经验都没有,我相信c++是这个库的“本机”语言(请原谅我没有合适的术语),但是我很确定我已经了解到它想要一个浮点数组/向量作为它的第二个参数(第一个参数是<em>self</em>)。然而,我很难做到这一点。我不是已经有一个浮点数组/向量了吗?我还尝试过在第一行使用<em>float</em>而不是<em>float32</em>,在第四行使用<em>float(32768)</em>,但都没有效果。在</p> <p>任何帮助,建议或建议将不胜感激!在</p> <p>编辑: 对浮点向量/数组部分不太确定,再次转到自动文档:</p> <pre><code>int SndObj::PushIn ( float * vector, int size ) </code></pre> <p>所以我认为至少c++需要一个float数组/向量,尽管我对python包装器的理解仍然是错误的。在</p> <p><strong>更新</strong> 根据Prune的请求(说错误消息不是要求浮点向量,而是说这是错误),我尝试输入不同的整数(<em>int</em>,<em>int32</em>,等等)向量。但是,考虑到我仍然得到相同的错误消息,并记住上面的编辑,我认为它实际上应该是一个浮点向量。在</p> <p><strong>更新2</strong> 在saulspatz的一些提示之后,我改变了问题的标题和标签,以便更好地阐述我的问题。我也根据这个做了进一步的谷歌搜索,但还没有找到任何有用的东西。在</p> <p><strong>UDATE3</strong> <em>已解决</em></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>实际上,问题恰恰相反:PushIn接受一个整数数组。错误消息是<em>抱怨</em>您给了它floats。试着用这个代替打电话给普欣</p> <pre><code>int_sine = numpy.array([256],int32) int_sine = [int(x) for x in sine] </code></pre> <p>然后输入int_sine而不是sine到PushIn。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
3 回答
我想从用户导入值,为此
10 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
5 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
6 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
6 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
7 回答
我想从第一个空lin开始解析文本文件
6 回答
我想从简历、简历中提取特定部分
10 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
1 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
6 回答
我想从网上搜集一些关于抵押贷款的数据
9 回答
我想从网站上删除电子邮件地址
4 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
9 回答
我想从网站中提取数据,然后将其显示在我的网页上
10 回答
我想从网页上提取统计数据。
8 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
9 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
4 回答
我想从课堂上打印字典里的键
9 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
10 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
10 回答