a.setAmpFloor( -80 ) cf = loris.AiffFile( os.path.join(path, 'clarinet.aiff') ) v = cf.samples() samplerate = cf.sampleRate() clar = a.analyze( v, samplerate ) print 'checking SDIF export/import' loris.exportSdif( 'clarinet.pytest.sdif', clar ) clar = loris.importSdif( 'clarinet.pytest.sdif' ) try: print 'making a bogus attempt at writing an Spc file' print 'WARNING: this will fail because the Partials are unchannelized' loris.exportSpc( 'bad_spc_file.pytest.spc', clar, 90 ) except: import sys print 'caught:', sys.exc_type, sys.exc_value loris.channelize( clar, loris.createFreqReference( clar, 415*.8, 415*1.2 ), 1 ) loris.distill( clar ) # just for fun, print out the average # frequency of the first partial in the # clarinet analysis: f = 0 n = 0 import sys if float(sys.version[:3]) >= 2.2: p = clar.first()
print 'morphing flute and cello again (%s)' % time.ctime(time.time()) print 'shifting flute pitch up by one half step' loris.shiftPitch( flut, loris.LinearEnvelope( 100 ) ) # double all labels: for p in flut: p.setLabel( p.label() * 2 ) print 'exporting Spc files for pre-morphed flute and cello sounds.' print '(Spc files can be used to drive oscillator banks in Kyma)' print 'exporting Spc file flute.premorph.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('flute.premorph.spc', flut, 62, 0) print 'exporting Spc file cello.premorph.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('cello.premorph.spc', cel, 50, 0) m = loris.morph( cel, flut, mf, mf, mf ) fout = loris.AiffFile( m, samplerate ) fout.write( 'cellute2.aiff' ) print 'exporting Spc file for second flute and cello morph.' print 'exporting Spc file cellute2.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('cellute2.spc', m, 50, 0) m = loris.morph( flut, cel, mf, mf, mf ) fout = loris.AiffFile( m, samplerate ) fout.write( 'flutello2.aiff' )
fout = loris.AiffFile(m, samplerate) fout.write('flutello.aiff') print 'morphing flute and cello again (%s)' % time.ctime(time.time()) print 'shifting flute pitch up by one half step' loris.shiftPitch(flut, loris.LinearEnvelope(100)) # double all labels: for p in flut: p.setLabel(p.label() * 2) print 'exporting Spc files for pre-morphed flute and cello sounds.' print '(Spc files can be used to drive oscillator banks in Kyma)' print 'exporting Spc file flute.premorph.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('flute.premorph.spc', flut, 62, 0) print 'exporting Spc file cello.premorph.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('cello.premorph.spc', cel, 50, 0) m = loris.morph(cel, flut, mf, mf, mf) fout = loris.AiffFile(m, samplerate) fout.write('cellute2.aiff') print 'exporting Spc file for second flute and cello morph.' print 'exporting Spc file cellute2.spc', '(%s)' % time.ctime(time.time()) loris.exportSpc('cellute2.spc', m, 50, 0) m = loris.morph(flut, cel, mf, mf, mf) fout = loris.AiffFile(m, samplerate) fout.write('flutello2.aiff')
a.setAmpFloor(-80) cf = loris.AiffFile(os.path.join(path, 'clarinet.aiff')) v = cf.samples() samplerate = cf.sampleRate() clar = a.analyze(v, samplerate) print 'checking SDIF export/import' loris.exportSdif('clarinet.pytest.sdif', clar) clar = loris.importSdif('clarinet.pytest.sdif') try: print 'making a bogus attempt at writing an Spc file --' print 'this will fail because the Partials are unchannelized' loris.exportSpc('bad_spc_file.pytest.spc', clar, 90) except: import sys print 'caught:', sys.exc_type print 'error is:', sys.exc_value print 'OK, moving on!' loris.channelize(clar, 415) loris.distill(clar) # just for fun, print out the average # frequency of the first partial in the # clarinet analysis: f = 0 n = 0 import sys
samplerate=file.sampleRate() parts = a.analyze( v, samplerate ) # loris.channelize( flut, loris.createFreqReference( flut, 291*.8, 291*1.2, 50 ), 1 ) refenv = a.fundamentalEnv() loris.channelize( parts, refenv, 1 ) loris.distill( parts ) for part in parts: print "*****************************************" it=part.iterator() while not it.atEnd(): bp=it.next() print "t:",bp.time(), " a:",bp.amplitude()," bw:",bp.bandwidth()," f:",bp.frequency()," p:",bp.phase() loris.exportSpc(name+".spc",parts,60) print "Done" #path = os.getcwd() #file = os.path.join(path, 'clarinet.aiff') #clar,size,samplerate=analysis(file,390,30,-80,415) #fund=390 #clar = loris.importSdif( 'clarinet.pytest.sdif' )