-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.Rmd
94 lines (61 loc) · 3.09 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
output: github_document
bibliography: "grateful.bib"
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
library(knitr)
library(badger)
```
# midiblender <img src="man/figures/logo.png" align="right" height="120" alt="" />
<!-- badges: start -->
`r badge_custom("WARNING", "Half-Baked", "red") `
`r badge_custom("Will it Blend", "Question Mark", "red") `
`r badge_custom("Dependable","No","blue")`
`r badge_custom("Hobby side project","Yes","green")`
<!-- badges: end -->
The goal of `midiblender` is to mangle midi files in R and listen to what happens.
This is an experimental, use at your own frustration package. I'm writing this for my own use cases, and using the R package format because it helps me to clarify and track the goals I'm chasing down. This is an R package, but perhaps should not be confused with one.
I'm sharing this for fun and in case others find it useful.
## Installation
You can install the midiblender like so:
``` r
## install remotes package if it's not already
if (!requireNamespace("remotes", quietly = TRUE)) {
install.packages("remotes")
}
## install from github
remotes::install_github("CrumpLab/midiblender")
```
Aspects of this package rely on [pyramidi](https://urswilke.github.io/pyramidi/), which is also in an experimental lifecycle. That package wraps some python libraries ([miditapyr](https://pypi.org/project/miditapyr/) and [mido](https://mido.readthedocs.io/en/stable/)) that handle midi import and export. See the [pyramidi](https://urswilke.github.io/pyramidi/) documentation for more information about what is necessary to install before this will work. See also [fluidsynth](https://github.com/ropensci/fluidsynth/) for easy playing and rendering of midi in R.
## To Do
- [x] a conceptual [getting started document](https://www.crumplab.com/midiblender/articles/Getting_started.html)
- [x] Using vignettes to conduct various tests and concepts for midi blending
- [Mangling with matrices](https://www.crumplab.com/midiblender/articles/mangling_with_matrices.html)
- [Basic MIDI mangling functions](https://www.crumplab.com/midiblender/articles/midi_mangle.html)
- [Midi data frame constructors with dplyr](https://www.crumplab.com/midiblender/articles/midi_construct.html)
- [] Fill out example code in the function documentation
- Slowly adding more examples
The primary style of development here is me trying things out for fun and listening to them...with a side eye toward posterity in case the mangling pattern seems like a tool I'd want to use again.
## Thanks to
Thanks to the R community for building such wonderful tools. Special thanks to Urs Wilke for [pyramidi](https://urswilke.github.io/pyramidi/), that helped me get up to speed very quickly.
<!--
```{r, eval=FALSE, echo=FALSE}
library(grateful)
pkgs <- scan_packages()
cites <- get_citations(pkgs$pkg,
out.dir = getwd(),
bib.file = "grateful")
```
-->
---
nocite: |
@*
---
## References