Example: all-interval series, series represented by a score (a sequence of notes). declare fun {AllDistanceSeries1 N} proc {$ MyScore} N1 = N-1 Pitches Intervals in MyScore = {Score.makeScore seq(items: {LUtils.collectN N fun {$} note(duration: 4 pitch: {FD.int 60#60+N1} amplitude: 80) end} startTime: 0 timeUnit:beats(4)) unit} explicit param units (for output): all timing param units are unified with each other. Pitches = {MyScore map($ getPitch test:isNote)} Intervals = {FD.list N1 1#N1} for Pitch1 in {List.take Pitches N1} butlast of Pitches Pitch2 in Pitches.2 tail of Pitches Interval in Intervals do {FD.distance Pitch1 Pitch2 '=:' Interval} end {FD.distinctD Pitches} no pitch class repetition {FD.distinctD Intervals} no (abs) interval repetition Specify search strategy {FD.distribute ff Pitches} end end after evaluating {Init.addExplorerOuts} (e.g. in '#/.ozrc'), the Oz explorer supports score output into a few formats by simply clicking on solution notes. Select the desired output format in the explorer menu Nodes:Information Action. {Explorer.one {AllDistanceSeries1 4}} {Explorer.all {AllDistanceSeries1 8}} {Explorer.one {AllDistanceSeries1 12}}