# Search the Community

Showing results for tags 'hexachord'.

• ### Search By Tags

Type tags separated by commas.

### Forums

• Welcome to Opusmodus
• Announcements
• Pre-Sales Questions
• Support Forum
• Support & Troubleshooting
• OMN Lingo
• Function examples
• Score & Methods
• Notation & Layout
• Live Coding Instrument
• Library & Sound Sets
• MIDI Setup
• Programming (Common Lisp)
• Sharing
• Templates & Customisation
• Feedback
• Suggestions & Ideas

### Blogs

• Stephane Boussuge's Blog
• Deb76's Blog

### Calendars

• Community Calendar

### Product Groups

• Opusmodus Software

### Categories

• Tutorial Guide
• OMN The Language

### Categories

• Howto
• Getting Started
• Live Coding
• Music Theory and Analysis

• Members

• 0 Replies

• 0 Reviews

• 0 Views

Found 1 result

1. ## Opusmodus 1.2.23354

View File Opusmodus 1.2.23354 New: All-Combinatorial Hexachords GEN-AC-HEXACHRD AC-HEXACHORD-COMPLEMENT-FORM-SET HEXACHORD-COMPLEMENT ________________________________ The function GEN-AC-HEXACHRD generate a hexachord (H1) set and its complement (H2) set form a given name (all-combinatorial hexachords) by randomising the order and applying an inversion into the the H1 set first. The result is a sequence with two hexachords, H1 and H2 or an aggregate (twelve-tone row). The AC in the function name stand for 'All-Combinatorial Hexachords'. All-Combinatorial Hexachords names and there pitch class prime form sets: A = (0 1 2 3 4 5) B = (0 2 3 4 5 7) C = (0 2 4 5 7 9) D = (0 1 2 6 7 8) E = (0 1 4 5 8 9) F = (0 2 4 6 8 10) All-Combinatorial Hexachords in Forte notation: (pcs-prime-form '((0 1 2 3 4 5) (0 2 3 4 5 7) (0 2 4 5 7 9) (0 1 2 6 7 8) (0 1 4 5 8 9) (0 2 4 6 8 10) ) :forte) => (6-1 6-8 6-32 6-7 6-20 6-35) Example: In the first example we use A set (0 1 2 3 4 5): (gen-ac-hexachord 'a) => ((6 4 3 1 5 2) (7 9 10 0 8 11)) Here the result is a twelve-tone row (aggregate): (gen-ac-hexachord 'b :aggregate t) => (11 7 2 9 10 0 4 8 1 6 5 3) In the example below the hexachords are generated from set C and with start 0: (gen-ac-hexachord 'c :start 0) => ((0 2 5 4 9 7) (3 1 10 11 6 8)) (gen-ac-hexachord 'd :aggregate t :start 7) => (7 11 5 1 0 6 8 4 10 2 3 9) (gen-ac-hexachord 'e) => ((0 9 8 1 5 4) (3 6 7 2 10 11)) (gen-ac-hexachord 'f :seed 456) => ((9 1 7 5 11 3) (4 0 6 8 2 10)) ________________________________ The function AC-HEXACHORD-COMPLEMENT-FORM-SET returns all form sets with all combinations of the complement hexachord (H2) set. Example: (setf ac-hex '((0 4 5 11 6 10) (7 3 1 2 9 8))) (ac-hexachord-complement-form-set ac-hex) => ((9 1 2 8 3 7) (3 7 8 2 9 1) (8 7 2 3 1 9) (2 1 8 9 7 3) (7 3 2 8 1 9) (1 9 8 2 7 3) (8 9 2 1 3 7) (2 3 8 7 9 1)) Here we reverse the hexachords order: (ac-hexachord-complement-form-set (reverse ac-hex)) => ((10 6 4 5 0 11) (4 0 10 11 6 5) (0 4 11 5 6 10) (6 10 5 11 0 4) (0 4 6 5 10 11) (6 10 0 11 4 5) (10 6 11 5 4 0) (4 0 5 11 10 6)) In the next example we generate the all-combinatorial hexachords with GEN-AC-HEXACHORD function: (setf hexachords (gen-ac-hexachord 'd :seed 965) => ((11 5 3 10 9 4) (6 0 2 7 8 1)) (ac-hexachord-complement-form-set hexachords) => ((8 2 0 7 6 1) (2 8 6 1 0 7) (1 6 7 0 2 8) (7 0 1 6 8 2) (6 0 2 7 8 1) (0 6 8 1 2 7) (1 8 7 2 0 6) (7 2 1 8 6 0)) To get the form set names we set the keyword :form-names to T: (ac-hexachord-complement-form-set (gen-ac-hexachord 'c :seed 965) :form-names t) => (p6 ri3 i9 r0) (rnd-octaves '(c2 c6) (rnd-order (get-form-set (gen-ac-hexachord 'c :seed 965) '(p6 ri3 i9 r0) :segment '(3 3) :type :pitch))) => ((gs3 c5 f5) (eb4 bb2 cs5) (d4 b4 g2) (e3 fs2 a2) (cs3 eb5 bb4) (f4 c4 gs2) (e5 fs3 a4) (g2 d3 b3) (f2 cs5 gs4) (eb5 bb3 c3) (d4 b4 fs3) (e5 a3 g5) (bb2 c4 eb5) (f3 cs4 gs4) (a3 e4 g2) (b2 d4 fs4)) ________________________________ This function collect complement pitch classes of a given hexachord. The combination of the hexachord and of the result will constitute the makeup of an aggregate (twelve-tone row). Example: (hexachord-complement '(0 1 2 6 7 8)) => (5 4 3 11 10 9) (hexachord-complement '(0 1 2 6 7 8) :pitch) => (f4 e4 eb4 b4 bb4 a4) ________________________________ Small changes to the documentation structure.Function name changes: 12tone-analysis -> twelve-tone-analysis 12tonep -> twelve-tonep 12tone-forms -> twelve-tone-matrix get-12tone -> twelve-tone-filter rnd-12tone-form -> rnd-form-set get-12tone-form -> get-form-set Transpose added to PCS-INVERT function: (pcs-invert (pcs '9-7) 0) => (0 11 10 9 8 7 5 4 2) (pcs-invert '((6 7 9 11 0 2 3) (1 3 6 9 0 11 4 7)) 0) => ((6 5 3 1 0 10 9) (11 9 6 3 0 1 8 5)) (pcs-invert '((6 7 9 11 0 2 3) (1 3 6 9 0 11 4 7)) 5) => ((11 10 8 6 5 3 2) (4 2 11 8 5 6 1 10)) (pcs-invert '((6 7 9 11 0 2 3) (1 3 6 9 0 11 4 7)) '(5 8)) => ((11 10 8 6 5 3 2) (7 5 2 11 8 9 4 1)) LENGTH-TEMPO-MAP function name changed to LENGTH-TO-TEMPO Fix to TIME-POINT-SYSTEM That's all for now, best wishes, JP Submitter opmo Submitted 05/10/2018 Category Opusmodus Latest Release
×

• Lessons