source: python/aubio/bench/node.py @ 61680aa

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 61680aa was 2bd1a2a, checked in by Paul Brossier <piem@altern.org>, 19 years ago

add list_snd_files and downsample audio, temporary fix for filename check in plot functions
add list_snd_files and downsample audio, temporary fix for filename check in plot functions

  • Property mode set to 100644
File size: 2.4 KB
Line 
1from config import *
2import commands,sys
3import re
4
5def runcommand(cmd,debug=0):
6        if VERBOSE >= VERBOSE_CMD or debug: print cmd
7        if debug: return 
8        status, output = commands.getstatusoutput(cmd)
9        if status == 0 or VERBOSE >= VERBOSE_OUT:
10                output = output.split('\n')
11        if VERBOSE >= VERBOSE_OUT: 
12                for i in output: 
13                        if i: print i
14        if not status == 0: 
15                print 'error:',status,output
16                print 'command returning error was',cmd
17                #sys.exit(1)
18        return output
19
20def list_files(datapath,filter='f'):
21        cmd = '%s%s%s%s' % ('find ',datapath,' -type ',filter)
22        return runcommand(cmd)
23
24def list_wav_files(datapath,maxdepth=1):
25        return list_files(datapath, filter="f -name '*.wav' -maxdepth %d"%maxdepth)
26
27def list_snd_files(datapath,maxdepth=1):
28        return list_files(datapath, filter="f -name '*.wav' -o -name '*.aif' -maxdepth %d"%maxdepth)
29
30def list_dirs(datapath):
31        return list_files(datapath, filter="d")
32
33def mkdir(path):
34        cmd = '%s%s' % ('mkdir -p ',path)
35        return runcommand(cmd)
36
37def act_on_data (action,datapath,respath,suffix='.txt',filter='f',sub='\.wav$',**keywords):
38        """ execute action(datafile,resfile) on all files in datapath """
39        dirlist = list_files(datapath,filter=filter)
40        if dirlist == ['']: dirlist = []
41        respath_in_datapath = re.split(datapath, respath,maxsplit=1)[1:]
42        if(respath_in_datapath and suffix == ''): 
43                print 'error: respath in datapath and no suffix used'
44                #sys.exit(1)
45        for i in dirlist:
46                j = re.split(datapath, i,maxsplit=1)[1]
47                j = re.sub(sub,'',j)
48                #j = "%s%s%s"%(respath,j,suffix)
49                j = "%s%s"%(respath,j)
50                if sub != '':
51                        j = re.sub(sub,suffix,j)
52                else:
53                        j = "%s%s" % (j,suffix)
54                action(i,j,**keywords)
55
56def act_on_results (action,datapath,respath,filter='d'):
57        """ execute action(respath) an all subdirectories in respath """
58        dirlist = list_files(datapath,filter='d')
59        respath_in_datapath = re.split(datapath, respath,maxsplit=1)[1:]
60        if(respath_in_datapath and not filter == 'd' and suffix == ''): 
61                print 'warning: respath is in datapath'
62        for i in dirlist:
63                s = re.split(datapath, i ,maxsplit=1)[1]
64                action("%s%s%s"%(respath,'/',s))
Note: See TracBrowser for help on using the repository browser.