Posted March 18, 201510 yr Here is a score for Violin and Piano. (attached file). It is a study on various aspect of traditional device in music composition like harmony, sequences. Preambule-04-GM.opmo
March 19, 201510 yr Can anyone post some examples of music that isn't so random, like create a pop tune with algorithmic software? Sometimes I think this is a weakness of these methods, i.e., crafting a memorable theme and developing it is near impossible...
March 19, 201510 yr Good point. At the moment I am working on videos and version 1.1 but I will make some example for you soon. Using randomisation is of essence when the structure of your pice is clear and the parameter values are set. On many occasions there is no need to make a specific order of a selection. Maybe you should start your pice in OMN and then extend the material with algorithmic method. Check the PITCH-VARIANT and TONALITY-MAP those are good functions for harmonic works. Anyway, when I have more time I will make a pop and jazz example. Thank you for asking :-) P.S. Maybe Stephane can do something quicker.
March 19, 201510 yr Author Hi,here's a short example of a reggae accompaniment i found in my sandbox.i'm working on a better example (and better commented and explained) i will post once finished but this one can help a bit.;;; Reggae1 ;; Harmonic path (setf cpath '((e4 maj) (cs4 m) (e4 maj) (cs4 m) (gs3 m) (fs3 m) (gs3 m) (b3 7))) ;; Patterns (setf pbass1.omn (tonality-map (mclist cpath) (make-omn :pitch (rnd-sample 4 '((c2 g2 c2))) :length (gen-repeat 8 (list (binary-map (gen-binary-euclidean 1 16 5 9) 's)))))) (setf pstack1.omn (tonality-map (mclist cpath) (make-omn :pitch '((e3g3c4)) :length (gen-repeat 8 '((-e e - = - = - =))) :articulation '((stacc))))) ;; Drums (setf kick1 (gen-repeat 4 (list (replace-pitch-map *gm-percussion* 'Bass-Drum1 '(-e c4 - - - = - = = - - - = - - -))))) (setf snare1 (gen-repeat 4 (list (replace-pitch-map *gm-percussion* 'Acoustic-Snare '(-q c4 - = - = - =))))) (setf hh1 (gen-repeat 4 (list (replace-pitch-map *gm-percussion* 'Closed-Hi-hat '(e c4 = = = = = = = = = = = = = = =))))) (setf drums (merge-voices kick1 snare1 hh1)) (def-score reggae1 (:time-signature '(4 4) :key-signature '(e maj) :tempo 72) (bass :omn pbass1.omn :channel 1 :sound 'gm :program 'Electric-Bass-Finger) (guitar :omn pstack1.omn :channel 2 :sound 'gm :program ' Electric-Guitar-Clean) (drums :omn drums :channel 10))SB.
March 19, 201510 yr Author Here is my example named Pop_up !Each time you run it, it generate a new version based on the chord progression.i hope it can help.;; Chord progression (setf grid1 (tonality-series '((c4 min)(ab4 maj)(f4 min)(g4 maj) (c4 min)(ab3 maj)(f3 min)(g3 maj)))) ;; Extract length of grid1 list and give it the name: size1. (setf size1 (length grid1)) ;; Accomp. (setf bass.pitch (rnd-sample 4 '(c2 c3 g2))) (setf bass.length (binary-map (gen-binary-euclidean 1 16 4 10)'s)) (setf bass (make-omn :pitch bass.pitch :length (list bass.length))) (setf chords.pitch (integer-to-pitch (rnd-sample 16 (gen-integer 12)))) (setf chords.pitch.div (gen-divide 4 chords.pitch)) (setf chords.pitch.chrd (chordize-list chords.pitch.div)) (setf chords.len (binary-map (gen-binary-euclidean 1 16 4 12)'s)) (setf chords (make-omn :pitch chords.pitch.chrd :length (list chords.len))) ;; Repeat the given material (setf bass.rep (gen-repeat size1 bass)) (setf chords.rep (gen-repeat size1 chords)) ;; Apply the harmonic chords progression to accomp. (setf bass.map (tonality-map grid1 bass.rep)) (setf chords.map (pitch-transpose -12 (tonality-map grid1 chords.rep))) ;; Melody ;; vector definition for melodic contour generation (setf vect (vector-smooth 0.45 (gen-white-noise 128))) ;; Convert vector to pitch (setf melo.pitch (vector-to-pitch '(c4 c6) vect)) ;; Rhythm generation for melody (setf melo.length (gen-repeat size1 (list (binary-length-map ; note the use of binary-LENGTH-map in place of binary-map (gen-binary-euclidean 1 16 2 10) 's)))) ;; Melody assembly (setf melo (make-omn :pitch melo.pitch :length melo.length)) ;; Apply the harmonic chords progression to melo. (setf melo.map (tonality-map grid1 melo)) ;; add some rest (setf melo.rest (length-rest-weight '(3 1) melo.map)) (def-score Pop_up (:key-signature '(c min) :time-signature '(4 4) :composer "S.Boussuge" :copyright "Copyright © 2015 S.Boussuge" :tempo 112) (bass :omn bass.map :channel 1 :sound 'gm :program 'Electric-Bass-Finger) (guitar :omn chords.map :channel 2 :sound 'gm :program 'Electric-Guitar-Jazz) (melo :omn melo.rest :channel 3 :sound 'gm :program 'flute))SB.Pop_up.opmo
Create an account or sign in to comment