{"id":1025,"date":"2021-12-19T20:06:51","date_gmt":"2021-12-19T12:06:51","guid":{"rendered":"https:\/\/blog.cauchyschwarz.com\/?p=1025"},"modified":"2021-12-19T20:06:55","modified_gmt":"2021-12-19T12:06:55","slug":"kaldi-forced-alignment","status":"publish","type":"post","link":"https:\/\/blog.cauchyschwarz.com\/?p=1025","title":{"rendered":"kaldi Forced Alignment"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/pages.jh.edu\/~echodro1\/tutorial\/kaldi\/kaldi-forcedalignment.html\">\u539f\u6559\u7a0b<\/a><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2a206909dfb\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2a206909dfb\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1025\/#1_%E5%9C%A8%E8%AF%AD%E6%96%99%E5%BA%93%E7%9A%84data%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9B%E5%BB%BAalignme%E7%9B%AE%E5%BD%95%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E8%A6%81%E8%BF%9B%E8%A1%8C%E5%AF%B9%E9%BD%90%E7%9A%84%E9%9F%B3%E9%A2%91%E7%9A%84%E7%9B%B8%E5%85%B3%E6%95%B0%E6%8D%AE\" >1. \u5728\u8bed\u6599\u5e93\u7684data\u76ee\u5f55\u4e0b\u521b\u5efaalignme\u76ee\u5f55\uff0c\u7528\u4e8e\u5b58\u653e\u8981\u8fdb\u884c\u5bf9\u9f50\u7684\u97f3\u9891\u7684\u76f8\u5173\u6570\u636e<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1025\/#2_%E6%8A%BD%E5%8F%96MFCC%E7%89%B9%E5%BE%81\" >2. \u62bd\u53d6MFCC\u7279\u5f81<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1025\/#3_%E5%AF%B9%E9%BD%90\" >3. \u5bf9\u9f50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1025\/#4_%E4%BB%8E%E5%AF%B9%E9%BD%90%E7%BB%93%E6%9E%9C%E6%96%87%E4%BB%B6%E4%B8%AD%E8%8E%B7%E5%8F%96CTM%E6%A0%BC%E5%BC%8F%E7%9A%84%E8%BE%93%E5%87%BA\" >4. \u4ece\u5bf9\u9f50\u7ed3\u679c\u6587\u4ef6\u4e2d\u83b7\u53d6CTM\u683c\u5f0f\u7684\u8f93\u51fa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blog.cauchyschwarz.com\/?p=1025\/#5_%E8%BF%9E%E6%8E%A5CTM%E6%96%87%E4%BB%B6\" >5. \u8fde\u63a5CTM\u6587\u4ef6<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"1-e59ca8e8afade69699e5ba93e79a84datae79baee5bd95e4b88be5889be5bbbaalignmee79baee5bd95e794a8e4ba8ee5ad98e694bee8a681e8bf9be8a18ce5afb9e9bd90e79a84e99fb3e9a291e79a84e79bb8e585b3e695b0e68dae-1\"><span class=\"ez-toc-section\" id=\"1_%E5%9C%A8%E8%AF%AD%E6%96%99%E5%BA%93%E7%9A%84data%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9B%E5%BB%BAalignme%E7%9B%AE%E5%BD%95%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E8%A6%81%E8%BF%9B%E8%A1%8C%E5%AF%B9%E9%BD%90%E7%9A%84%E9%9F%B3%E9%A2%91%E7%9A%84%E7%9B%B8%E5%85%B3%E6%95%B0%E6%8D%AE\"><\/span>1. \u5728\u8bed\u6599\u5e93\u7684data\u76ee\u5f55\u4e0b\u521b\u5efaalignme\u76ee\u5f55\uff0c\u7528\u4e8e\u5b58\u653e\u8981\u8fdb\u884c\u5bf9\u9f50\u7684\u97f3\u9891\u7684\u76f8\u5173\u6570\u636e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cd mycorpus\/data\nmkdir alignme\n<em># \u521b\u5efa\u8981\u5bf9\u9f50\u7684\u76ee\u6807\u97f3\u9891\u6570\u636e\u7684text\u3001segments\u3001wav.scp\u3001utt2spk\u3001spk2utt\u7b49\u6587\u4ef6<\/em>\n<em># \u8fc7\u7a0b\u548c\u521b\u5efadata\/train\u91cc\u9762\u7684\u6570\u636e\u4e00\u6837\uff0c\u53c2\u8003http:\/\/pages.jh.edu\/~echodro1\/tutorial\/kaldi\/kaldi-training2.html<\/em>\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>text\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u6587\u4ef6\u7528\u4e8e\u8bf4\u660e\u6bcf\u6bb5\u97f3\u9891\u91cc\u5305\u542b\u7684words\uff0c\u683c\u5f0f\u5982\u4e0b\uff1a<br><em>utt_id WORD1 WORD2 WORD3 WORD4 &#8230;<\/em><br>utt_id = utterance ID<br>\u4f8b\u5b50\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>110236_20091006_82330_F_0001 I&#8217;M WORRIED ABOUT THAT<br>110236_20091006_82330_F_0002 AT LEAST NOW WE HAVE THE BENEFIT<br>110236_20091006_82330_F_0003 DID YOU EVER GO ON STRIKE<br>&#8230;<br>120958_20100126_97016_M_0285 SOMETIMES LESS IS BETTER<br>120958_20100126_97016_M_0286 YOU MUST LOVE TO COOK<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u751f\u6210words.txt\uff1a<br><code>cut -d ' ' -f 2- text | sed 's\/ \/\\n\/g' | sort -u &gt; words.txt<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>segments\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u6587\u4ef6\u7528\u4e8e\u8bf4\u660e\u6bcf\u6bb5\u97f3\u9891\u5728\u67d0\u4e2a\u97f3\u9891\u6587\u4ef6\u91cc\u7684\u5f00\u59cb\u548c\u7ed3\u675f\u4f4d\u7f6e\u3002\u8fd9\u4e2a\u6587\u4ef6\u4e0d\u662f\u5fc5\u9700\u7684\u3002\u683c\u5f0f\u5982\u4e0b\uff1a<br><em>utt_id file_id start_time end_time<\/em><br>utt_id = utterance ID file_id = file ID<br>start_time = start time in seconds<br>end_time = end time in seconds<br>\u4f8b\u5b50\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>110236_20091006_82330_F_001 110236_20091006_82330_F 0.0 3.44<br>110236_20091006_82330_F_002 110236_20091006_82330_F 4.60 8.54<br>110236_20091006_82330_F_003 110236_20091006_82330_F 9.45 12.05<br>110236_20091006_82330_F_004 110236_20091006_82330_F 13.29 16.13<br>110236_20091006_82330_F_005 110236_20091006_82330_F 17.27 20.36<br>110236_20091006_82330_F_006 110236_20091006_82330_F 22.06 25.46<br>110236_20091006_82330_F_007 110236_20091006_82330_F 25.86 27.56<br>110236_20091006_82330_F_008 110236_20091006_82330_F 28.26 31.24<br>&#8230;<br>120958_20100126_97016_M_282 120958_20100126_97016_M 915.62 919.67<br>120958_20100126_97016_M_283 120958_20100126_97016_M 920.51 922.69<br>120958_20100126_97016_M_284 120958_20100126_97016_M 922.88 924.27<br>120958_20100126_97016_M_285 120958_20100126_97016_M 925.35 927.88<br>120958_20100126_97016_M_286 120958_20100126_97016_M 928.31 930.51<\/p><\/blockquote>\n\n\n\n<ul class=\"wp-block-list\"><li>wav.scp\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u6587\u4ef6\u7528\u4e8e\u8bf4\u660e\u6bcf\u4e2a\u97f3\u9891\u6587\u4ef6\u7684\u4f4d\u7f6e\u3002\u5982\u679c\u97f3\u9891\u6587\u4ef6\u683c\u5f0f\u662fwav\u683c\u5f0f\u7684\uff0c\u90a3\u4e48\u4f7f\u7528\u5982\u4e0b\u683c\u5f0f\uff1a<br><em>file_id path\/file<\/em><br>\u4f8b\u5b50\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>110236_20091006_82330_F path\/110236_20091006_82330_F.wav<br>111138_20091215_82636_F path\/111138_20091215_82636_F.wav<br>111138_20091217_82636_F path\/111138_20091217_82636_F.wav<br>&#8230;<br>120947_20100125_59427_F path\/120947_20100125_59427_F.wav<br>120953_20100125_79293_F path\/120953_20100125_79293_F.wav<br>120958_20100126_97016_M path\/120958_20100126_97016_M.wav<\/p><\/blockquote>\n\n\n\n<ul class=\"wp-block-list\"><li>utt2spk\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u6307\u660e\u6bcf\u6bb5\u97f3\u9891\u662f\u7531\u54ea\u4e2a\u4eba\u8bf4\u7684\uff0c\u683c\u5f0f\u5982\u4e0b\uff1a<br><em>utt_id spkr<\/em><br>utt_id = utterance ID<br>spkr = speaker ID<br>\u4f8b\u5b50\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>110236_20091006_82330_F_0001 110236<br>110236_20091006_82330_F_0002 110236<br>110236_20091006_82330_F_0003 110236<br>110236_20091006_82330_F_0004 110236<br>&#8230;<br>120958_20100126_97016_M_0284 120958<br>120958_20100126_97016_M_0285 120958<br>120958_20100126_97016_M_0286 120958<\/p><\/blockquote>\n\n\n\n<ul class=\"wp-block-list\"><li>spk2utt\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u548cutt2spk\u6587\u4ef6\u7c7b\u4f3c\uff0c\u4f46\u662f\u73b0\u5728\u6309\u7167speaker\u7684\u987a\u5e8f\u6765\u5217\uff0c\u683c\u5f0f\u5982\u4e0b\uff1a<br><em>spkr utt_id1 utt_id2 utt_id3<\/em><br>\u5728\u6709\u4e86utt2spk\u6587\u4ef6\u7684\u524d\u63d0\u4e0b\uff0c\u53ef\u4ee5\u7528Kaldi\u63d0\u4f9b\u7684\u811a\u672c\u751f\u6210spk2utt\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">utils\/fix_data_dir.sh data\/alignme\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-e68abde58f96mfcce789b9e5be81-1\"><span class=\"ez-toc-section\" id=\"2_%E6%8A%BD%E5%8F%96MFCC%E7%89%B9%E5%BE%81\"><\/span>2. \u62bd\u53d6MFCC\u7279\u5f81<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528\u5982\u4e0b\u811a\u672c\u4e3adata\/alignme\u76ee\u5f55\u4e0b\u7684\u97f3\u9891\u6587\u4ef6\u751f\u6210MFCC\u7279\u5f81\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cd mycorpus  \n\nmfccdir=mfcc  \nfor x in data\/alignme; do  \nsteps\/make_mfcc.sh --cmd \"$train_cmd\" --nj 16 $x exp\/make_mfcc\/$x $mfccdir  \nutils\/fix_data_dir.sh data\/alignme  \nsteps\/compute_cmvn_stats.sh $x exp\/make_mfcc\/$x $mfccdir  \nutils\/fix_data_dir.sh data\/alignme  \ndone  \n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u76f4\u63a5\u8dd1\u4e0a\u9762\u8fd9\u4e2a\u811a\u672c\u662f\u4e0d\u884c\u7684\uff0c\u9700\u8981\u53c2\u8003run.sh\u6587\u4ef6\uff0c<a href=\"http:\/\/xn--cmd-ps1e7er19d.xn--shpath-j76j.sh\/\">\u5148\u5bfc\u5165cmd.sh\u548cpath.sh<\/a>\uff0c\u5e76\u8bbe\u7f6eH\u548cn\u3002\u6240\u4ee5\u80fd\u591f\u5355\u72ec\u8dd1\u7684\u811a\u672c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#!\/bin\/bash  \n \n. .\/cmd.sh <em>## You'll want to change cmd.sh to something that will work on your system.  <\/em>\n           <em>## This relates to the queue.  <\/em>\n. .\/path.sh  \n  \nH=`pwd`  <em>#exp home  <\/em>\nn=11      <em>#parallel jobs  <\/em>\n  \nmfccdir=mfcc  \nfor x in data\/alignme  \ndo  \n        steps\/make_mfcc.sh --cmd \"$train_cmd\" --nj 16 $x exp\/make_mfcc\/$x $mfccdir  \n        utils\/fix_data_dir.sh data\/alignme  \n        steps\/compute_cmvn_stats.sh $x exp\/make_mfcc\/$x $mfccdir  \n        utils\/fix_data_dir.sh data\/alignme  \ndone  \n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-e5afb9e9bd90-1\"><span class=\"ez-toc-section\" id=\"3_%E5%AF%B9%E9%BD%90\"><\/span>3. \u5bf9\u9f50<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528\u5982\u4e0b\u811a\u672c\u5bf9\u9f50\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#!\/bin\/bash  \n  \n. .\/cmd.sh <em>## You'll want to change cmd.sh to something that will work on your system.  <\/em>\n           <em>## This relates to the queue.  <\/em>\n. .\/path.sh  \n  \nH=`pwd`  <em>#exp home  <\/em>\nn=11      <em>#parallel jobs  <\/em>\nsteps\/align_si.sh --cmd \"$train_cmd\" data\/alignme data\/lang exp\/tri1 exp\/tri1_alignme || exit 1  \n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">data\/alignme\u662f\u6211\u4eec\u8981\u5bf9\u9f50\u7684\u97f3\u9891\u6570\u636e\uff0c<s>data\/lang\u4e3a\u8bed\u8a00\u6a21\u578b<\/s>\uff0cexp\/tri1\u4e3a\u4e4b\u524d\u8bad\u7ec3\u7684\u58f0\u5b66\u6a21\u578b\uff0cexp\/tri1_alignme\u4e3a\u5b58\u653e\u5bf9\u9f50\u7ed3\u679c\u7684\u76ee\u5f55\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4-e4bb8ee5afb9e9bd90e7bb93e69e9ce69687e4bbb6e4b8ade88eb7e58f96ctme6a0bce5bc8fe79a84e8be93e587ba-1\"><span class=\"ez-toc-section\" id=\"4_%E4%BB%8E%E5%AF%B9%E9%BD%90%E7%BB%93%E6%9E%9C%E6%96%87%E4%BB%B6%E4%B8%AD%E8%8E%B7%E5%8F%96CTM%E6%A0%BC%E5%BC%8F%E7%9A%84%E8%BE%93%E5%87%BA\"><\/span>4. \u4ece\u5bf9\u9f50\u7ed3\u679c\u6587\u4ef6\u4e2d\u83b7\u53d6CTM\u683c\u5f0f\u7684\u8f93\u51fa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CTM\u683c\u5f0f\uff1a<br><em>utt_id channel_num start_time end_time phone_id<\/em><br>\u4f7f\u7528\u5982\u4e0b\u811a\u672c\u83b7\u53d6CTM\u683c\u5f0f\u8f93\u51fa\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cd mycorpus  \n  \nfor i in exp\/tri4a_alignme\/ali.*.gz;  \ndo src\/bin\/ali-to-phones --ctm-output exp\/tri4a\/final.mdl ark:\"gunzip -c $i|\" -&gt; ${i%.gz}.ctm;  \ndone;  \n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\u610f\u8fd9\u91cc\u7684\u58f0\u5b66\u6a21\u578b\u8981\u548c\u524d\u9762\u505a\u5bf9\u9f50\u65f6\u4f7f\u7528\u7684\u58f0\u5b66\u6a21\u578b\u4e00\u6837\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-e8bf9ee68ea5ctme69687e4bbb6-1\"><span class=\"ez-toc-section\" id=\"5_%E8%BF%9E%E6%8E%A5CTM%E6%96%87%E4%BB%B6\"><\/span>5. \u8fde\u63a5CTM\u6587\u4ef6<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cd mycorpus\/exp\/tri4a_alignme  \ncat *.ctm &gt; merged_alignment.txt  \n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c2\u7167phones.txt\u5c31\u53ef\u4ee5\u770b\u5230\u6bcf\u4e2aphone\u51fa\u73b0\u7684\u5f00\u59cb\u65f6\u95f4\u548c\u7ed3\u675f\u65f6\u95f4\u4e86\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u539f\u6559\u7a0b 1. \u5728\u8bed\u6599\u5e93\u7684data\u76ee\u5f55\u4e0b\u521b\u5efaalignme\u76ee\u5f55\uff0c\u7528\u4e8e\u5b58\u653e\u8981\u8fdb\u884c\u5bf9\u9f50\u7684\u97f3\u9891\u7684\u76f8\u5173\u6570\u636e text\u6587\u4ef6 \u6b64\u6587\u4ef6\u7528\u4e8e\u8bf4\u660e\u6bcf\u6bb5\u97f3\u9891\u91cc\u5305\u542b\u7684words\uff0c\u683c\u5f0f\u5982\u4e0b\uff1autt_id WORD1 WORD2&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[119],"class_list":["post-1025","post","type-post","status-publish","format-standard","hentry","category-10","tag-kaldi"],"_links":{"self":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1025"}],"version-history":[{"count":1,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1025\/revisions"}],"predecessor-version":[{"id":1026,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=\/wp\/v2\/posts\/1025\/revisions\/1026"}],"wp:attachment":[{"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.cauchyschwarz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}