<laertus>are there any guile packages for writing MIDI files? <jonsger>laertus: lilypond supports converting to MIDI files, so maybe you can use stuff from them... ***catonano_ is now known as catonano
<laertus>jonsger: i'm starting a project to do some algorithmic composition using l-systems, genetic algorithms, and fractals... the result is to be written to midi files which i intend to import in to a DAW and then proceed to manually assign to synths/instruments, add effects, and whatnot... <laertus>i haven't completely decided on a language, but if i could use any language at all it would be a scheme, as the scheme family is my favorite <laertus>but i don't want to write low-level stuff from scratch myself... would much rather use existing libraries <laertus>so might be reluctantly dragged in to using a non-scheme/non-lisp language <laertus>if they have the library support i need <laertus>also, as i'm going to be using genetic algorithms, performance might be important <spk121>laertus: I once wrote a Guile program to read midi files ***apteryx is now known as Guest98209
***apteryx_ is now known as apteryx
***rekado_ is now known as rekado
<rekado>MIDI is *very* simple and using an existing non-Scheme library may be overkill <rekado>dependent on whether you want to generate arbitrary pitches (in cents) you would need to translate from your generated sequence to something that MIDI can handle (base note + pitch bend offset) anyway <laertus>spk121: what happened to it? also, did you ever write one to write midi files? <spk121>I never tried to write a midi file, so I guess I can't help you there. ***jonsger1 is now known as jonsger
<laertus>are there any guile-aware emacs major modes? <laertus>or is scheme-mode about the best i'm going to get? <dsmith-work>laertus: And to make it even better, also use paredit <laertus>i've never actually used paredit.. and not completely sold on it yet <dsmith-work>I avoided it for a long while. But it really is great once you get used to it. <laertus>because when i develop i often deliberately keep my parenthesis open to mark where i'm editing, so that i can remember where i was if i switch away to something and back <laertus>then, if i try to eval the function i'm working on, it'll fail, and be pretty clear where and why <dsmith-work>Only bad thing is I have some old muscle memory that do weird things in paredit. So I undo a lot.. <laertus>also, i'm an evil user... not sure how well paredit works with evil <laertus>i've heard of some paredit-like packages for evil users <laertus>not sure if geiser is flexible enough to use one of those instead of paredit proper <laertus>or, i'd be perfectly happy without paredit-like editing right now, as i'm not sure if i'm ready to change my whole editing style just to use geiser <jlicht>laertus: I use lispy+lispyville with evil, it works fine most of the time