问题标签 [puredata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

c - 使用 C 实现纯数据外部时内存损坏

我目前正在尝试使用 C 实现 Pure Data 的外部。我已经有一段时间没有使用 C,而且我遇到了内存损坏问题。我不知道该怎么办,所以我请求你的帮助。

这是代码。请记住,它是纯数据的 C 代码。

你不知道的功能,是已经给我的功能。内存损坏错误是这样发生的:我使用给定的 makefile 编译代码,然后尝试在控制台中使用生成的 pd_linux 文件运行给定的纯数据文件,我立即在控制台中收到此消息:

我什至试图删除我所做的所有calloc,但错误仍然发生......

0 投票
1 回答
337 浏览

slider - 测量纯数据中 GUI(水平滑块)对象事件的经过时间?

考虑这个补丁(下面的代码,在pd-extended_0.43.4-1Ubuntu 11.04 上测试):

test_slider_timer.png

我基本上只是拖动滑块,想看看 [hsl] 滑块发出的两个连续值之间的时间差是多少。[trigger] 帮助 ( Triggering_messages_with_trigger) 指出:“从 [trigger] 的出口发送的消息发生在零时间,事件之间没有延迟...... ”。因此,abang首先进入[timer]的右入口,输出“经过的逻辑时间”,然后abang进入[timer]的左入口,重置定时器。我用 [pack] 收集经过的时间和滑块值,然后 [打印] 这些值。如屏幕截图所示,问题是我得到这样的值:

这告诉我滑块在 0 毫秒内从 0.396985 更改为 0.341709,这应该是不可能的:我必须经过一段时间才能移动鼠标(这将触发操作系统和纯数据中所需的处理程序)为了为滑块设置一个新值?!

那么,为什么会发生这种情况?是预期的吗?- 并且是否有一个 Pd 对象(或外部)可以让我在用鼠标拖动期间准确测量 [hsl] 滑块的两个连续输出值之间经过的时间(在所有测量的经过时间应该大于零的意义上是准确的)?


编辑:刚刚找到[realtime],它类似于[timer](并且可以在此补丁中用作替代品),但输出浮点值;所以我不再得到纯零 - 但是,我得到这样的打印:

...这仍然有点不切实际:例如滑块在 25 微秒内从 0.361809 变为 0.366834(约 0.005);然后在 47 毫秒内从 0.366834 变为 0.376884(大约为 0.01,是之前的两倍) - 比之前的时间间隔长 1880 倍!所以我不确定这是否准确,要么......


编码:

0 投票
0 回答
137 浏览

c++ - Visual C++ 2010 中的 libpd 配置

我正在尝试在 Visual C++ 2010 项目中导入并运行 libpd API CppTest附带的 C++ 示例项目。

我导入了libpd的C++ API文件,即PdBase、PdReceiver、PdMidiReceiver和PdTypes,在PdBase和PdTypes的情况下有对应的源文件。我将 Pure Data 的 include 文件夹(“C:\pd_installation_folder\include”)和包含 libpd 包装器的 C 代码的 libpd_wrapper 文件夹作为附加包含目录。

当我运行示例项目的解决方案时,由于链接阶段出现错误,“错误 LNK2019”,其中包含大量未解决的外部项,因此无法正常工作。这里有什么问题?我是否应该为 VC++ 项目的链接器配置属性提供任何 libpd 附加静态库(或 .dll)?

0 投票
1 回答
601 浏览

java - 无法为简单的麦克风应用程序获取音频输入

我正在学习如何在 Android 中使用 libpd,但遇到了问题。我想看看我是否可以让一个简单的麦克风应用程序正常工作。只是一个 ~adc -> bpfilter -> *2 -> ~dac。我验证了补丁与 Pure Data 和 MobMuPlat 一起使用。

我编写了示例程序“五分之二”以确保正确包含 libpd。当我使用教程对其进行修改以运行我自己的补丁时,我无法从手机的麦克风中获取输入。以下行似乎是问题所在。

如果我将输入通道设置为 0,应用程序将打开,但显然不会发出声音。除非我将补丁更改为仅播放音调并将 inpch 设置为 0。当输入通道设置为 1,2 时,否则AudioParameters.suggestInputChannels();应用程序将无法打开。

我也尝试过小采样率,但我遇到了同样的问题。有任何想法吗?

这是完整的主要活动:

0 投票
2 回答
812 浏览

python - Python - pdsend 数据流

首先是一些上下文:四个 MPR121 分线板 ( https://www.sparkfun.com/products/9695 ) 通过 i2C 连接到 Raspberry Pi 2。python 脚本从四个板上读取数据并将其发送到纯数据用 pd 发送。

目前,我已经设法获得了在终端上打印所需的所有数据。但是,我不确定如何在纯数据中获得相同的信息,因为我只收到短信(类似于“print: .join(map(str print: diff3))”)

我很确定我需要更改 os.system 行以适应变量,但我找不到如何做到这一点。

非常感谢您提前。

0 投票
1 回答
81 浏览

android - Android - 手机资源使用率高导致一个耳机音量低?

我在 Android 上使用 libpd(纯数据)来制作一个可用作低预算助听器的应用程序。我最初的“音频引擎”设计有 7 个过滤器,两个耳机的音量相同。我将设计更改为具有 14 个过滤器,现在右耳机的音量较低。

在我的笔记本电脑上运行引擎会在两只耳朵上产生相同的音量。我尝试在它自己的线程上运行所有音频处理,但我不确定我是否正确执行此操作。

所以把问题归结为。

  1. 一只耳朵的音量低是否可能是使用过多资源的副作用?
  2. 我创建新线程的实现是否正确?

    /li>
0 投票
2 回答
276 浏览

c - 用于 Pure Data 外部创建的 Eclipse 设置

好的,所以我一直在使用 Visual Studio Express 2013 为 Pure Data 开发外部组件,一切都很好。一切都可以编译,工作等等。

但是现在我面临着必须对 Android 的外部进行特定的编译(与 libPD 一起使用),这意味着我将不得不使用 Android NDK。我为 NDK 找到的所有指南都使用 Eclipse,因此我决定将代码放入 Eclipse 并开始使用它。

我之前安装了 Eclipse 以尝试在 Android 开发中进行一些尝试,这意味着我只需要安装 Make、Gcc 和 Gdb。通过 Cygwin 这样做,重新启动 Eclipsed,一切似乎都工作正常(当尝试编译一个空项目时,所有调用都没有错误并且项目编译)。

将基本的“helloworld”项目源导入新创建的 Eclipse C 项目,并在尝试包含“m_pd.h”时出现(如预期的那样)错误。在 google 和 eclipse 文档中搜索库包含,在包含路径、库路径(链接器-> 库设置)中进行了尝试,除了将其添加到包含路径之外,它无法与任何其他解决方案一起正常工作。将 Pure Data src 文件夹添加到项目的包含路径中,并且错误消失了。

但是,当我尝试编译项目时,所有 PD 方法和函数都会出现未定义的引用错误(post、pd_new、gensym 等),这表明编译器无法正确访问库...

作为一个完全的 Eclipse 新手用户,我想知道我是否错过了一些步骤或者我做错了什么......

内部和外部编译器似乎都会发生相同的错误。外部(cygwin gcc)在链接阶段显示错误(在“Invoking: Cygwin C Linker”行之后)

更新:在我将包含路径添加到 cygwin 链接器库路径后,编译错误消失了。现在在makefile命令上出现“意外令牌'('附近的语法错误”错误:gcc -shared -o“dataIn.dll”./src/dataIn.o -lC:/Program\ Files\ (x86)/Pure\ Data/源代码

是否因为路径中的“(”而变得奇怪?

0 投票
1 回答
2133 浏览

python - 我可以从 Pure Data 执行 Python 脚本吗?

我知道有一些工具可以在 Python 中使用 Pure Data(Pd),因此您可以在不使用其 GUI 的情况下编程和使用 Pd。我想知道是否有人尝试过相反的方法。我想将测序信息发送到 Python 并使用我的 Python 脚本进行处理。然后我想将信息发送给 Pd。

到目前为止,我已经使用 Pd 中的 [msgfile] 对象将序列写入文本文件。这些可以用 Python 打开和操作,但这涉及切换到 IDLE 并手动运行程序,再次写入文本文件,最后从 Pd 中的文件读取。如果 Pd 可以执行 Python 脚本,这将节省我用 C 或 C++ 编写自己的对象或在程序之间切换和手动运行我的脚本的工作。

0 投票
2 回答
2492 浏览

audio - 纯数据中的自动滑块?

我正在尝试在 Pure Data 上自动模拟海洋声音。到目前为止,我已经通过使用 [bp~] 过滤一些噪音来实现非常基本的声音。我已经看到截止频率的最佳范围是从 300 到 500 Hz,因此我想要一个水平滑块 [hsl] 从 300 到 500 并返回,自动循环,直到我告诉它停止。(我已经为滑块分配了范围(300,500),我现在只需要自动控制它)。我试过 [osc~] 但它不起作用,因为滑块不是音频元素,而 [osc~] 的输出是音频信号。在图片中,我展示了我到目前为止所拥有的东西:

我的程序的当前分布

那么我怎样才能自动控制滑块而不必手动改变它呢?到目前为止,一切都按我的意愿工作,但我需要滑块定期增加和减少以模拟海浪。

0 投票
1 回答
107 浏览

java - libpd:如何在 Activity 上实现自定义监听器

我正在与 Pure Data 合作在 Android 上构建对声音敏感的应用程序。在完成所有修补之后,我现在希望能够不依赖 libpd 方法(例如设置侦听器和信息接收方法),因此我可以通过几行代码将 Pd 与任何 Activity 一起使用。

问题是我希望能够根据 Activity 以不同的方式处理从 Pd 获得的输出(我现在有一个多活动应用程序)。但我似乎无法找到一种方法来做到这一点,而不覆盖 Pd 调度程序上的侦听器,从而导致代码混乱和样板代码过多。

我一直在寻找一种方法来构建我自己的自定义侦听器,当 libpd 从 Pd 接收信息时调用该侦听器,但这会为 Activity 本身添加更多代码行!

这就是我现在处理每个活动信息的方式(简化)。