File size: 1,248 Bytes
8346294
 
4636dfc
 
 
8346294
b23da08
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
592e727
 
b23da08
 
 
 
 
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
---
license: bsd-3-clause
widget:
- text: "(I%I.M)(piano__0=s0,piano__1=s2,piano__3=s4)"
  example_title: "Continue a C-major chord"
---

Musiclang LLM
--------------

Check https://github.com/MusicLang/musiclang to use this model in your musical compositions

MusicLang LLM is a language model based on top of the musiclang symbolic tonal music language. Is is used to predict new music from an existing score.

How to use
----------

Install musiclang package in python : 

```
pip install musiclang
```

Predict some music from a given prompt written with musiclang :

```python
from musiclang.library import *
from musiclang import Score

# Some random bar of chopin op18 Waltz
score = ((V % III.b.M)(
	piano__0=s0 + s2.e.mp + s3.e.mp, 
	piano__4=s0.e.o(-2).p + r.e + s0.ed.o(-1).mp + r.s, 
	piano__5=r + s4.ed.o(-1).mp + r.s, 
	piano__6=r + s6.ed.o(-1).mp + r.s)+ 
(V['7'] % III.b.M)(
	piano__0=s2.ed.mp + r.s, 
	piano__2=s4.ed.mp + r.s, 
	piano__4=s6.ed.o(-1).mp + r.s, 
	piano__5=s0.ed.o(-1).mp + r.s, 
	piano__6=s4.ed.o(-1).mp + r.s))

# Predict the next two chords of the score using huggingface musiclang model
predicted_score = score.predict_score(n_chords=2, temperature=0.5)
# Save it to midi
predicted_score.to_midi('test.mid')
```