Jump to content
  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type

Forums

  • Welcome To Opusmodus
    • Announcements
    • Pre Sales Questions
  • Support Forum
    • Support & Troubleshooting
    • OMN Lingo
    • Function Examples
    • Score and Notation
    • Live Coding Instrument
    • Library Setup
    • MIDI Setup
    • SuperCollider
  • Question & Answer
    • Suggestions & Ideas
    • Zoom into Opusmodus
  • Sharing
    • Made In Opusmodus
    • User Extensions Source Code
  • Opusmodus Network
    • Meet, Compose, Collaborate
    • Strategies and Methods to Control Complexity
  • Opusmodus Workshops
    • Composer Workshop

Calendars

  • Community Calendar

Product Groups

  • Opusmodus

Categories

  • The First Steps in Opusmodus
  • Tutorials
  • How-to in 100 sec
  • Made in Opusmodus
  • How-To
  • Zoom into Opusmodus
  • SuperCollider
  • Workflow
  • Live Coding
  • Presentation
  • Analysis
  • Composer Workshop

Find results in

Find results that contain...

Date Created

  • Start

    End

Last Updated

  • Start

    End


Filter by number of...

Found 2 results

  1. dsyk posted a post in a topic in OMN Lingo
    I’m writing a piece for flute, oboe clarinet using infinity series and I get the following error: <<automatic abort>> OM 6 > infinity-series gen-repeat gen-repeat flatten infinity-series gen-repeat gen-repeat flatten infinity-series gen-repeat gen-repeat flatten ps Error: OMN Parse Error: fail 1 (abort) Return to top loop level 0. Type :b for backtrace or :c <option number> to proceed. Type :bug-form "<subject>" for a bug report template or :? for other options. OM 7 : 1 > What am I doing wrong? My code (with the help of Chat GPT) is: ;; --------- Helper Functions --------- (defun make-crescendo (start end steps) (let* ((dynamic-scale '(pp p mp mf f ff)) (start-index (position start dynamic-scale)) (end-index (position end dynamic-scale)) (range (if (< start-index end-index) (subseq dynamic-scale start-index (1+ end-index)) (reverse (subseq dynamic-scale end-index (1+ start-index))))) (expanded (loop for i from 0 below steps collect (nth (floor (* (/ i steps) (length range))) range)))) expanded)) (defun build-omn-with-rests (pitches rhythms velocities articulations) (flatten (loop for p in pitches for r in rhythms for v in velocities for a in articulations collect (cond ((and (eq p 'r) r) (list r 'r)) ((and p r v a) (list r p v a)))))) (defun introduce-rests (pitch-list probability) (loop for p in pitch-list collect (if (< (random 1.0) probability) 'r p))) ;; --------- Common Settings --------- (defparameter tempo 72) (defparameter time-signature '(4 4)) (defparameter rest-probability 0.3) ;; --------- Flute Material --------- (setf flute-pitches (introduce-rests (infinity-series 100 '(c4 cs4) :ambitus '(c4 c6)) rest-probability)) (setf flute-rhythms (gen-repeat 25 '(q e e s))) (setf flute-velocities (make-crescendo 'pp 'ff 100)) (setf flute-articulations (gen-repeat 25 '(stacc leg marc ten))) (setf flute-omn (build-omn-with-rests flute-pitches flute-rhythms flute-velocities flute-articulations)) ;; --------- Oboe Material --------- (setf oboe-pitches (introduce-rests (infinity-series 100 '(d4 ds4) :ambitus '(d4 d6)) rest-probability)) (setf oboe-rhythms (gen-repeat 25 '(e e s q))) (setf oboe-velocities (make-crescendo 'pp 'ff 100)) (setf oboe-articulations (gen-repeat 25 '(leg marc ten stacc))) (setf oboe-omn (build-omn-with-rests oboe-pitches oboe-rhythms oboe-velocities oboe-articulations)) ;; --------- Clarinet Material --------- (setf clarinet-pitches (introduce-rests (infinity-series 100 '(e4 f4) :ambitus '(e4 e6)) rest-probability)) (setf clarinet-rhythms (gen-repeat 25 '(s q e e))) (setf clarinet-velocities (make-crescendo 'pp 'ff 100)) (setf clarinet-articulations (gen-repeat 25 '(marc ten stacc leg))) (setf clarinet-omn (build-omn-with-rests clarinet-pitches clarinet-rhythms clarinet-velocities clarinet-articulations)) ;; --------- Final Score (Playback + Export) --------- (ps 'gm :title "Infinity Series Trio - Final Version with Rests" :time-signature time-signature :tempo tempo :inst '(flute oboe clarinet) :fl (list flute-omn) :ob (list oboe-omn) :cl (list clarinet-omn))
  2. Hi Stephane Based on your example i tried to apply a transposition list based on your functions but with an exotic scale Ex ;; degree selection (setf degr '(1 4 2 5 1 6 4 2 5)) ;; remove 1 from each degree for use as transposition ;; inside tonality for diatonic transposition (setf trsp (mapcar (lambda(x) (- x 1)) degr)) ;;; some material (setf arps1 (gen-repeat (length degr) '((s c4 e4 g4 c5 e5 g5 c6 g5 e5 c5 g4 e4)))) ;; apply diatonic transposition (inside tonality) (setf arps.map (tonality-map '(hyojo :root c4) (pitch-transpose trsp arps1))) This is the start of the result i gat with pitches not belonging to the scale (s c4 f4 g4 c5 eb5 g5 c6 g5 f5 c5 g4 f4) (s eb4 g4 bb4 eb5 g5 bb5 eb6 bb5 g5 eb5 bb4 g4) i think the trsp function doesn't work with the Hyojo scale . Is there a way to make a algorithm which would work with any type of exotic scales ? Thanks Patrick

Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy