Euterpea2 开源项目教程
Euterpea2Euterpea version 2项目地址:https://gitcode.com/gh_mirrors/eu/Euterpea2
1. 项目的目录结构及介绍
Euterpea2 是一个用于音乐创作的 Haskell 库。项目的目录结构如下:
Euterpea2/
├── src/
│ ├── Euterpea/
│ │ ├── IO/
│ │ │ ├── MIDI/
│ │ │ │ ├── MidiIO.hs
│ │ │ │ ├── FromMidi.hs
│ │ │ │ ├── ToMidi.hs
│ │ │ │ ├── Play.hs
│ │ │ │ ├── ExportMidiFile.hs
│ │ │ │ └── GeneralMidi.hs
│ │ │ └── Audio/
│ │ │ └── CSound.hs
│ │ ├── Note.hs
│ │ ├── Signal.hs
│ │ └── Music.hs
│ └── Main.hs
├── test/
│ └── Spec.hs
├── Euterpea.cabal
├── LICENSE
├── README.md
└── Setup.hs
目录结构介绍
src/
: 包含项目的源代码。Euterpea/
: Euterpea 库的主要代码。IO/
: 输入输出模块。MIDI/
: MIDI 相关的输入输出处理。Audio/
: 音频相关的输入输出处理。
Note.hs
: 音符处理模块。Signal.hs
: 信号处理模块。Music.hs
: 音乐处理模块。
Main.hs
: 项目的启动文件。
test/
: 包含测试代码。Euterpea.cabal
: 项目的配置文件。LICENSE
: 项目的许可证文件。README.md
: 项目的说明文档。Setup.hs
: 项目的安装脚本。
2. 项目的启动文件介绍
项目的启动文件是 src/Main.hs
。这个文件包含了项目的主入口点,负责初始化和启动 Euterpea 库。
module Main where
import Euterpea
main :: IO ()
main = do
putStrLn "Welcome to Euterpea!"
-- 这里可以添加初始化代码和启动逻辑
3. 项目的配置文件介绍
项目的配置文件是 Euterpea.cabal
。这个文件包含了项目的元数据、依赖关系和构建配置。
name: Euterpea
version: 2.0.8
Cabal-Version: >= 1.8
license: BSD3
license-file: LICENSE
copyright: Copyright (c) 2008-2019 Euterpea authors
category: Sound/Music
stability: experimental
build-type: Custom
author: Paul Hudak <paul.hudak@yale.edu>, Eric Cheng <eric.cheng@aya.yale.edu>, Hai (Paul) Liu <hai.liu@aya.yale.edu>, Donya Quick <donyaquick@gmail.com>, Dan Winograd-Cort <dwincort@gmail.com>
maintainer: Donya Quick <donyaquick@gmail.com>
bug-reports: https://github.com/Euterpea/Euterpea2/issues
homepage: http://www.euterpea.com
synopsis: Library for computer music research and education
description: Euterpea is a domain-specific language embedded in Haskell for computer music research and education.
library
exposed-modules:
Euterpea
Euterpea.IO.MIDI
Euterpea.IO.Audio
build-depends:
base >= 4 && < 5,
arrows >= 0.4 && < 0.5,
array >= 0.5.0.0 && <= 0.6,
deepseq >= 1.3.0.2 && <= 1.5,
random >= 1.0.1.1 && <= 1.2,
PortMidi == 0.2.0.0,
HCodecs == 0.5.1,
stm >= 2.4 && < 2.6,
containers >= 0.
Euterpea2Euterpea version 2项目地址:https://gitcode.com/gh_mirrors/eu/Euterpea2