eboats Posted June 26 Posted June 26 Hello, I have a generated seq of pitches and would like to remove repeated pitches and also prevent a seq like b5 f5 b5 ( where the pitch following f5 returns to the pitch before f5 in this case ). I'm not sure if filter-repeat is what I need or some other function? If I do (filter-repeat 1 '(b5 b5 f5 b5 f5 a5 gs5 a5 fs5 bb5)) , the result is (b5 f5 b5 f5 a5 gs5 a5 fs5 bb5) but what I want is (b5 f5 a5 gs5 fs5 bb5) There is a :seq arg but haven't had luck with that ( and don't understand what it does). Quote
Stephane Boussuge Posted June 26 Posted June 26 (filter-repeat 1 (filter-repeat 1 '(b5 b5 f5 b5 f5 a5 gs5 a5 fs5 bb5)) :seq 2) =>(b5 f5 a5 gs5 a5 fs5 bb5) opmo 1 Quote
eboats Posted June 26 Author Posted June 26 Thank you Stephane. But in that result, I see a5 gs5 a5 which is still a pitch ( a5 ) returning to the prior pitch. What I'd like is (b5 f5 a5 gs5 fs5 bb5). It would be ok if a5 appeared again later in the seq, but I don't want it appearing so soon after the prior a5 if that makes sense. Quote
eboats Posted June 26 Author Posted June 26 More generally what I'm after is the technique where a pitch doesn't repeat until after x number of notes have passed in a seq. Is there a function like this? Quote
opmo Posted July 8 Posted July 8 With the update (3.0.29349) you will be able to do that: (filter-repeat 5 '(1 2 2 3 1 4 5 2 1 6 4 3 4 2 2 3 1 1 3) :position t) => (1 2 3 4 5 2 1 6 4 3 2 1) (filter-repeat 5 '(b5 b5 f5 b5 f5 a5 gs5 a5 fs5 bb5) :position t) => (b5 f5 a5 gs5 fs5 bb5) Please check the updated document. jesele and Stephane Boussuge 2 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.