0

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

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

import Euterpea
play $ c 4 qn

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

Prelude Euterpea> play $ c 4 qn
*** Exception: No MIDI output device found
CallStack (from HasCallStack):
  error, called at ./Euterpea/IO/MIDI/MidiIO.lhs:122:18 in Euterpea-2.0.2-Iz37iWlkpjn2emP4FnvOI1:Euterpea.IO.MIDI.MidiIO

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

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

4

1 回答 1

0

也许你解决了这个问题,但为了后代一些想法:


听起来您没有先安装和运行MIDI 合成器(例如SimpleSynth)。AFAICT,音频 MIDI 设置实际上不包括软件合成器,它更多地用于高级/硬件 MIDI 设置

这应该会创建 Euterpea 在那里找不到的 MIDI 输出设备。您可能还需要使用频道(例如,使用playDev n而不是play从您的设备列表中计算出 n 的值......或者甚至只是尝试从 1 到 8)

无论哪种方式,Donya在 Mac OS X页面上使用 MIDI 都有一些针对 Mac 的良好帮助。希望有帮助。

于 2017-08-02T13:51:57.253 回答