praat中文说明.docx
《praat中文说明.docx》由会员分享,可在线阅读,更多相关《praat中文说明.docx(46页珍藏版)》请在冰豆网上搜索。
![praat中文说明.docx](https://file1.bdocx.com/fileroot1/2023-1/11/b13208f7-477a-4e17-a92d-c8477b3dd40f/b13208f7-477a-4e17-a92d-c8477b3dd40f1.gif)
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