Compare commits
3 Commits
247d5bc87c
...
f4cbc413e3
| Author | SHA1 | Date | |
|---|---|---|---|
| f4cbc413e3 | |||
| 4ffa255c85 | |||
| 1fcf809e29 |
2
content/.smart-env/multi/BEAM_VM_md.ajson
Normal file
2
content/.smart-env/multi/BEAM_VM_md.ajson
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
"smart_sources:BEAM VM.md": {"path":"BEAM VM.md","last_embed":{"hash":null},"embeddings":{},"last_read":{"hash":"1ez38xj","at":1759895635941},"class_name":"SmartSource","last_import":{"mtime":1759895607843,"size":37,"at":1759895635942,"hash":"1ez38xj"},"blocks":{"#---frontmatter---":[1,3],"#stub":[4,5]},"outlinks":[],"metadata":{"date":"2025-10-08 12:53","tags":["#stub"]},"task_lines":[]},
|
||||||
4
content/.smart-env/multi/Pytakt_md.ajson
Normal file
4
content/.smart-env/multi/Pytakt_md.ajson
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
content/Pytakt.md
Normal file
10
content/Pytakt.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
date: 2025-10-09 18:20
|
||||||
|
---
|
||||||
|
#programming-language #music #computermusic
|
||||||
|
|
||||||
|
[[Takt]]をベースにPythonライブラリとして再実装されたもの。
|
||||||
|
|
||||||
|
[GitHub - snisim/pytakt: A Python library for music description, generation, and processing with realtime MIDI I/O](https://github.com/snisim/pytakt)
|
||||||
|
|
||||||
|
[Full article: Pytakt: a Python library for symbolic music description, generation, and real-time processing](https://www.tandfonline.com/doi/full/10.1080/09298215.2025.2540434#d1e130)
|
||||||
@@ -11,3 +11,8 @@ date: 2025-08-20 16:13
|
|||||||
[高機能な音楽プログラミング言語Takt - 丸井綜研](https://marui.hatenablog.com/entry/2014/09/14/150337)
|
[高機能な音楽プログラミング言語Takt - 丸井綜研](https://marui.hatenablog.com/entry/2014/09/14/150337)
|
||||||
|
|
||||||
[Takt download \| SourceForge.net](https://sourceforge.net/projects/takt/)
|
[Takt download \| SourceForge.net](https://sourceforge.net/projects/takt/)
|
||||||
|
|
||||||
|
|
||||||
|
最近Pythonで作り直したのがあるらしい。
|
||||||
|
|
||||||
|
[[Pytakt]]
|
||||||
|
|||||||
@@ -184,3 +184,26 @@ fn alloc_midi_voice_4(channel){
|
|||||||
|
|
||||||
[[Computation Expression]]使ってIOの値を`let!`でバインドしていく、とかの方がわかりやすいかも
|
[[Computation Expression]]使ってIOの値を`let!`でバインドしていく、とかの方がわかりやすいかも
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
シンプルに、MIDIにコールバックを渡せるだけなら、どうやって作る?
|
||||||
|
|
||||||
|
```rust
|
||||||
|
|
||||||
|
fn __midi_note_callback(cb:{pitch:float,vel:float}->void ){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn poly_midi_allocator()->()->[{pitch:float,vel:float}]{
|
||||||
|
let channels = array_new({pitch=0,vel=0},4)
|
||||||
|
let busymap = [0,0,0,0]
|
||||||
|
__midi_note_callback(|pitch,vel| {
|
||||||
|
|
||||||
|
})
|
||||||
|
channels//セルをupvalueとして返す
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|||||||
Submodule content/private updated: f1653409b0...373f7609b2
Reference in New Issue
Block a user