问题标签 [euterpea]

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 回答
478 浏览

haskell - Haskell ghc,尝试使用 ghc 和 Euterpea 编译程序时出现链接错误

我正在查看计算音乐开发库Euterpea,我正在尝试编译以下基本程序:

该程序在ghci中运行良好,但是当我尝试使用它进行编译时,ghc test.hs我收到以下错误消息:

链接测试... /usr/bin/ld: /home/fayong/.cabal/lib/PortMidi-0.1.3/ghc-7.6.3/libHSPortMidi-0.1.3.a(ptlinux.o): 未定义参考符号'pthread_create@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libpthread.so.0:添加符号时出错:命令行collect2中缺少DSO:错误:ld返回1退出状态

这似乎是一个链接错误,但我不知道如何解决它。我试图通过-lpthread作为一个选项,但它也没有工作。

我通过caballinux mint 17上安装了Euterpea

0 投票
0 回答
141 浏览

haskell - 用 Euterpea 调制音频信号

我似乎在为我的项目选择库时遇到问题。我必须在 Haskell 中编写一个应用程序来调制、过滤等音频。假设我想读取一个音频文件并对其应用低通滤波器。

是否可以用 Euterpea 编写低通滤波器?该项目应该使用响应式编程来完成,但我知道 Euterpea 使用 Arrows 和 FRP。

我真的很感激一些信息:)

0 投票
0 回答
125 浏览

haskell - 使用事件启动信号功能。Haskell - Euterpea

我正在使用 Euterpea 开发 FRP 应用程序,但在理解如何做这件事方面遇到了重大问题。

我有自己的信号功能,我想在特定事件发生时触发。现在我的 SigFun 刚刚从程序开始运行。

假设我有一个函数可以在图表上显示信号的傅立叶变换,并且效果很好:(字符串 1 是负责生成吉他弦波形的函数。)

我在 toFFT 函数中尝试了 if-then-else 表达式:

当 if-flag 为 True 时,一切都正确显示并且程序资源正常。当标志为假时。FFT 是平坦的(没关系),但程序开始消耗大量内存: 内存图

我知道在 Yampa 中有一些称为开关的功能,但我在 Euterpea 中找不到它们。

是否有可能以我认为的方式“触发”信号功能?我读了一些关于 ArrowChoice 的文章,但我不清楚它有什么帮助。

我觉得有一些我不知道的基本东西。

0 投票
1 回答
355 浏览

haskell - 在 NixOs 上安装 Haskell 包 Euterpea 失败

不幸的是,在 NixOS 上安装 haskell 包“Euterpea”失败:

Nixpkgs 手册指出,所有在hackage 上注册的 haskell 包(Euterpea 包是)都包含在 nix 包管理器中,并且必须像这样安装:

一些下载和编译后,出现如下错误,进程中断:

有谁知道如何解决这个问题?

0 投票
1 回答
266 浏览

haskell - Euterpea 例外:未找到 MIDI 输出设备

我正在尝试开始使用 Haskell 的Euterpea库。我的第一个目标是让它播放给定的声音文件(例如 mp3 或 wav),但首先我遇到了一个问题,按照说明让它在 ghci 中播放一个简单的音符声音。

按照 Euterpea网页上的“设置 MIDI”说明,我跑了

在 ghci 中。“播放”命令导致以下错误消息:

我以为我需要将 midi 输出指定到我的机器(macOS Sierra)并找到一个名为“Audio MIDI Setup”的应用程序,但它表明已经指定了一个 midi 输出(我的内部扬声器)。

任何人都知道这个问题是什么或如何解决它?

0 投票
2 回答
760 浏览

haskell - 为什么 `stack build` 会改变我的 .cabal 文件?

我正在尝试构建一个使用Euterpea的项目。

运行stack build时出现以下错误,提示我需要添加Euterpea到文件的build-depends部分.cabal

我在Euterpea那里添加,然后library我的.cabal文件部分如下。

但是,当我再次运行stack build时,它给出了相同的错误 - 并将我的.cabal文件更改回原来的样子,library然后该部分看起来像

为什么要stack build更改我的cabal文件?我以前从未见过这种情况发生。


旁注:不确定它是否相关,但.cabal文件的格式似乎与通常不同。与以前的项目一样,我通过运行自动初始化stack new <project-name>。我不知道我可能做了什么与以前的项目不同导致stack build.

0 投票
0 回答
64 浏览

haskell - 如何在网页加载时加载 Haskell 脚本

我对 Haskell 非常陌生,我正在尝试通过构建一个网络音乐项目来学习它。

我成功安装了 Euterpea 并设置了 MIDI。我写了一个超级基本的脚本,导入 Euterpea 并播放一个音符。

我现在想把我的脚本放到我的托管站点上,并让它——对于初学者来说——在页面加载时自动运行。

我将如何开始这样做?我需要调用 Haskell 脚本的 Javascript 吗?

以及如何配置基于 Web 的 MIDI 以与我的脚本交互?

0 投票
1 回答
87 浏览

haskell - 使用 Euterpea / Haskell 播放随机音符时长

我刚刚开始使用 Euterpea / Haskell,我正在尝试编写一个简单的脚本来随机化音符持续时间。

我写了这个有效的:

然后我读到这个:https ://www.schoolofhaskell.com/school/starting-with-haskell/libraries-and-frameworks/randoms

这显示了一种生成随机数的方法,如下所示:

我正在尝试像下面那样组合它们,但它并不完整(z例如,我不知道该放在哪里。)

谁能建议我下一步用随机定义的数字替换代表持续时间的数字?

这是我目前所在的位置:

0 投票
1 回答
931 浏览

haskell - 为计算机音乐应用程序和 Haskell 安装 Euterpea

我按照http://www.euterpea.com此处的说明安装 Euterpea(一种用于嵌入在 Haskell 中的计算机音乐应用程序的特定领域语言),我收到一条消息,指出某些软件包和东西无法安装(请参阅下面的代码)。如何安装剩余的软件包?

如果有人可以提供帮助,那就太好了。谢谢。

我已经包含了所有代码,以免遗漏一些特定的相关细节。


编辑

我也尝试通过堆栈安装 Euterpea。我收到这条消息:

-- 编辑 2。

如下所示,我尝试cabal install random-1.1 --force-reinstalls了生成:

然后


编辑 3

下面有人建议,多个软件包被搞砸了,我应该尝试重新安装所有软件包(在一个命令中,即cabal install random tf-random QuickCheck Euterpea --force-reinstalls.

但是,如果我写,cabal install random tf-random QuickCheck Euterpea --force-reinstalls我会收到以下代码:

我该怎么做才能安装 Euterpea?

0 投票
2 回答
150 浏览

haskell - 与gameworld一起在main函数中启动Euterpea Music?(在哈斯克尔)

制作游戏并在调用 main 函数启动游戏时寻找启动音乐的方法(用 Euterpea 用 haskell 制作)。

这段代码的问题是它会播放音乐,但不会启动游戏。如果我把音乐放在 Pure.Game.play 之后,游戏就会开始,但不会播放音乐。

还尝试在自己的函数中拥有音乐melody :: Music Pitch melody = Euterpea.line [af 4 dqn :=: cf 4 dqn]

并绑定它(就像与背景一样):music <- melody 并在 main 中调用它,但也无法让它工作。

任何提示如何做到这一点?