Jump to content

Gen-Ambitus-Series Question


Recommended Posts

After a short break, I'm slowly coming back to Opusmodus, mainly by working through functions examples. Looking at the gen-ambitus-series

function example below, would someone be willing to explain why the ambitus function is not producing all diatonic pitches included in list_? I understand that I may want to use harmonic-path or similar instead, but I just wanted to ask for the learning experience. I feel like I might be missing something so I welcome the feedback!

 

(setf range_ (gen-ambitus-series '(-10 30)
             (vector-smooth 0.2 (gen-white-noise 6 :seed 23))
             (vector-smooth 0.2 (gen-white-noise 8 :seed 24))))


(integer-to-pitch range_)


(setf list_ '((c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
             (c4 d4 e4 f4 g4 a4 b4 c5)
           ))


(ambitus range_ list_)

Perhaps a different example may illustrate my question better. Below we have a series of transformation of the given harmonic sequence. The pitches (pitch classes) of the harmonic sequence are retained with each individual ambitus transformation, but not when gen-ambitus-series is used (see below). Thanks!
 

(setf omn
      '((h e4f5 p c5a4) (h b3d3 gs4eb2fs3) (h bb2g5cs5 gs4d4eb2)
        (w bb2 mp) (h g3f4cs5 p c5) (h fs5a5b3 e4b3) (h bb2)
        (w e2eb4) (h c5cs6 a5) (h f4g3 gs4d3) (h fs5 bb2fs5g3)
        (h d3e5eb4 gs4) (h a2c6 f2) (h b0 cs6c5) (h gs4d3)))

(ambitus '(-6 12) omn)


(setf range
      (gen-ambitus-series
       '(-30 42)
       (vector-smooth 0.2 (gen-white-noise 15 :seed 23))
       (vector-smooth 0.2 (gen-white-noise 15 :seed 24))))

(ambitus range omn)

 

 

Link to post
Share on other sites

Many thanks for the reply.  The issue in question is applicable to both examples. However, looking at the second example only (copied below) that features a transformation of the given harmonic sequence (omn),  the pitches (pitch classes) of the harmonic sequence are retained when ambitus function is applied, but not when gen-ambitus-series is used. I wanted to ask why is that the case, namely why the original pitches are not preserved when gen-ambitus-series is used.

 

Thank you!

 

(setf omn '((h e4f5 p c5a4) (h b3d3 gs4eb2fs3) (h bb2g5cs5 gs4d4eb2) (w bb2 mp) (h g3f4cs5 p c5) (h fs5a5b3 e4b3) (h bb2) (w e2eb4) (h c5cs6 a5) (h f4g3 gs4d3) (h fs5 bb2fs5g3) (h d3e5eb4 gs4) (h a2c6 f2) (h b0 cs6c5) (h gs4d3))) (ambitus '(-6 12) omn) (setf range (gen-ambitus-series '(-30 42) (vector-smooth 0.2 (gen-white-noise 15 :seed 23)) (vector-smooth 0.2 (gen-white-noise 15 :seed 24)))) (ambitus range omn)

(setf omn
      '((h e4f5 p c5a4) (h b3d3 gs4eb2fs3) (h bb2g5cs5 gs4d4eb2)
        (w bb2 mp) (h g3f4cs5 p c5) (h fs5a5b3 e4b3) (h bb2)
        (w e2eb4) (h c5cs6 a5) (h f4g3 gs4d3) (h fs5 bb2fs5g3)
        (h d3e5eb4 gs4) (h a2c6 f2) (h b0 cs6c5) (h gs4d3)))

(ambitus '(-6 12) omn)


(setf range
      (gen-ambitus-series
       '(-30 42)
       (vector-smooth 0.2 (gen-white-noise 15 :seed 23))
       (vector-smooth 0.2 (gen-white-noise 15 :seed 24))))

(ambitus range omn)

 

 I attached music notation examples in support of my question. The "original" refers to the given omn list, "ambitus" preserves all pitch classes from the original, and "gen-am original.pdfbitus-series" example modifies some of the pitch classes. Thank you once again!

 

ambitus.pdf gen-ambitus-ser.pdf

Link to post
Share on other sites
(ambitus '(16 26) '(d3e5eb4 gs4))
=> (h d6e5a5 gs5)
(ambitus '(16 26) '(eb4))
=> (a5)

(pitch-to-integer '(eb4))
=> (3)

(pitch-to-integer (pitch-transpose 12 '(eb4)))
=> (15)

(pitch-to-integer (pitch-transpose 24 '(eb4)))
=> (27)

 

There is no Eb the range between 16 and 26

(integer-to-pitch (gen-integer 16 26))
=> (e5 f5 fs5 g5 gs5 a5 bb5 b5 c6 cs6 d6)
(integer-to-pitch (rational-ambitus 16 26 3))
=> a5

 

If the range interval is smaller the 12 and the pitch is not part of the range then rational-ambitus function is applied.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Topics

    • By PatrickMimran
      Hello 
       
      I would like to know what the more efficient way , when creating a lot of  custom function to be included in the Extension folder:
       
      to group all the function in the same file
       
      or to distribute them over several files .  Or one function by file or it doesn't matter 
       
      Thank you   Patrick
    • By NagyMusic
      I understand that the first argument value in the ambitus-chord function represents the outer-interval size measured by an integer or a list of integers. What does the second value in the size argument list affect when processing two [or more] chords, as illustrated in the example below? Is the second value affecting the second chord in the first list or both chords in the second list? Thank you!
       
      (ambitus-chord '(14 6) '((eb4c6 c4fs4 b4) (c4b4 b3eb5b3)))  
    • By hujairi
      Hello,
       
      I am trying to find different ways of importing partials/frames data into Opusmodus. I am currently trying to use spectral analysis to analyzes certain music/audio phenomena I haven't really seen analyzed before to adapt into my own composition process. The sounds are generally archival or things I have synthesized on the computer through software myself (in .wav format), and are usually between 1 - 5 seconds in length. Is this a good length of time to analyze the spectral data of sounds? 
       
      I just wanted to understand the following information about spectral tools within Opusmodus. I really would appreciate it if anyone could help me out.
       
      1. Is it only Spear that we can use for spectral analysis? Is something like Audiosculpt also useable?
       
      2. Looking at Spear, when we explore the data, which of the following export formats do we use: 1. Text - Resampled Frames, 2. Text - Partials, 3. SDIF 1 TRC - Resampled Frames, 4. SDIF 1 TRC - Exact Interpolated, or 5. SDIF RBEP?
       
      3. Once I have the data in the correct format, I think I want to create a library of the datasets I important so that I can reinterpret them in the future. If I want to use the "get-tuning" function, for example, and then mapping it across certain instruments within my planned orchestration. What would be an effective way of doing this?
       
      One of my main challenges is finding a way to keep all my data organized every time I want to use Opusmodus for a new project. I still find myself using Opusmodus in little blocks as I compose, and I hope to eventually get to the point in which I can compose entire pieces using only Opusmodus. 
       
      I really appreciate your help.
×
×
  • Create New...