示例#1
0
文件: analyzer.py 项目: weishi/praat
    def RunAnalysis(self, df, group_name, output_dir):
        rows_sb = []
        rows_mb = []
        for _, row in df.iterrows():
            if filter.IsShanghainese().IsMatched(row) and filter.IsPosition('b').IsMatched(row):
                rows_sb.append(row)
                continue
            if filter.IsMandarin().IsMatched(row) and filter.IsPosition('b').IsMatched(row):
                rows_mb.append(row)
                continue

        df_sb = pd.DataFrame(rows_sb)
        df_sb = ComputeF1F2Diff(df_sb)
        df_sb_avg = pd.DataFrame(
            df_sb.loc[:, df_sb.columns.str.startswith("diff")].mean()).T
        df_sb.to_csv(output_dir / (group_name +
                                   '@@@Sb.debug.csv'), index=False)
        df_sb_avg.to_csv(output_dir / (group_name +
                                       '@@@SbMean.debug.csv'), index=False)

        df_mb = pd.DataFrame(rows_mb)
        df_mb = ComputeF1F2Diff(df_mb)
        df_mb_avg = pd.DataFrame(
            df_mb.loc[:, df_mb.columns.str.startswith("diff")].mean()).T
        df_mb.to_csv(output_dir / (group_name +
                                   '@@@Mb.debug.csv'), index=False)
        df_mb_avg.to_csv(output_dir / (group_name +
                                       '@@@MbMean.debug.csv'), index=False)

        x = ['Sb', 'Mb']
        y = [df_sb_avg['diff_' + self.formant + '_7525'][0],
             df_mb_avg['diff_'+self.formant+'_7525'][0]]
        plt.bar(x, y, width=kBarWidth)

        plt.title(group_name)
        plt.savefig(output_dir / (group_name + '.png'), bbox_inches="tight")
        plt.clf()
        plt.cla()
示例#2
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__('F2', 'Mb', [filter.IsMandarin(), filter.IsPosition('b')],
                      GetGender)
示例#3
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__('F2', 'Sb', [filter.IsShanghainese(), filter.IsPosition('b')],
                      GetGender)
示例#4
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__('F2', 'Sa', [filter.IsShanghainese(), filter.IsPosition('a')],
                      GetAge)
示例#5
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__('Mb', [filter.IsMandarin(), filter.IsPosition('b')], GetAge)
示例#6
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__({
         'Sa': [filter.IsShanghainese(), filter.IsPosition('a')],
         'Sb': [filter.IsShanghainese(), filter.IsPosition('b')],
     })
示例#7
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__({
         'Sb': [filter.IsShanghainese(), filter.IsPosition('b')],
         'Mb': [filter.IsMandarin(), filter.IsPosition('b')]
     })
示例#8
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__({'Mb': [filter.IsMandarin(), filter.IsPosition('b')]})
示例#9
0
文件: analyzer.py 项目: weishi/praat
 def __init__(self):
     super().__init__([filter.IsShanghainese(), filter.IsPosition('b')])