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()
def __init__(self): super().__init__('F2', 'Mb', [filter.IsMandarin(), filter.IsPosition('b')], GetGender)
def __init__(self): super().__init__('Mb', [filter.IsMandarin(), filter.IsPosition('b')], GetAge)
def __init__(self): super().__init__({ 'Sb': [filter.IsShanghainese(), filter.IsPosition('b')], 'Mb': [filter.IsMandarin(), filter.IsPosition('b')] })
def __init__(self): super().__init__({'Mb': [filter.IsMandarin(), filter.IsPosition('b')]})
import filter as ft import analyzer as az GROUP_A = ([ [ft.IsShanghainese(), ft.IsMandarin()], [ft.IsMale(), ft.IsFemale()], [ft.IsChild(), ft.IsYouth(), ft.IsAdult(), ft.IsSenior()], [ft.IsVariant('a1'), ft.IsVariant('a2')], ], [ az.FormantQuantiles(), az.FormantRegression(), ]) GROUP_C = ( [ [ft.IsShanghainese(), ft.IsMandarin()], [ft.IsMale(), ft.IsFemale()], [ft.IsChild(), ft.IsYouth(), ft.IsAdult(), ft.IsSenior()], [ ft.IsVariant('c1'), ft.IsVariant('c2'), ft.IsVariant('c2vs'), ft.IsVariant('c2h'), ft.IsVariant('c4') ], [ ft.IsWordNum([1, 2]), ft.IsWordNum([3, 5, 6]), ft.IsWordNum([7, 8, 9]),