if float(sys.version[:3]) >= 2.2: p = clar.first() for pos in p: f = f + pos.frequency() n = n + 1 else: p = clar.iterator().next() it = p.iterator() while not it.atEnd(): f = f + it.next().frequency() n = n + 1 print "avg frequency of first distilled clarinet partial is", f/n print 'shifting pitch of clarinet' loris.shiftPitch( clar, loris.BreakpointEnvelope( -600 ) ) # check clarinet synthesis: loris.exportAiff( 'clarOK.pytest.aiff', loris.synthesize( clar, samplerate ), samplerate, 16 ) # # analyze flute tone (reuse Analyzer) # print 'analyzing flute 4D (%s)' % time.ctime(time.time()) a = loris.Analyzer( 270 ) # reconfigure Analyzer a.setFreqDrift( 30 ) v = loris.AiffFile( os.path.join(path, 'flute.aiff') ).samples() flut = a.analyze( v, samplerate ) loris.channelize( flut, loris.createFreqReference( flut, 291*.8, 291*1.2, 50 ), 1 ) loris.distill( flut )
# # analyze clarinet tone # print 'analyzing clarinet 3G# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.8*415, 1.0*415) cf = loris.AiffFile( os.path.join(srcdir, 'clarinet.source.aiff') ) v = cf.samples() samplerate = cf.sampleRate() clar = a.analyze( v, samplerate ) print 'using estimated fundamental as reference' env = a.fundamentalEnv() loris.channelize( clar, env, 1 ) loris.distill( clar ) print 'shifting clarinet pitch down by six half steps' loris.shiftPitch( clar, loris.LinearEnvelope( -600 ) ) print 'doubling amplitude' loris.scaleAmp( clar, loris.LinearEnvelope( 2 ) ) # # analyze cello tone # print 'analyzing cello 2D# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.7*135, 1.8*135) celf = loris.AiffFile( os.path.join(srcdir, 'cello.source.aiff') ) v = celf.samples() samplerate = celf.sampleRate() cel = a.analyze( v, samplerate ) print 'estimate fundamental from partials as reference' est = loris.FundamentalFromPartials() tspan = loris.timeSpan( cel )
if float(sys.version[:3]) >= 2.2: p = clar.first() for pos in p: f = f + pos.frequency() n = n + 1 else: p = clar.iterator().next() it = p.iterator() while not it.atEnd(): f = f + it.next().frequency() n = n + 1 print "avg frequency of first distilled clarinet partial is", f / n print 'shifting pitch of clarinet' loris.shiftPitch(clar, loris.LinearEnvelope(-600)) # check clarinet synthesis: loris.exportAiff('clarOK.pytest.aiff', loris.synthesize(clar, samplerate), samplerate, 16) # # analyze flute tone # print 'analyzing flute 4D (%s)' % time.ctime(time.time()) a = loris.Analyzer(270) # reconfigure Analyzer a.setFreqDrift(30) v = loris.AiffFile(os.path.join(path, 'flute.aiff')).samples() flut = a.analyze(v, samplerate) # loris.channelize( flut, loris.createFreqReference( flut, 291*.8, 291*1.2, 50 ), 1 )
if float(sys.version[:3]) >= 2.2: p = clar.first() for pos in p: f = f + pos.frequency() n = n + 1 else: p = clar.iterator().next() it = p.iterator() while not it.atEnd(): f = f + it.next().frequency() n = n + 1 print "avg frequency of first distilled clarinet partial is", f/n print 'shifting pitch of clarinet' loris.shiftPitch( clar, loris.LinearEnvelope( -600 ) ) # check clarinet synthesis: loris.exportAiff( 'clarOK.pytest.aiff', loris.synthesize( clar, samplerate ), samplerate, 16 ) # # analyze flute tone # print 'analyzing flute 4D (%s)' % time.ctime(time.time()) a = loris.Analyzer( 270 ) # reconfigure Analyzer a.setFreqDrift( 30 ) v = loris.AiffFile( os.path.join(path, 'flute.aiff') ).samples() flut = a.analyze( v, samplerate ) # loris.channelize( flut, loris.createFreqReference( flut, 291*.8, 291*1.2, 50 ), 1 ) refenv = a.fundamentalEnv()
# # analyze clarinet tone # print 'analyzing clarinet 3G# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.8 * 415, 1.0 * 415) cf = loris.AiffFile(os.path.join(srcdir, 'clarinet.source.aiff')) v = cf.samples() samplerate = cf.sampleRate() clar = a.analyze(v, samplerate) print 'using estimated fundamental as reference' env = a.fundamentalEnv() loris.channelize(clar, env, 1) loris.distill(clar) print 'shifting clarinet pitch down by six half steps' loris.shiftPitch(clar, loris.LinearEnvelope(-600)) print 'doubling amplitude' loris.scaleAmp(clar, loris.LinearEnvelope(2)) # # analyze cello tone # print 'analyzing cello 2D# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.7 * 135, 1.8 * 135) celf = loris.AiffFile(os.path.join(srcdir, 'cello.source.aiff')) v = celf.samples() samplerate = celf.sampleRate() cel = a.analyze(v, samplerate) print 'estimate fundamental from partials as reference' est = loris.FundamentalFromPartials() tspan = loris.timeSpan(cel)
# # analyze clarinet tone # print 'analyzing clarinet 3G# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.8*415, 1.0*415) cf = loris.AiffFile( os.path.join(srcdir, 'clarinet.source.aiff') ) v = cf.samples() samplerate = cf.sampleRate() clar = a.analyze( v, samplerate ) print 'using fundamental as reference' env = loris.createFreqReference( clar, 350, 500, 20 ) loris.channelize( clar, env, 1 ) loris.distill( clar ) print 'shifting clarinet pitch down by six half steps' loris.shiftPitch( clar, loris.BreakpointEnvelopeWithValue( -600 ) ) print 'doubling amplitude' loris.scaleAmp( clar, loris.BreakpointEnvelopeWithValue( 2 ) ) # # analyze cello tone # print 'analyzing cello 2D# (%s)' % time.ctime(time.time()) a = loris.Analyzer(.7*135, 1.8*135) celf = loris.AiffFile( os.path.join(srcdir, 'cello.source.aiff') ) v = celf.samples() samplerate = celf.sampleRate() cel = a.analyze( v, samplerate ) print 'using third harmonic as reference' third = loris.createFreqReference( cel, 400, 500, 20 ) loris.channelize( cel, third, 3 )