praat中文说明.docx

上传人:b****6 文档编号:6888325 上传时间:2023-01-12 格式:DOCX 页数:46 大小:1.70MB
下载 相关 举报
praat中文说明.docx_第1页
第1页 / 共46页
praat中文说明.docx_第2页
第2页 / 共46页
praat中文说明.docx_第3页
第3页 / 共46页
praat中文说明.docx_第4页
第4页 / 共46页
praat中文说明.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

praat中文说明.docx

《praat中文说明.docx》由会员分享,可在线阅读,更多相关《praat中文说明.docx(46页珍藏版)》请在冰豆网上搜索。

praat中文说明.docx

praat中文说明

中文說明--PRAAT软件的使用方法

Praat-1401使用說明

(2004/01/020)

一.    錄音、存語音信號文件(New)

(1)    錄音:

主功能表(Objects)上選擇“New”;----“Recordsound”

此時選擇“Sample-rate”,擊Record開始發音,然後擊stop去停止錄音;選擇Play聽已錄語音,不滿意,重錄;

   選擇LefttoList,在主功能表的空白處就出現一個文件SoundLeft,你可選擇Rename去修改語音檔案名,但Sound是文件格式標記,不能改;

  注意:

當你不能利用New來錄音時,可選用你Windows中的“錄音機”功能來錄音並保存爲WAV格式:

開始——程式——附件——娛樂——錄音機;

錄音機文件——屬性:

11K16位單聲道OK!

按紅色鈕開始錄音,按黑色鈕停止錄音;

文件——保存(指定路徑和檔案名)

(2)在Praat中保存語音文件:

左框主功能表中(Objects),選擇write中任意中格式,但通用格式爲WAV;指定路徑和檔案名。

二.語音標注(Label&segment-analysis)

(1)    用左框主功能表中的read來調出信號文件;

(2)    左框主功能表中右手邊功能表,選擇Edit,就會出現一個图形窗

(1),上部爲波形,下部爲语图,在此窗中的主功能表View,可加選pitch,formant,energy;

(3)    图形窗(1)中的Edit,可以編輯選擇部分信號並存文件;

(4)    左框主功能表中右手邊功能表,選擇Label&segment-analyse,

(5)    出現一個需要選擇的文字框,選擇toTextGrid,填入tiername,pointtier;就會産生一個TextGrid的新文件,擊右手邊的Edit,就會出現一個文本框,然後與波形窗對齊,在文本框内,用滑鼠選擇音節段,或聲母,韻母就可用音標符號標注。

(6)    標注完成後,在此框中的主功能表file—writetextgridtotextfile,選擇你存入的地址和名字,就完成了。

此textfile可以在Praat環境中,using“edit”todisplayplotter出來,andopenthisfileonMicrosoftWordtodisplaydigitaltext.

三.音高(Pitch)分析(包括三維语图和共振峰歷程分析):

(1)    調出已保存語音文件:

Read---Readfromfile(Soundxxx),使用edit去畫出三維语图(showspectrogram)和音高曲線(showpitch),記錄下要取消的部分(在後面的excel中)的起點和終點時間;

(2)    第一種比較複雜然而比較多用途的方法如下:

    修正基音標記:

先用praat標記周期(periodicity---topointprocess),此時出現一個PointProcess文件[1],使用Edit,出現一個基音周期調整框。

若需要的話,可人工檢查修正這些標記,方法是:

用滑鼠去框住不要(亂的)部分,在子功能表上選擇Point---Removepoint;

    完成以後用praat把周期文件轉化成音高文件(topitchtier)(,此時在object列表框空白處出現一個PitchTier的文件。

這個文件可使用Edit命令畫出一個音高(Pitch)隨時間變化的图形,F0(t)。

也能用滑鼠去圈定一段不要的基頻,Point—remove就能取消這些點;可滑動滑鼠去讀出每個样点上的音高數值;

   然後返回到功能表(object)去保存一個文字檔案:

Write---toheadlessspreadsheetfile。

音高文件本身是一個文字檔案(F0資料),可以用Excel打開這個文件,首先按照先前記錄下的待取消部分的時間,將其時間和數據”清除”,這樣就能使音節之間有效的音高曲綫得到分離;然後把基頻(F0)數據全部換算成半音或五度制。

最後用Excel作成图表;辦法是:

    [1]五度制转换:

激活C1(EXCEL表中第C列,第一行,這是假定在B列中存放了F0数据,計算結果將放在C列的第一行),調出函數log10,在下面空白處打入B1/f1,f1可設為當前F0的最低值;按一下enter,將鼠標放到公式結尾處,打入*16.61,按一下鍵盤上的enter鍵,在C1格内就出現五度值;

      *B1是存放音高數據的列的第一行數據

[2]copyC1,再激活全部C列,點paste,C列就全部置換成五度值了。

[3]激活C列,點“制图”,選“折线”,“下一步”,到“4步驟3”,點“數據表”,再選中“顯示數據表”,點一下“完成”。

  主表object中選擇Downtotableofreal,主表中出現一個同名的文件,然後,Draw,在副表中會顯示全部音高值(爲此,先在副表中用鼠標畫出一個窗,以便容納全部音高數據),使用copytoclipboard,將數據貼到word文當中去.

 

(3)另一種是分析音高的簡單方法:

    在調出語音文件後,Praat使用Edit畫出既有語音波形,又有三維语图、音高曲線、共振峰和音強等,這些語音聲學特性是否需要顯示在图上,可有自己選擇:

啟動Show,就可選中或關閉某項聲學特性。

    爲了突出語音部分,可以先整理波形,剪切掉無用部分;

    只显示語圖和音高曲線(showspectrogram;showpitch);

    選擇语图中音高曲線與母音重叠部分,用滑鼠測量曲線的起始點音高值、拐點(如有必要的話)和終點;

    將每個音節的音高值填入EXCEL表,每個音節兩個或三個F0,從上而下排列,音節之間空一格;(建議測量三點)

    如需要的話,在EXCEL表上將F0轉換成半音或五度值;然後就可以作图。

辦法如下:

[1]五度制轉換:

激活C1(EXCEL表中第C列,第一行)(假定將計算結果放入C1),調出函數log10(插入—函數—三角函數—log10),在下面空白處打入B1/f1,f1可設為當前F0的最低值(或任意值);按一下enter,將鼠標放到公式結尾處,打入*16.61,按一下鍵盤上的enter鍵,在C1格内就出現五度值;

  *B1是存放音高數據的列的第一行

[2]copyC1,激活全部C列,點paste,C列就全部置換成五度值了。

[3]激活C列,點“製圖”,選“折線”,“下一步”,到“4步驟3”,點“數據表”,再選中“顯示數據表”,點一下“完成”。

請你分析声调:

  專  麻  古  五  對  大  第  百 白 

四.语图分析和元音共振峰數據提取:

1.在主表(objective)中讀出(read)一個聲音文件(soundfile);並聽語音回放play;

2.在主表中選擇formant,副表設置一View,主表選擇Draw—Speckle;

3.在主表中選擇”Downtoformanttier”;nextto“DowntoTableofreal”.

此時主表中顯示一”Tableofreal……(filename)”,接著在副表中設一View;

4.在主表中選擇Draw---Drawasnumber---free,此時在View中列出全部有效的共振峰數據;

5.可以在Excel中打開Tableofreal作爲一個被儲存的PostScript文件;

6.副表中的共振峰數據即可以WritetoClipboad,也可以打印(Print)出數據;

7.讀出光標點四個共振峰數據:

在子表的三維語圖上選擇一個時刻(TargetPoint),然後選擇Formant—Formantreport,即可得到所要的共振峰讀數;

8.二維功率譜:

在子表的三維語圖上選擇一個時刻(TargetPoint),然後選擇spectrum---viewspectralslice.

请问,为什么要*16.61?

5/LOG

(2)=16.6096404744368

那是把每倍频程看成是5度的算法。

12/LOG

(2)=39.8631371386483

那是把每倍频程看成是12半音的算法。

建议使用半音的算法。

D=5lg(f/fr)/lg2

st=12lg(f/fr)/lg2

式中fr是参考频率。

那个D式,包括16.61的始作俑者是本人。

那是1970-1980年代的需要。

北大80周年校庆中文系学术论坛上我首次提出D式(1979)。

对于国际交流来说,还是用st(半音,semitone)更好。

 

如何求得基音同步标记

在PSOLA中基音同步标记的求取是很重要的步骤,我想请问各位高手:

应该如何求取基音同步标记。

能否提供一些可行的算法。

哪里能够下载可参考的程序。

谢谢!

ThefollowingisasummaryIwroteinanotherplace.Justcopyithere,hopeit'shelpful.

QUOTE:

Youarerightabouttheimportanceofpitchmarks.WhenIbuildaTTScorpus,Ididthefollowing:

1)Preparetextsforrecording.Youhavetotranscribethetextintophoneticsymbols(suchaspinyin),consideringthephonemecoverageandbalance,theprosodiccoverage,

2)Recordsoundpressureandlaryngographsignalssimultaneouslyforthetexts.Thelaryngographsignalisoptional,butithelpstodeterminetheGCI(glottalclosureinstant)ofthespeech.

3)Forcethespeechsignaltobealignedwithphonetictranscriptions.Alignmenterrorshavetobecheckedandcorrected.Maybesomesentenceshavetobere-recorded.

4)Generatepitchmarks.PitchmarksareusuallyassignedateachGCIdetectedfromthesignalbycertainalgrithm.ThemarksmightneedtobemannuallycheckedandcorrectedincasetheGCIdetectionalgrithmdoesn'tworkwell.Theunvoicesegementsinthespeechalsoneedfalse"pitch"marksinordertomakePSOLAwork.

5)GeneratetheTTSinventory.Thespeechsignals,pitchmarks,andphonetictranscriptionsareindexedandstoredinsomedatabase.Thesynthesizerwillretrievethedatabaseandconcatenatesegmentsintosentences.

 

**Note:

PSOLAisapatentofFranceTélécom.YoucouldmakeaPSOLA-likesynthesizer,butcouldn'tusethePSOLAalgrithmforfree.

 

用PRAAT SCRIPT 语言实现等时间比例提取基频值  (../index.htm../index.htmdispbbs.asp?

boardid=1&rootid=41975&id=41975)

--  作者:

清凉山人

--  发布时间:

2005-12-2020:

32:

53

--  [讨论]用PRAAT SCRIPT 语言实现等时间比例提取基频值

用PRAATSCRIPT语言实现等时间比例提取基频值

看到有人问起如何用Praat软件实现等时间比例来提取不定时长音节的基频值,如将不同时长的每个音节都提取出10个等距离的基频值来。

我特写下如下Script语言以供参考:

--------------------------------------------------------------

#name$表示声音文件名,请首先选择您要分析的声音

name$=selected$("Sound")

#注释:

以下分析基频,可以修改音域上限f0Max和音域下限f0Min

f0Max=250

f0Min=50

selectSound'name$'

ToPitch...0.01'f0Min''f0Max'

#注释:

以下暂停以等待使用者进行基频修改,如果不需要修改,直接按continue即可,如果修改则等到修改好并将Pitch窗口关闭之后按continue即可,

pause是否需要调整基频数据?

#打开Pitch窗口供您选择您要采点的区间

selectPitch'name$'

Edit

editorPitch'name$'

pause请选择待提取的基频数据区间:

a=Getbeginofselection

b=Getendofselection

#dianNum表示在选定的区间内基频采样点的数目,可以自己改变。

dianNum=10

c=('b'-'a')/('dianNum'-1)

tempposition='a'

#newfilename$表示文件名,该文件用来存放提取出来的数据,可以自己更改。

newfilename$="c:

/temp.txt"

filedelete'newfilename$'

#以下是数据采样过程,提取出来基频数据及其时间点的数据保存在临时文件(c:

/temp.txt)中。

forifrom1to'dianNum'

Movecursorto...'tempposition'

pitchvalue=Getpitch

fileappend'newfilename$''tempposition'

fileappend'newfilename$',

fileappend'newfilename$''pitchvalue'

fileappend'newfilename$';

tempposition='tempposition'+'c'

endfor

endeditor

-----------------------------------------------------------------------

使用说明:

1、打开Praat程序,新建一个Script文件,将上段语句拷贝进去;

2、从PraatObject主窗口中选择一个声音文件;

3、从Script窗口中按Run加以运行;

4、按照提示进行接下来的操作;

5、从数据文件中获得您需要的数据,默认条件下为“c:

/temp.txt”文件。

以上是我从网上下载来的。

--  作者:

清凉山人

--  发布时间:

2005-12-2021:

23:

54

--  

我们对它略作改动:

#name$表示声音文件名,请首先选择您要分析的声音

name$=selected$("Sound")

#注释:

以下分析基频,可以修改音域上限f0Max和音域下限f0Min

f0Max=250

f0Min=50

selectSound'name$'

ToPitch...0.01'f0Min''f0Max'

#注释:

以下暂停以等待使用者进行基频修改,如果不需要修改,直接按continue即可,如果修改则等到修改好并将Pitch窗口关闭之后按continue即可,

pause是否需要调整基频数据?

#打开Pitch窗口供您选择您要采点的区间

selectPitch'name$'

Edit

editorPitch'name$'

pause请选择待提取的基频数据区间:

a=Getbeginofselection

b=Getendofselection

#dianNum表示在选定的区间内基频采样点的数目,可以自己改变。

dianNum=21

c=('b'-'a')/('dianNum'-1)

tempposition='a'

#newfilename$表示文件名,该文件用来存放提取出来的数据,可以自己更改。

newfilename$="c:

/temp.txt"

filedelete'newfilename$'

#以下是数据采样过程,提取出来基频数据及其时间点的数据保存在临时文件(c:

/temp.txt)中。

forifrom1to'dianNum'

Movecursorto...'tempposition'

pitchvalue=Getpitch

#fileappend'newfilename$''tempposition'

#fileappend'newfilename$',

fileappend'newfilename$''pitchvalue'

fileappend'newfilename$';

tempposition='tempposition'+'c'

endfor

endeditor

 

这是一个praat的usergroup

 

入门教程3.2.定制三维语图

使用Spectrogram(三维语图)选单下的Spectrogramsettings...(三维语图设置)命令,可以设定三维语图的计算方法和显示方式。

这些设定在整个Praat会话期间都将保留。

所有设定都有其标准值(所谓“出厂设定”),只要按一下Standards(标准设定)按钮就会完全恢复。

Viewrange(显示范围)(Hz)

要显示的频率范围。

标准值是底部0Hz而顶部5000Hz。

如果最高频率高于声音的Nyquist频率(即其采样频率的一半),则三维语图中会有部分数值为0,高出的频率上将是一片空白。

用44100Hz的采样频率录一段声音并将显示范围设为0Hz至25000Hz就能看到这种现象。

Windowlength(时窗长度)

分析时窗的长度。

如果设为0.005秒(标准值),Praat将取每一帧中点前后各0.0025秒间的一段作那一帧的时窗长度(对于Gaussian(高斯型)时窗,Praat实际上是要多取的)。

时窗长度决定声谱分析的带宽——简单正弦波的三维语图中水平线的宽度(如下)。

对于Gaussian时窗,-3dB上的带宽等于2*sqrt(6*ln

(2))/(π*时窗长度),即1.2982804/时窗长度。

想要得到“宽带”三维语图(带宽260Hz)的话,只要保留5毫秒的时窗长度标准值就好;而要得到“窄带”三维语图(带宽43Hz)的话,请将其设为30毫秒(0.03秒)。

其他时窗形状,取值略作调整即可。

Dynamicrange(动态范围)(dB)

所有比从最大值向下减去动态范围dB数之后的值还要低的值(可能经过了动态压缩,参见Advancedspectrogramsettings...(高级三维语图设置))都将绘制为空白。

范围当中的值则为相应的灰色斑纹。

这就是说,如果三维语图最高峰的高度在30dB/Hz,而动态范围是50dB(即标准值),那么凡低于-20dB/Hz的值都将绘制为空白,同时-20dB/Hz与30dB/Hz之间的便都将绘制为不同的灰色斑纹。

带宽

想要了解时窗长度如何影响带宽的话,请先创建一条1000Hz的正弦波——使用CreateSound...(创建声音)命令,输入Formula(算式):

1/2*sin(2*pi*1000*x),并单击Edit(编辑)按钮。

三维语图上有一条水平方向的黑带。

然后改变三维语图设置中时窗长度一项,可以看到线条的粗细怎样变化:

时窗长度越大,线条越细。

显然,分析时窗包含的波的周期越多,三维语图对波的频率的分辨就越精确。

如果特别想看清这里的差异,只要创建一条由1000和1200Hz正弦波叠加成的波。

算式为:

1/4*sin(2*pi*1000*x)+1/4*sin(2*pi*1200*x)。

您将在编辑器中看到,如果是较短的分析时窗(5毫秒),就是单独一条粗带,而如果是较长的分析时窗(30毫秒),则分成两条带呈现。

显然,分析时窗越长,频率的解析度越高。

既然如此,为什么不总是用长的分析时窗就得了呢?

答案很简单:

长时窗的时间解析度太糟了。

想要认识这一点,只要创建一段由两条正弦波和两个很短的“咔嗒”噪声复合成的声音。

算式为:

0.02*(sin(2*pi*1000*x)+sin(2*pi*1200*x))+(col=10000)+(col=10200)。

只要查看这段声音就能发现,长的分析时窗会让那两声“咔嗒”恰好重叠,而短的分析时窗会让那两条正弦波重叠。

显而易见,时间解析度和频率解析度之间存在一个平衡。

不可能取得时间和频率两方面同时精确。

高级设置

请使用Spectrum(声谱)选单中的Advancedspectrogramsettings...(高级三维语图设置)命令。

入门教程8.1.音高的变换

想要修改现存Sound(声音)对象的音高曲线,只要选中这段声音并单击ToManipulation(生成变换)按钮(译者注:

该命令按钮上的文字实际为ToManipulation...,原文遗漏了...)。

列表中将出现一个Manipulation(变换)对象。

然后单击Edit(编辑)按钮打开ManipulationEditor(变换编辑器),在这里,音高曲线(实际是PitchTier(音高层叠)对象)表示为一系列粗圆点。

如果需要减少圆点数目,请执行Pitch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1