{"id":2546,"date":"2024-05-26T12:05:01","date_gmt":"2024-05-26T03:05:01","guid":{"rendered":"https:\/\/plaza.umin.ac.jp\/shoei05\/?p=2546"},"modified":"2024-06-04T11:48:53","modified_gmt":"2024-06-04T02:48:53","slug":"%e9%9f%b3%e5%a3%b0%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%96%87%e5%ad%97%e8%b5%b7%e3%81%93%e3%81%97%e3%82%92%e3%82%b9%e3%83%a0%e3%83%bc%e3%82%ba%e3%81%ab%ef%bc%81-python%e3%81%a7%e3%83%8e","status":"publish","type":"post","link":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/","title":{"rendered":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab)"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>(Gemini 1.5 Pro) \u3042\u306a\u305f\u306fPro\u306eWEB\u30e9\u30a4\u30bf\u30fc\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u7d39\u4ecb\u3059\u308b\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3002\u97f3\u58f0\u306e\u6587\u5b57\u8d77\u3053\u3057\u524d\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u3092\u3057\u3066\u304f\u308c\u308b\u30b3\u30fc\u30c9\u306e\u7d39\u4ecb\u3067\u3059\u3002Python\u3092\u307e\u3060\u89e6\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u4eba\u306b\u3082\u308f\u304b\u308b\u3088\u3046\u306b\u89e3\u8aac\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<\/blockquote>\n\n\n\n<p>\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u6587\u5b57\u8d77\u3053\u3057\u3059\u308b\u969b\u3001\u30ce\u30a4\u30ba\u3084\u97f3\u91cf\u306e\u3070\u3089\u3064\u304d\u306f\u60a9\u307f\u306e\u7a2e\u3067\u3059\u3088\u306d\u3002\u7279\u306b\u5927\u91cf\u306e\u30d5\u30a1\u30a4\u30eb\u51e6\u7406\u306b\u306f\u3001\u4e8b\u524d\u6e96\u5099\u304c\u6b20\u304b\u305b\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>\u305d\u3053\u3067\u4eca\u56de\u306f\u3001\u524d\u56de<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_1');\" onkeypress=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_1');\" ><sup id=\"footnote_plugin_tooltip_2546_1_1\" class=\"footnote_plugin_tooltip_text\">[1]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_2546_1_1\" class=\"footnote_tooltip\">Excel \u3067\u4f5c\u3063\u305f\u8868\u3067\u8aa4\u5b57\u3092\u4e00\u62ec\u4fee\u6b63 (Google Colab). <a href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/\"><span class=\"footnote_url_wrap\">https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/<\/span><\/a> <\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_2546_1_1').tooltip({ tip: '#footnote_plugin_tooltip_text_2546_1_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script>\u306b\u5f15\u304d\u7d9a\u304d\u3001Google Colaboratory (Colab) \u3068Python\u3092\u4f7f\u3063\u3066\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316\u3092\u81ea\u52d5\u3067\u884c\u3046\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>GitHub\u306f\u3053\u3061\u3089\u3067\u3059<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_2');\" onkeypress=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_2');\" ><sup id=\"footnote_plugin_tooltip_2546_1_2\" class=\"footnote_plugin_tooltip_text\">[2]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_2546_1_2\" class=\"footnote_tooltip\"><a href=\"https:\/\/github.com\/shoei05\/soundfile_normalization\/\"><span class=\"footnote_url_wrap\">https:\/\/github.com\/shoei05\/soundfile_normalization\/<\/span><\/a> <\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_2546_1_2').tooltip({ tip: '#footnote_plugin_tooltip_text_2546_1_2', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><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><\/span><\/a><\/span><\/div>\n<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:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E6%9C%80%E5%88%9D%E3%81%AB\" >\u6700\u521d\u306b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#1_%E6%89%8B%E9%A0%86\" >1. \u624b\u9806<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E3%83%8E%E3%82%A4%E3%82%BA%E9%99%A4%E5%8E%BB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6\" >\u30ce\u30a4\u30ba\u9664\u53bb\u306b\u3064\u3044\u3066<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E9%9F%B3%E9%87%8F%E6%AD%A3%E8%A6%8F%E5%8C%96\" >\u97f3\u91cf\u6b63\u898f\u5316<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#2_Colab_%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C\" >2. Colab \u3067\u30b3\u30fc\u30c9\u3092\u5b9f\u884c<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#Colab_%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B_ipynb_%E3%82%B3%E3%83%BC%E3%83%89\" >Colab \u3067\u5b9f\u884c\u3059\u308b .ipynb \u30b3\u30fc\u30c9<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E8%87%AA%E5%88%86%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABPC%E3%81%A7Python%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88\" >\u81ea\u5206\u306e\u30ed\u30fc\u30ab\u30ebPC\u3067Python\u3067\u5b9f\u884c\u3059\u308b\u5834\u5408<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E6%BA%96%E5%82%99\" >\u6e96\u5099<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#1_Python%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\" >1. Python\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#2_%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\" >2. \u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#3_FFmpeg%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\" >3. FFmpeg\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#4_%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%BA%96%E5%82%99%E3%81%A8%E5%AE%9F%E8%A1%8C%E6%BA%96%E5%82%99\" >4. \u30b3\u30fc\u30c9\u306e\u6e96\u5099\u3068\u5b9f\u884c\u6e96\u5099<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#Python%E3%82%B3%E3%83%BC%E3%83%89\" >Python\u30b3\u30fc\u30c9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#5_%E5%AE%9F%E8%A1%8C\" >5. \u5b9f\u884c<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#%E3%81%BE%E3%81%A8%E3%82%81\" >\u307e\u3068\u3081<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%9C%80%E5%88%9D%E3%81%AB\"><\/span>\u6700\u521d\u306b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>GPT\u3067\u3082\u540c\u69d8\u306b\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u3092\u3084\u3063\u3066\u304f\u308c\u308b\u30dc\u30c3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\u300c\u4f55\u304b\u3089\u59cb\u3081\u305f\u3089\u3044\u3044\uff1f\u300d\u3092\u62bc\u3057\u3066\u6307\u793a\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"ja\" dir=\"ltr\">\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3068\u81ea\u52d5\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u306e\u6b63\u898f\u5316\uff08\u97f3\u91cf\u306e\u63c3\u3063\u305f\u30c7\u30fc\u30bf\u306b\u3059\u308b\uff09\u3092\u3057\u3066\u304f\u308c\u308bGPT\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002\u300c\u4f55\u304b\u3089\u59cb\u3081\u305f\u3089\u3044\u3044\uff1f\u300d\u3092\u62bc\u3057\u3066\u6307\u793a\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u97f3\u58f0\u30c7\u30fc\u30bf\u306e\u8cea\u5411\u4e0a\u306f\u3001\u6587\u5b57\u8d77\u3053\u3057\u306e\u7cbe\u5ea6\u5411\u4e0a\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u305c\u3072\u3054\u6d3b\u7528\u304f\u3060\u3055\u3044\u3002 <a href=\"https:\/\/t.co\/eH7uGfL9oF\">https:\/\/t.co\/eH7uGfL9oF<\/a><\/p>&mdash; Shoei (@shoei05) <a href=\"https:\/\/twitter.com\/shoei05\/status\/1795094445525696779?ref_src=twsrc%5Etfw\">May 27, 2024<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<p><a href=\"https:\/\/chatgpt.com\/g\/g-blH6IXYg6-soundfile-normalization\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/chatgpt.com\/g\/g-blH6IXYg6-soundfile-normalization<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_%E6%89%8B%E9%A0%86\"><\/span>1. \u624b\u9806<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Colab \u3092\u5b9f\u884c<\/li>\n\n\n\n<li>\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 (&#8220;.wav&#8221;, &#8220;.mp3&#8221;, &#8220;.mp4&#8221;, &#8220;.m4a&#8221;, &#8220;.mkv&#8221;, &#8220;.webm&#8221; \u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059)<\/li>\n\n\n\n<li>\u81ea\u52d5\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3001\u97f3\u58f0\u306e\u6b63\u898f\u5316\u3092\u5b9f\u884c<\/li>\n\n\n\n<li>\u51e6\u7406\u5f8c\u306e\u97f3\u58f0\u30c7\u30fc\u30bf\u304c\u81ea\u52d5\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%8E%E3%82%A4%E3%82%BA%E9%99%A4%E5%8E%BB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6\"><\/span>\u30ce\u30a4\u30ba\u9664\u53bb\u306b\u3064\u3044\u3066<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u97f3\u58f0\u30c7\u30fc\u30bf\u306b\u306f\u3001\u5468\u56f2\u306e\u74b0\u5883\u97f3\u3084\u6a5f\u5668\u306e\u30ce\u30a4\u30ba\u306a\u3069\u3001\u76ee\u7684\u3068\u3059\u308b\u97f3\u58f0\u4ee5\u5916\u306e\u97f3\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30ce\u30a4\u30ba\u306f\u3001\u97f3\u58f0\u8a8d\u8b58\u3084\u5206\u6790\u306e\u7cbe\u5ea6\u3092\u4f4e\u4e0b\u3055\u305b\u308b\u8981\u56e0\u3068\u306a\u308a\u307e\u3059\u3002\u305d\u3053\u3067\u3001<strong>\u30ce\u30a4\u30ba\u9664\u53bb<\/strong>\u306f\u30af\u30ea\u30a2\u306a\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u5f97\u308b\u305f\u3081\u306e\u91cd\u8981\u306a\u30d7\u30ed\u30bb\u30b9\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30ce\u30a4\u30ba\u9664\u53bb\u306f\u3001\u97f3\u58f0\u30c7\u30fc\u30bf\u304b\u3089\u4e0d\u8981\u306a\u30ce\u30a4\u30ba\u3092\u8b58\u5225\u3057\u3001\u9664\u53bb\u3059\u308b\u51e6\u7406\u3092\u6307\u3057\u307e\u3059\u3002\u3055\u307e\u3056\u307e\u306a\u624b\u6cd5\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u591a\u304f\u306e\u5834\u5408\u3001\u97f3\u58f0\u3068\u30ce\u30a4\u30ba\u306e\u5468\u6ce2\u6570\u7279\u6027\u306e\u9055\u3044\u3092\u5229\u7528\u3057\u305f\u308a\u3001\u6a5f\u68b0\u5b66\u7fd2\u3092\u7528\u3044\u3066\u30ce\u30a4\u30ba\u30d1\u30bf\u30fc\u30f3\u3092\u5b66\u7fd2\u3057\u9664\u53bb\u3057\u305f\u308a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001 FFmpeg \u306e afftdn \u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u7528\u3044\u3066\u30ce\u30a4\u30ba\u9664\u53bb\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">denoise_command = f<span class=\"hljs-string\">\"ffmpeg -i {temp_wav} -af 'afftdn=nr={noise_reduction_db}' {temp_denoised} -y\"<\/span>\n<span class=\"hljs-keyword\">if<\/span> os.system(denoise_command) != <span class=\"hljs-number\">0<\/span>:\n    raise RuntimeError(f<span class=\"hljs-string\">\"Error executing ffmpeg command: {denoise_command}\"<\/span>)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>afftdn \u306f Adaptive Frequency Domain Noise Reduction \u306e\u7565\u3067\u3001\u97f3\u58f0\u3068\u30ce\u30a4\u30ba\u306e\u5468\u6ce2\u6570\u7279\u6027\u306e\u9055\u3044\u3092\u5229\u7528\u3057\u3066\u30ce\u30a4\u30ba\u3092\u9664\u53bb\u3059\u308b\u30d5\u30a3\u30eb\u30bf\u30fc\u3067\u3059\u3002 nr \u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u306e\u5f37\u5ea6\u3092\u6307\u5b9a\u3057\u3066\u304a\u308a\u3001\u5024\u304c\u5927\u304d\u3044\u307b\u3069\u30ce\u30a4\u30ba\u9664\u53bb\u304c\u5f37\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u8a2d\u5b9a\u3067\u306f\u3001noise_reduction_db = 10&nbsp;\u3068\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30ce\u30a4\u30ba\u9664\u53bb\u306e\u5f37\u5ea6\u3092&nbsp;10dB&nbsp;\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002&nbsp;\u9069\u5207\u306a\u30ce\u30a4\u30ba\u9664\u53bb\u306e\u5f37\u5ea6\u306f\u3001\u97f3\u58f0\u30c7\u30fc\u30bf\u306e\u30ce\u30a4\u30ba\u30ec\u30d9\u30eb\u3084\u7a2e\u985e\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E9%9F%B3%E9%87%8F%E6%AD%A3%E8%A6%8F%E5%8C%96\"><\/span>\u97f3\u91cf\u6b63\u898f\u5316<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u97f3\u58f0\u6b63\u898f\u5316\u306f\u3001\u97f3\u91cf\u30ec\u30d9\u30eb\u3092\u8abf\u6574\u3059\u308b\u51e6\u7406\u3067\u3059\u3002\u7570\u306a\u308b\u9332\u97f3\u74b0\u5883\u3084\u6a5f\u5668\u306b\u3088\u3063\u3066\u97f3\u91cf\u30ec\u30d9\u30eb\u304c\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u3001\u305d\u306e\u307e\u307e\u3067\u306f\u805e\u304d\u53d6\u308a\u306b\u304f\u3044\u3001\u3042\u308b\u3044\u306f\u97f3\u58f0\u8a8d\u8b58\u3067\u6b63\u78ba\u306b\u51e6\u7406\u3067\u304d\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u97f3\u58f0\u6b63\u898f\u5316\u306b\u3088\u3063\u3066\u3001\u9069\u5207\u306a\u97f3\u91cf\u30ec\u30d9\u30eb\u306b\u7d71\u4e00\u3059\u308b\u3053\u3068\u3067\u3001\u805e\u304d\u53d6\u308a\u3084\u3059\u3055\u3068\u51e6\u7406\u306e\u7cbe\u5ea6\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001pydub\u30e9\u30a4\u30d6\u30e9\u30ea\u306enormalize\u95a2\u6570\u3092\u7528\u3044\u3066\u97f3\u58f0\u6b63\u898f\u5316\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u3001\u5165\u529b\u3055\u308c\u305f\u97f3\u58f0\u4fe1\u53f7\u306e\u30d4\u30fc\u30af\u30ec\u30d9\u30eb\u3092\u691c\u51fa\u3057\u3001\u305d\u308c\u30920dBFS\uff08decibels relative to full scale\u3001\u30d5\u30eb\u30b9\u30b1\u30fc\u30eb\u3092\u57fa\u6e96\u3068\u3057\u305f\u30c7\u30b8\u30d9\u30eb\uff09\u306b\u8abf\u6574\u3059\u308b\u3053\u3068\u3067\u3001\u53ef\u80fd\u306a\u9650\u308a\u5927\u304d\u306a\u97f3\u91cf\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># \u97f3\u58f0\u306e\u6b63\u898f\u5316<\/span>\n        normalized_audio = normalize(audio)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3088\u308a\u3001\u653e\u9001\u898f\u683c\u306a\u3069\u3067\u3082\u7528\u3044\u3089\u308c\u308b\u3001\u805e\u304d\u3084\u3059\u304f\u3001\u30ec\u30d9\u30eb\u306e\u63c3\u3063\u305f\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Colab_%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C\"><\/span><strong>2. Colab \u3067\u30b3\u30fc\u30c9\u3092\u5b9f\u884c<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u306eGoogle Colab\u3092\u3054\u81ea\u8eab\u306eDrive\u306b\u30b3\u30d4\u30fc\u3092\u4fdd\u5b58\u5f8c\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p>GoogleColab\u306b\u3064\u3044\u3066\u3082\u3063\u3068\u77e5\u308a\u305f\u3044\u65b9\u306f\u3001\u6771\u4eac\u5927\u5b66 \u6570\u7406\u30fb\u60c5\u5831\u6559\u80b2\u7814\u7a76\u30bb\u30f3\u30bf\u30fc\u304c\u516c\u958b\u3057\u3066\u3044\u308b\u300cPython\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5165\u9580\u300d<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_3');\" onkeypress=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_3');\" ><sup id=\"footnote_plugin_tooltip_2546_1_3\" class=\"footnote_plugin_tooltip_text\">[3]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_2546_1_3\" class=\"footnote_tooltip\">\u6771\u4eac\u5927\u5b66 \u6570\u7406\u30fb\u60c5\u5831\u6559\u80b2\u7814\u7a76\u30bb\u30f3\u30bf\u30fc. Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5165\u9580. <a href=\"https:\/\/utokyo-ipp.github.io\/\"><span class=\"footnote_url_wrap\">https:\/\/utokyo-ipp.github.io\/<\/span><\/a> <\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_2546_1_3').tooltip({ tip: '#footnote_plugin_tooltip_text_2546_1_3', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1S9gfGZZ2NleEv6QgH51dxu2s95sOfgQ2?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/colab.research.google.com\/drive\/1S9gfGZZ2NleEv6QgH51dxu2s95sOfgQ2?usp=sharing<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"852\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-13.png\" alt=\"\" class=\"wp-image-2556\" style=\"width:444px;height:auto\" srcset=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-13.png 654w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-13-230x300.png 230w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/figure>\n\n\n\n<p>\u30b3\u30d4\u30fc\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001\u518d\u751f\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"82\" height=\"84\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-14.png\" alt=\"\" class=\"wp-image-2557\"\/><\/figure>\n\n\n\n<p>\u3057\u3070\u3089\u304f\u3059\u308b\u3068\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u306e\u4e0b\u306e\u307b\u3046\u306b\u300c\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u300d\u3068\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001\u97f3\u58f0\u30c7\u30fc\u30bf(&#8220;.wav&#8221;, &#8220;.mp3&#8221;, &#8220;.mp4&#8221;, &#8220;.m4a&#8221;, &#8220;.mkv&#8221;, &#8220;.webm&#8221;)\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u52d5\u753b\u30c7\u30fc\u30bf\u3067\u3082\u51e6\u7406\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"443\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-15-1024x443.png\" alt=\"\" class=\"wp-image-2558\" style=\"width:910px;height:auto\" srcset=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-15-1024x443.png 1024w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-15-300x130.png 300w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-15-768x332.png 768w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-15.png 1328w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u3057\u3070\u3089\u304f\u3059\u308b\u3068\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u3066\u81ea\u52d5\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u59cb\u307e\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-16-1024x366.png\" alt=\"\" class=\"wp-image-2559\" srcset=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-16-1024x366.png 1024w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-16-300x107.png 300w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-16-768x275.png 768w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-16.png 1482w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Colab_%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B_ipynb_%E3%82%B3%E3%83%BC%E3%83%89\"><\/span>Colab \u3067\u5b9f\u884c\u3059\u308b .ipynb \u30b3\u30fc\u30c9<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">!pip install pydub tqdm\n\nimport os\nfrom pydub import AudioSegment\nfrom tqdm import tqdm\nimport logging\nfrom concurrent.futures import ThreadPoolExecutor\nimport shutil\nimport tempfile\nimport uuid\nimport ipywidgets <span class=\"hljs-keyword\">as<\/span> widgets\nfrom google.colab import files\n\n<span class=\"hljs-comment\"># \u30ed\u30b0\u306e\u8a2d\u5b9a<\/span>\nlogging.basicConfig(filename=<span class=\"hljs-string\">'preprocessing.log'<\/span>, level=logging.INFO,\n                    format=<span class=\"hljs-string\">'%(asctime)s - %(levelname)s - %(message)s'<\/span>)\n\ndef replace_spaces(filename):\n    <span class=\"hljs-keyword\">return<\/span> filename.replace(<span class=\"hljs-string\">\" \"<\/span>, <span class=\"hljs-string\">\"_\"<\/span>)\n\ndef preprocess_audio(input_path, output_path, noise_reduction_db, done_folder):\n    <span class=\"hljs-keyword\">try<\/span>:\n        <span class=\"hljs-keyword\">if<\/span> not os.path.exists(input_path):\n            raise FileNotFoundError(f<span class=\"hljs-string\">\"Input file not found: {input_path}\"<\/span>)\n\n        temp_dir = tempfile.gettempdir()\n        temp_id = str(uuid.uuid4())\n        temp_wav = os.path.join(temp_dir, f<span class=\"hljs-string\">\"temp_{temp_id}.wav\"<\/span>)\n        temp_denoised = os.path.join(temp_dir, f<span class=\"hljs-string\">\"temp_denoised_{temp_id}.wav\"<\/span>)\n        temp_normalized = os.path.join(temp_dir, f<span class=\"hljs-string\">\"temp_normalized_{temp_id}.wav\"<\/span>)\n\n        _, extension = os.path.splitext(input_path)\n        extension = extension.lower()\n\n        <span class=\"hljs-comment\"># \u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u4e00\u6642\u7684\u306bwav\u5f62\u5f0f\u3067\u4fdd\u5b58<\/span>\n        audio = AudioSegment.from_file(input_path, format=extension.lstrip(<span class=\"hljs-string\">'.'<\/span>))\n        audio.export(temp_wav, format=<span class=\"hljs-string\">\"wav\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u30ce\u30a4\u30ba\u9664\u53bb<\/span>\n        denoise_command = f<span class=\"hljs-string\">\"ffmpeg -i {temp_wav} -af 'afftdn=nr={noise_reduction_db}' {temp_denoised} -y\"<\/span>\n        <span class=\"hljs-keyword\">if<\/span> os.system(denoise_command) != <span class=\"hljs-number\">0<\/span>:\n            raise RuntimeError(f<span class=\"hljs-string\">\"Error executing ffmpeg command: {denoise_command}\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30ec\u30fc\u30c8\u306e\u5909\u63db\u3068\u6b63\u898f\u5316<\/span>\n        audio = audio.set_frame_rate(<span class=\"hljs-number\">16000<\/span>)\n        normalized_audio = normalize(audio)\n\n        <span class=\"hljs-comment\"># \u6b63\u898f\u5316\u3055\u308c\u305f\u97f3\u58f0\u3092\u8aad\u307f\u8fbc\u3093\u3067mp3\u5f62\u5f0f\u3067\u4fdd\u5b58<\/span>\n        normalized_audio = AudioSegment.from_wav(temp_normalized)\n        normalized_audio.export(output_path, format=<span class=\"hljs-string\">\"mp3\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u51e6\u7406\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092done\u30d5\u30a9\u30eb\u30c0\u306b\u79fb\u52d5<\/span>\n        shutil.move(input_path, os.path.join(done_folder, replace_spaces(os.path.basename(input_path))))\n\n        logging.info(f<span class=\"hljs-string\">\"Preprocessed {input_path}\"<\/span>)\n\n    except <span class=\"hljs-keyword\">Exception<\/span> <span class=\"hljs-keyword\">as<\/span> e:\n        logging.error(f<span class=\"hljs-string\">\"Error processing {input_path}: {str(e)}\"<\/span>)\n        raise\n\n    <span class=\"hljs-keyword\">finally<\/span>:\n        <span class=\"hljs-comment\"># \u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664<\/span>\n        <span class=\"hljs-keyword\">for<\/span> temp_file in &#91;temp_wav, temp_denoised, temp_normalized]:\n            <span class=\"hljs-keyword\">if<\/span> os.path.exists(temp_file):\n                os.remove(temp_file)\n\ndef process_files(input_folder, output_folder, noise_reduction_db, max_workers, done_folder):\n    audio_files = &#91;f <span class=\"hljs-keyword\">for<\/span> f in os.listdir(input_folder) <span class=\"hljs-keyword\">if<\/span> f.lower().endswith((<span class=\"hljs-string\">\".wav\"<\/span>, <span class=\"hljs-string\">\".mp3\"<\/span>, <span class=\"hljs-string\">\".mp4\"<\/span>, <span class=\"hljs-string\">\".m4a\"<\/span>, <span class=\"hljs-string\">\".mkv\"<\/span>, <span class=\"hljs-string\">\".webm\"<\/span>))]\n    total_files = len(audio_files)\n\n    progress_bar = tqdm(total=total_files, unit=<span class=\"hljs-string\">'file'<\/span>)\n\n    with ThreadPoolExecutor(max_workers=max_workers) <span class=\"hljs-keyword\">as<\/span> executor:\n        futures = &#91;]\n        <span class=\"hljs-keyword\">for<\/span> filename in audio_files:\n            input_path = os.path.join(input_folder, filename)\n            output_path = os.path.join(output_folder, f<span class=\"hljs-string\">\"{os.path.splitext(replace_spaces(filename))&#91;0]}.mp3\"<\/span>)\n            futures.append(executor.submit(preprocess_audio, input_path, output_path, noise_reduction_db, done_folder))\n\n        <span class=\"hljs-keyword\">for<\/span> future in futures:\n            <span class=\"hljs-keyword\">try<\/span>:\n                future.result()\n                progress_bar.update()\n            except <span class=\"hljs-keyword\">Exception<\/span> <span class=\"hljs-keyword\">as<\/span> e:\n                logging.error(f<span class=\"hljs-string\">\"Error in parallel processing: {str(e)}\"<\/span>)\n\n    progress_bar.close()\n\n\n<span class=\"hljs-comment\"># --- \u97f3\u58f0\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 ---<\/span>\ninput_folder = <span class=\"hljs-string\">'\/content\/p_input'<\/span>\noutput_folder = <span class=\"hljs-string\">'\/content\/input'<\/span>\ndone_folder = <span class=\"hljs-string\">'\/content\/p_done'<\/span>\nos.makedirs(input_folder, exist_ok=<span class=\"hljs-keyword\">True<\/span>)\nos.makedirs(output_folder, exist_ok=<span class=\"hljs-keyword\">True<\/span>)\nos.makedirs(done_folder, exist_ok=<span class=\"hljs-keyword\">True<\/span>)\n\n<span class=\"hljs-keyword\">while<\/span> <span class=\"hljs-keyword\">True<\/span>:\n  <span class=\"hljs-keyword\">print<\/span>(<span class=\"hljs-string\">\"\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"<\/span>)\n  uploaded = files.upload()\n  <span class=\"hljs-keyword\">for<\/span> filename in uploaded.keys():\n    shutil.move(filename, os.path.join(input_folder, filename))\n  <span class=\"hljs-keyword\">break<\/span>\n<span class=\"hljs-comment\"># ----------------------<\/span>\n\nnoise_reduction_db = <span class=\"hljs-number\">10<\/span>\nmax_workers = <span class=\"hljs-number\">4<\/span>\n\nprocess_files(input_folder, output_folder, noise_reduction_db, max_workers, done_folder)\n\n<span class=\"hljs-comment\"># --- \u51e6\u7406\u6e08\u307f\u30d5\u30a1\u30a4\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 ---<\/span>\n<span class=\"hljs-keyword\">print<\/span>(<span class=\"hljs-string\">\"\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30ea\u30f3\u30af\u3092\u751f\u6210\u3057\u307e\u3059\u3002\"<\/span>)\n<span class=\"hljs-keyword\">for<\/span> filename in os.listdir(output_folder):\n  <span class=\"hljs-keyword\">if<\/span> filename.endswith(<span class=\"hljs-string\">\".mp3\"<\/span>):\n    files.download(os.path.join(output_folder, filename))\n<span class=\"hljs-comment\"># ----------------------<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E8%87%AA%E5%88%86%E3%81%AE%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABPC%E3%81%A7Python%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88\"><\/span>\u81ea\u5206\u306e\u30ed\u30fc\u30ab\u30ebPC\u3067Python\u3067\u5b9f\u884c\u3059\u308b\u5834\u5408<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%BA%96%E5%82%99\"><\/span>\u6e96\u5099<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Python%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span><strong>1. Python\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u307e\u3060\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001Python\u516c\u5f0f\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\/\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u3044\u3066\u3001<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Windows:<\/strong> Windows\u30ad\u30fc\u3092\u62bc\u3057\u3066\u300ccmd\u300d\u3068\u5165\u529b\u3057\u3001Enter\u30ad\u30fc\u3092\u62bc\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>Mac:<\/strong> Spotlight\u691c\u7d22 (\u866b\u773c\u93e1\u30a2\u30a4\u30b3\u30f3) \u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u300c\u30bf\u30fc\u30df\u30ca\u30eb\u300d\u3068\u5165\u529b\u3057\u3066Enter\u30ad\u30fc\u3092\u62bc\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">python -V<\/code><\/span><\/pre>\n\n\n<p>\u3068\u5165\u529b\u3057\u3066\u3001<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">Python<\/span> 3<span class=\"hljs-selector-class\">.12<\/span><span class=\"hljs-selector-class\">.3<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u306a\u3069\u3068\u8868\u793a\u3055\u308c\u3066\u3044\u308c\u3070Python\u306f\u65e2\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>2. \u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\u307e\u305f\u306f\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u958b\u304d\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">pip install pydub tqdm<\/code><\/span><\/pre>\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_FFmpeg%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>3. FFmpeg\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>FFmpeg (\u30a8\u30d5\u30a8\u30d5\u30a8\u30e0\u30da\u30b0) \u306f\u3001\u52d5\u753b\u306e\u7de8\u96c6\u3084\u5909\u63db\u306a\u3069\u304c\u53ef\u80fd\u306a\u30d5\u30ea\u30fc\u30bd\u30d5\u30c8<span class=\"footnote_referrer\"><a role=\"button\" tabindex=\"0\" onclick=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_4');\" onkeypress=\"footnote_moveToReference_2546_1('footnote_plugin_reference_2546_1_4');\" ><sup id=\"footnote_plugin_tooltip_2546_1_4\" class=\"footnote_plugin_tooltip_text\">[4]<\/sup><\/a><span id=\"footnote_plugin_tooltip_text_2546_1_4\" class=\"footnote_tooltip\">FFmpeg. Accessed May 4, 2021.&nbsp;<a href=\"https:\/\/www.ffmpeg.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"footnote_url_wrap\">https:\/\/www.ffmpeg.org\/<\/span><\/a>&nbsp;<\/span><\/span><script type=\"text\/javascript\"> jQuery('#footnote_plugin_tooltip_2546_1_4').tooltip({ tip: '#footnote_plugin_tooltip_text_2546_1_4', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });<\/script>\u3067\u3059\u3002<\/p>\n\n\n\n<p>FFmpeg\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306f\u904e\u53bb\u306b\u66f8\u3044\u305f\u4e0b\u8a18\u8a18\u4e8b\u3092\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-shoei-05 wp-block-embed-shoei-05\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"P4oH56YXeE\"><a href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2021\/05\/04\/2015\/\">\u5b66\u8853\u5927\u4f1a\u3067 \u97f3\u58f0\u52d5\u753b\u767a\u8868\u30b9\u30e9\u30a4\u30c9\u30c7\u30fc\u30bf \u3092\u6c42\u3081\u3089\u308c\u305f\u3068\u304d\u306b: .mp4 \u3092 FFmpeg \u3067\u30b5\u30a4\u30ba\u5727\u7e2e<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;\u5b66\u8853\u5927\u4f1a\u3067 \u97f3\u58f0\u52d5\u753b\u767a\u8868\u30b9\u30e9\u30a4\u30c9\u30c7\u30fc\u30bf \u3092\u6c42\u3081\u3089\u308c\u305f\u3068\u304d\u306b: .mp4 \u3092 FFmpeg \u3067\u30b5\u30a4\u30ba\u5727\u7e2e&#8221; &#8212; shoei05\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2021\/05\/04\/2015\/embed\/#?secret=wppUECV14K#?secret=P4oH56YXeE\" data-secret=\"P4oH56YXeE\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%BA%96%E5%82%99%E3%81%A8%E5%AE%9F%E8%A1%8C%E6%BA%96%E5%82%99\"><\/span>4. \u30b3\u30fc\u30c9\u306e\u6e96\u5099\u3068\u5b9f\u884c\u6e96\u5099<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u51e6\u7406\u3057\u305f\u3044\u97f3\u58f0\u30c7\u30fc\u30bf (&#8220;.wav&#8221;, &#8220;.mp3&#8221;, &#8220;.mp4&#8221;, &#8220;.m4a&#8221;, &#8220;.mkv&#8221;, &#8220;.webm&#8221;) \u3068\u4e0b\u8a18\u306e\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\u3057\u3066 soundfile_normalization.py \u306e\u540d\u524d\u3067\u4fdd\u5b58\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u69cb\u9020\u3067\u6e96\u5099\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\u4efb\u610f\u306e\u30d5\u30a9\u30eb\u30c0\n   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">soundfile_normalization<\/span><span class=\"hljs-selector-class\">.py<\/span>\n   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">input<\/span> (\u30d5\u30a9\u30eb\u30c0)\n   \u2502\u2514\u2500\u2500 (\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u5165\u308c\u308b)  \n   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">output<\/span> (\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3089\u81ea\u52d5\u3067\u751f\u6210\u3055\u308c\u307e\u3059)\n   \u2502\u2514\u2500\u2500 (\u51e6\u7406\u5f8c\u306e\u97f3\u58f0\u30c7\u30fc\u30bf\u304c\u81ea\u52d5\u3067\u683c\u7d0d\u3055\u308c\u307e\u3059)  \n   \u2514\u2500\u2500 <span class=\"hljs-selector-tag\">done_original<\/span> (\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3089\u81ea\u52d5\u3067\u751f\u6210\u3055\u308c\u307e\u3059)\n   \u3000\u2514\u2500\u2500 (\u51e6\u7406\u5f8c\u306e\u5143\u30c7\u30fc\u30bf\u304c\u81ea\u52d5\u3067\u683c\u7d0d\u3055\u308c\u307e\u3059)  <\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>GitHub\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u3082\u69cb\u3044\u307e\u305b\u3093\u3002Git\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u4eba\u306f\u3001<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">git <span class=\"hljs-keyword\">clone<\/span> https:<span class=\"hljs-comment\">\/\/github.com\/shoei05\/soundfile_normalization.git<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u3067\u30af\u30ed\u30fc\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3082\u3057\u304f\u306f\u3001<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/shoei05\/soundfile_normalization\/\">https:\/\/github.com\/shoei05\/soundfile_normalization\/tree\/main<\/a><\/p>\n\n\n\n<p>\u304b\u3089 Zip \u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"892\" height=\"816\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-29.png\" alt=\"\" class=\"wp-image-2592\" style=\"width:461px;height:auto\" srcset=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-29.png 892w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-29-300x274.png 300w, https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/image-29-768x703.png 768w\" sizes=\"auto, (max-width: 892px) 100vw, 892px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Python%E3%82%B3%E3%83%BC%E3%83%89\"><\/span>Python\u30b3\u30fc\u30c9<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import os\nfrom pydub import AudioSegment\nfrom pydub.effects import normalize\nfrom tqdm import tqdm\nimport logging\nfrom concurrent.futures import ThreadPoolExecutor\nimport shutil\nimport tempfile\nimport uuid\n\n<span class=\"hljs-comment\"># \u30ed\u30b0\u306e\u8a2d\u5b9a<\/span>\nlogging.basicConfig(filename=<span class=\"hljs-string\">'preprocessing.log'<\/span>, level=logging.INFO,\n                    format=<span class=\"hljs-string\">'%(asctime)s - %(levelname)s - %(message)s'<\/span>)\n\ndef replace_spaces(filename):\n    <span class=\"hljs-keyword\">return<\/span> filename.replace(<span class=\"hljs-string\">\" \"<\/span>, <span class=\"hljs-string\">\"_\"<\/span>)\n\ndef preprocess_audio(input_path, output_path, noise_reduction_db, done_folder):\n    <span class=\"hljs-keyword\">try<\/span>:\n        <span class=\"hljs-keyword\">if<\/span> not os.path.exists(input_path):\n            raise FileNotFoundError(f<span class=\"hljs-string\">\"Input file not found: {input_path}\"<\/span>)\n\n        temp_dir = tempfile.gettempdir()\n        temp_id = str(uuid.uuid4())\n        temp_wav = os.path.join(temp_dir, f<span class=\"hljs-string\">\"temp_{temp_id}.wav\"<\/span>)\n        temp_denoised = os.path.join(temp_dir, f<span class=\"hljs-string\">\"temp_denoised_{temp_id}.wav\"<\/span>)\n\n        _, extension = os.path.splitext(input_path)\n        extension = extension.lower()\n\n        <span class=\"hljs-comment\"># \u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u4e00\u6642\u7684\u306bwav\u5f62\u5f0f\u3067\u4fdd\u5b58<\/span>\n        audio = AudioSegment.from_file(input_path, format=extension.lstrip(<span class=\"hljs-string\">'.'<\/span>))\n        audio.export(temp_wav, format=<span class=\"hljs-string\">\"wav\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u30ce\u30a4\u30ba\u9664\u53bb<\/span>\n        denoise_command = f<span class=\"hljs-string\">\"ffmpeg -i {temp_wav} -af 'afftdn=nr={noise_reduction_db}' {temp_denoised} -y\"<\/span>\n        <span class=\"hljs-keyword\">if<\/span> os.system(denoise_command) != <span class=\"hljs-number\">0<\/span>:\n            raise RuntimeError(f<span class=\"hljs-string\">\"Error executing ffmpeg command: {denoise_command}\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u30ce\u30a4\u30ba\u9664\u53bb\u5f8c\u306e\u97f3\u58f0\u3092\u8aad\u307f\u8fbc\u307f<\/span>\n        audio = AudioSegment.from_wav(temp_denoised)\n\n        <span class=\"hljs-comment\"># \u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30ec\u30fc\u30c8\u306e\u5909\u63db<\/span>\n        audio = audio.set_frame_rate(<span class=\"hljs-number\">16000<\/span>)\n\n        <span class=\"hljs-comment\"># \u97f3\u58f0\u306e\u6b63\u898f\u5316<\/span>\n        normalized_audio = normalize(audio)\n\n        <span class=\"hljs-comment\"># \u6b63\u898f\u5316\u3055\u308c\u305f\u97f3\u58f0\u3092\u8aad\u307f\u8fbc\u3093\u3067mp3\u5f62\u5f0f\u3067\u4fdd\u5b58<\/span>\n        normalized_audio.export(output_path, format=<span class=\"hljs-string\">\"mp3\"<\/span>)\n\n        <span class=\"hljs-comment\"># \u51e6\u7406\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092done\u30d5\u30a9\u30eb\u30c0\u306b\u79fb\u52d5<\/span>\n        shutil.move(input_path, os.path.join(done_folder, replace_spaces(os.path.basename(input_path))))\n\n        logging.info(f<span class=\"hljs-string\">\"Preprocessed {input_path}\"<\/span>)\n\n    except <span class=\"hljs-keyword\">Exception<\/span> <span class=\"hljs-keyword\">as<\/span> e:\n        logging.error(f<span class=\"hljs-string\">\"Error processing {input_path}: {str(e)}\"<\/span>)\n        raise\n\n    <span class=\"hljs-keyword\">finally<\/span>:\n        <span class=\"hljs-comment\"># \u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664<\/span>\n        <span class=\"hljs-keyword\">for<\/span> temp_file in &#91;temp_wav, temp_denoised]:\n            <span class=\"hljs-keyword\">if<\/span> os.path.exists(temp_file):\n                os.remove(temp_file)\n\ndef process_files(input_folder, output_folder, noise_reduction_db, max_workers, done_folder):\n    audio_files = &#91;f <span class=\"hljs-keyword\">for<\/span> f in os.listdir(input_folder) <span class=\"hljs-keyword\">if<\/span> f.lower().endswith((<span class=\"hljs-string\">\".wav\"<\/span>, <span class=\"hljs-string\">\".mp3\"<\/span>, <span class=\"hljs-string\">\".mp4\"<\/span>, <span class=\"hljs-string\">\".m4a\"<\/span>, <span class=\"hljs-string\">\".mkv\"<\/span>, <span class=\"hljs-string\">\".webm\"<\/span>))]\n    total_files = len(audio_files)\n\n    progress_bar = tqdm(total=total_files, unit=<span class=\"hljs-string\">'file'<\/span>)\n\n    with ThreadPoolExecutor(max_workers=max_workers) <span class=\"hljs-keyword\">as<\/span> executor:\n        futures = &#91;]\n        <span class=\"hljs-keyword\">for<\/span> filename in audio_files:\n            input_path = os.path.join(input_folder, filename)\n            output_path = os.path.join(output_folder, f<span class=\"hljs-string\">\"{os.path.splitext(replace_spaces(filename))&#91;0]}.mp3\"<\/span>)\n            futures.append(executor.submit(preprocess_audio, input_path, output_path, noise_reduction_db, done_folder))\n\n        <span class=\"hljs-keyword\">for<\/span> future in futures:\n            <span class=\"hljs-keyword\">try<\/span>:\n                future.result()\n                progress_bar.update()\n            except <span class=\"hljs-keyword\">Exception<\/span> <span class=\"hljs-keyword\">as<\/span> e:\n                logging.error(f<span class=\"hljs-string\">\"Error in parallel processing: {str(e)}\"<\/span>)\n\n    progress_bar.close()\n\n<span class=\"hljs-keyword\">if<\/span> __name__ == <span class=\"hljs-string\">\"__main__\"<\/span>:\n    input_folder = <span class=\"hljs-string\">'.\/p_input'<\/span>\n    output_folder = <span class=\"hljs-string\">'.\/input'<\/span>\n    done_folder = <span class=\"hljs-string\">'.\/p_done'<\/span>\n    noise_reduction_db = <span class=\"hljs-number\">10<\/span>\n    max_workers = <span class=\"hljs-number\">4<\/span>\n\n    os.makedirs(output_folder, exist_ok=<span class=\"hljs-keyword\">True<\/span>)\n    os.makedirs(done_folder, exist_ok=<span class=\"hljs-keyword\">True<\/span>)\n\n    process_files(input_folder, output_folder, noise_reduction_db, max_workers, done_folder)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_%E5%AE%9F%E8%A1%8C\"><\/span>5. \u5b9f\u884c<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\/\u30bf\u30fc\u30df\u30ca\u30eb\u3067\u3001cd \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066replace_text.py\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u307e\u3059\u3002\u524d\u56de\u306e\u8a18\u4e8b\u3082\u53c2\u7167\u3057\u3066\u4e0b\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-shoei-05 wp-block-embed-shoei-05\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"LCdqdSA9N2\"><a href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/\">Excel \u3067\u4f5c\u3063\u305f\u8868\u3067\u8aa4\u5b57\u3092\u4e00\u62ec\u4fee\u6b63 (Google Colab)<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Excel \u3067\u4f5c\u3063\u305f\u8868\u3067\u8aa4\u5b57\u3092\u4e00\u62ec\u4fee\u6b63 (Google Colab)&#8221; &#8212; shoei05\" src=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/embed\/#?secret=nGAYaVxyrC#?secret=LCdqdSA9N2\" data-secret=\"LCdqdSA9N2\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">sound_normalization<\/span><span class=\"hljs-selector-class\">.py<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u51e6\u7406\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001output \u30d5\u30a9\u30eb\u30c0\u304c\u81ea\u52d5\u751f\u6210\u3055\u308c\u3001\u51e6\u7406\u5f8c\u306e\u97f3\u58f0\u30c7\u30fc\u30bf\u304c .mp3 \u5f62\u5f0f\u3067\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u51e6\u7406\u524d\u306e\u30c7\u30fc\u30bf\u306f input_original \u30d5\u30a9\u30eb\u30c0\u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u51e6\u7406\u306f\u4e26\u5217\u3067\u51e6\u7406\u304c\u53ef\u80fd\u3067\u3059\u3002\u5b9f\u884c\u3057\u305f\u3044\u97f3\u58f0\u30c7\u30fc\u30bf\u3092\u30d5\u30a9\u30eb\u30c0\u306b\u307e\u3068\u3081\u3066\u3044\u308c\u3066\u304b\u3089\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u4e00\u62ec\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u304c\u5b8c\u4e86\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%BE%E3%81%A8%E3%82%81\"><\/span>\u307e\u3068\u3081<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u4eca\u56de\u306f\u3001\u79c1\u304c\u666e\u6bb5\u4f7f\u3044\u3057\u3066\u3044\u308bPython\u30b3\u30fc\u30c9\u306e\u7d39\u4ecb\u7b2c2\u6bb5\u3068\u3057\u3066\u3001\u97f3\u58f0\u30c7\u30fc\u30bf\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316\u3092\u81ea\u52d5\u5316\u3059\u308b\u624b\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u97f3\u58f0\u30c7\u30fc\u30bf\u306e\u8cea\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u306f\u3001\u6587\u5b57\u8d77\u3053\u3057\u306e\u7cbe\u5ea6\u5411\u4e0a\u306b\u76f4\u7d50\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u97f3\u58f0\u8a8d\u8b58\u3092\u4f7f\u3063\u305f\u30b7\u30b9\u30c6\u30e0\u958b\u767a\u3084\u3001\u3088\u308a\u5feb\u9069\u306a\u97f3\u58f0\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u63d0\u4f9b\u306b\u3082\u5f79\u7acb\u3061\u307e\u3059\u3002\u305c\u3072\u3001\u4eca\u56de\u3054\u7d39\u4ecb\u3057\u305f\u30b3\u30fc\u30c9\u3092\u53c2\u8003\u306b\u3001\u3054\u81ea\u8eab\u306e\u74b0\u5883\u3067\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"ja\" dir=\"ltr\">\u79c1\u306e\u666e\u6bb5\u4f7f\u3063\u3066\u3044\u308bPython\u30b3\u30fc\u30c9\u7d39\u4ecb\u3001\u7b2c2\u6bb5\u3067\u3059\u3002\u97f3\u58f0\u30c7\u30fc\u30bf\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316\u3092\u81ea\u52d5\u5316\u3059\u308b\u624b\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002Whisper \u306a\u3069\u306e\u97f3\u58f0\u66f8\u304d\u8d77\u3053\u3057\u306e\u524d\u51e6\u7406\u306b\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002Google Colab\u4e0a\u3067\u52d5\u304b\u305b\u308b\u30b3\u30fc\u30c9\u3082\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u305c\u3072\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002 <a href=\"https:\/\/t.co\/CaAgpRlWYn\">https:\/\/t.co\/CaAgpRlWYn<\/a><\/p>&mdash; Shoei (@shoei05) <a href=\"https:\/\/twitter.com\/shoei05\/status\/1794566038669107304?ref_src=twsrc%5Etfw\">May 26, 2024<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n<div class=\"speaker-mute footnotes_reference_container\"> <div class=\"footnote_container_prepare\"><p><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_label pointer\" onclick=\"footnote_expand_collapse_reference_container_2546_1();\">References<\/span><span role=\"button\" tabindex=\"0\" class=\"footnote_reference_container_collapse_button\" style=\"display: none;\" onclick=\"footnote_expand_collapse_reference_container_2546_1();\">[<a id=\"footnote_reference_container_collapse_button_2546_1\">+<\/a>]<\/span><\/p><\/div> <div id=\"footnote_references_container_2546_1\" style=\"\"><table class=\"footnotes_table footnote-reference-container\"><caption class=\"accessibility\">References<\/caption> <tbody> \r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_2546_1('footnote_plugin_tooltip_2546_1_1');\"><a id=\"footnote_plugin_reference_2546_1_1\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>1<\/a><\/th> <td class=\"footnote_plugin_text\">Excel \u3067\u4f5c\u3063\u305f\u8868\u3067\u8aa4\u5b57\u3092\u4e00\u62ec\u4fee\u6b63 (Google Colab). <a href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/\"><span class=\"footnote_url_wrap\">https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/25\/2518\/<\/span><\/a> <\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_2546_1('footnote_plugin_tooltip_2546_1_2');\"><a id=\"footnote_plugin_reference_2546_1_2\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>2<\/a><\/th> <td class=\"footnote_plugin_text\"><a href=\"https:\/\/github.com\/shoei05\/soundfile_normalization\/\"><span class=\"footnote_url_wrap\">https:\/\/github.com\/shoei05\/soundfile_normalization\/<\/span><\/a> <\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_2546_1('footnote_plugin_tooltip_2546_1_3');\"><a id=\"footnote_plugin_reference_2546_1_3\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>3<\/a><\/th> <td class=\"footnote_plugin_text\">\u6771\u4eac\u5927\u5b66 \u6570\u7406\u30fb\u60c5\u5831\u6559\u80b2\u7814\u7a76\u30bb\u30f3\u30bf\u30fc. Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5165\u9580. <a href=\"https:\/\/utokyo-ipp.github.io\/\"><span class=\"footnote_url_wrap\">https:\/\/utokyo-ipp.github.io\/<\/span><\/a> <\/td><\/tr>\r\n\r\n<tr class=\"footnotes_plugin_reference_row\"> <th scope=\"row\" class=\"footnote_plugin_index_combi pointer\"  onclick=\"footnote_moveToAnchor_2546_1('footnote_plugin_tooltip_2546_1_4');\"><a id=\"footnote_plugin_reference_2546_1_4\" class=\"footnote_backlink\"><span class=\"footnote_index_arrow\">&#8593;<\/span>4<\/a><\/th> <td class=\"footnote_plugin_text\">FFmpeg. Accessed May 4, 2021.&nbsp;<a href=\"https:\/\/www.ffmpeg.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"footnote_url_wrap\">https:\/\/www.ffmpeg.org\/<\/span><\/a>&nbsp;<\/td><\/tr>\r\n\r\n <\/tbody> <\/table> <\/div><\/div><script type=\"text\/javascript\"> function footnote_expand_reference_container_2546_1() { jQuery('#footnote_references_container_2546_1').show(); jQuery('#footnote_reference_container_collapse_button_2546_1').text('\u2212'); } function footnote_collapse_reference_container_2546_1() { jQuery('#footnote_references_container_2546_1').hide(); jQuery('#footnote_reference_container_collapse_button_2546_1').text('+'); } function footnote_expand_collapse_reference_container_2546_1() { if (jQuery('#footnote_references_container_2546_1').is(':hidden')) { footnote_expand_reference_container_2546_1(); } else { footnote_collapse_reference_container_2546_1(); } } function footnote_moveToReference_2546_1(p_str_TargetID) { footnote_expand_reference_container_2546_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_2546_1(p_str_TargetID) { footnote_expand_reference_container_2546_1(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }<\/script>","protected":false},"excerpt":{"rendered":"<p>(Gemini 1.5 Pro) \u3042\u306a\u305f\u306fPro\u306eWEB\u30e9\u30a4\u30bf\u30fc\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u7d39\u4ecb\u3059\u308b\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3002\u97f3\u58f0\u306e\u6587\u5b57\u8d77\u3053\u3057\u524d\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u3092\u3057\u3066\u304f\u308c\u308b\u30b3\u30fc\u30c9\u306e\u7d39\u4ecb\u3067\u3059\u3002Python\u3092\u307e\u3060\u89e6\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u4eba\u306b\u3082\u308f\u304b\u308b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2553,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[8],"tags":[],"class_list":["post-2546","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05\" \/>\n<meta property=\"og:description\" content=\"(Gemini 1.5 Pro) \u3042\u306a\u305f\u306fPro\u306eWEB\u30e9\u30a4\u30bf\u30fc\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u7d39\u4ecb\u3059\u308b\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3002\u97f3\u58f0\u306e\u6587\u5b57\u8d77\u3053\u3057\u524d\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u3092\u3057\u3066\u304f\u308c\u308b\u30b3\u30fc\u30c9\u306e\u7d39\u4ecb\u3067\u3059\u3002Python\u3092\u307e\u3060\u89e6\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u4eba\u306b\u3082\u308f\u304b\u308b [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\" \/>\n<meta property=\"og:site_name\" content=\"shoei05\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-26T03:05:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-04T02:48:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"shoei05\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@shoei05\" \/>\n<meta name=\"twitter:site\" content=\"@shoei05\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"shoei05\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\"},\"author\":{\"name\":\"shoei05\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b\"},\"headline\":\"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab)\",\"datePublished\":\"2024-05-26T03:05:01+00:00\",\"dateModified\":\"2024-06-04T02:48:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\"},\"wordCount\":195,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b\"},\"image\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png\",\"articleSection\":[\"\u6280\u8853\u7cfb\"],\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\",\"url\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\",\"name\":\"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05\",\"isPartOf\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png\",\"datePublished\":\"2024-05-26T03:05:01+00:00\",\"dateModified\":\"2024-06-04T02:48:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage\",\"url\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png\",\"contentUrl\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#website\",\"url\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/\",\"name\":\"shoei05\",\"description\":\"Next Process is Our Customer\",\"publisher\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b\",\"name\":\"shoei05\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2021\/01\/logo-1024x538.png\",\"contentUrl\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2021\/01\/logo-1024x538.png\",\"width\":1024,\"height\":538,\"caption\":\"shoei05\"},\"logo\":{\"@id\":\"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/image\/\"},\"description\":\"\u7cbe\u795e\u79d1\u30fb\u7de9\u548c\u30b1\u30a2\u30fb\u516c\u8846\u885b\u751f\u3092\u4e3b\u306a\u30c6\u30fc\u30de\u3068\u3057\u305f\u5b66\u8853\u7684\u5185\u5bb9\u3084\u3001R\u3092\u4f7f\u3063\u305f\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9\u3092\u4e2d\u5fc3\u306b\u3001\u3053\u308c\u307e\u3067\u306e\u899a\u66f8\u30fb\u500b\u4eba\u30e1\u30e2\u306b\u6b8b\u3057\u3066\u3044\u305f\u5185\u5bb9\u3092\u3001\u5c11\u3057\u305a\u3064\u8a18\u4e8b\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002\",\"sameAs\":[\"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\",\"https:\/\/x.com\/shoei05\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/","og_locale":"ja_JP","og_type":"article","og_title":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05","og_description":"(Gemini 1.5 Pro) \u3042\u306a\u305f\u306fPro\u306eWEB\u30e9\u30a4\u30bf\u30fc\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u7d39\u4ecb\u3059\u308b\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3002\u97f3\u58f0\u306e\u6587\u5b57\u8d77\u3053\u3057\u524d\u306e\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u6b63\u898f\u5316\u3092\u3057\u3066\u304f\u308c\u308b\u30b3\u30fc\u30c9\u306e\u7d39\u4ecb\u3067\u3059\u3002Python\u3092\u307e\u3060\u89e6\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u4eba\u306b\u3082\u308f\u304b\u308b [&hellip;]","og_url":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/","og_site_name":"shoei05","article_published_time":"2024-05-26T03:05:01+00:00","article_modified_time":"2024-06-04T02:48:53+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png","type":"image\/png"}],"author":"shoei05","twitter_card":"summary_large_image","twitter_creator":"@shoei05","twitter_site":"@shoei05","twitter_misc":{"\u57f7\u7b46\u8005":"shoei05","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#article","isPartOf":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/"},"author":{"name":"shoei05","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b"},"headline":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab)","datePublished":"2024-05-26T03:05:01+00:00","dateModified":"2024-06-04T02:48:53+00:00","mainEntityOfPage":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/"},"wordCount":195,"commentCount":0,"publisher":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b"},"image":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage"},"thumbnailUrl":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png","articleSection":["\u6280\u8853\u7cfb"],"inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/","url":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/","name":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab) - shoei05","isPartOf":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#website"},"primaryImageOfPage":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage"},"image":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage"},"thumbnailUrl":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png","datePublished":"2024-05-26T03:05:01+00:00","dateModified":"2024-06-04T02:48:53+00:00","breadcrumb":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#primaryimage","url":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png","contentUrl":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2024\/05\/img2.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/2024\/05\/26\/2546\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/plaza.umin.ac.jp\/shoei05\/"},{"@type":"ListItem","position":2,"name":"\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u8d77\u3053\u3057\u3092\u30b9\u30e0\u30fc\u30ba\u306b\uff01 Python\u3067\u30ce\u30a4\u30ba\u9664\u53bb\u3068\u97f3\u91cf\u6b63\u898f\u5316 (Google Colab)"}]},{"@type":"WebSite","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#website","url":"https:\/\/plaza.umin.ac.jp\/shoei05\/","name":"shoei05","description":"Next Process is Our Customer","publisher":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/plaza.umin.ac.jp\/shoei05\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":["Person","Organization"],"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/e4330f139f7be011f6d8e9c1221d539b","name":"shoei05","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/image\/","url":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2021\/01\/logo-1024x538.png","contentUrl":"https:\/\/plaza.umin.ac.jp\/shoei05\/wp\/wp-content\/uploads\/2021\/01\/logo-1024x538.png","width":1024,"height":538,"caption":"shoei05"},"logo":{"@id":"https:\/\/plaza.umin.ac.jp\/shoei05\/#\/schema\/person\/image\/"},"description":"\u7cbe\u795e\u79d1\u30fb\u7de9\u548c\u30b1\u30a2\u30fb\u516c\u8846\u885b\u751f\u3092\u4e3b\u306a\u30c6\u30fc\u30de\u3068\u3057\u305f\u5b66\u8853\u7684\u5185\u5bb9\u3084\u3001R\u3092\u4f7f\u3063\u305f\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9\u3092\u4e2d\u5fc3\u306b\u3001\u3053\u308c\u307e\u3067\u306e\u899a\u66f8\u30fb\u500b\u4eba\u30e1\u30e2\u306b\u6b8b\u3057\u3066\u3044\u305f\u5185\u5bb9\u3092\u3001\u5c11\u3057\u305a\u3064\u8a18\u4e8b\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002","sameAs":["https:\/\/plaza.umin.ac.jp\/shoei05\/wp","https:\/\/x.com\/shoei05"]}]}},"_links":{"self":[{"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/posts\/2546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/comments?post=2546"}],"version-history":[{"count":5,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/posts\/2546\/revisions"}],"predecessor-version":[{"id":2658,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/posts\/2546\/revisions\/2658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/media\/2553"}],"wp:attachment":[{"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/media?parent=2546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/categories?post=2546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/plaza.umin.ac.jp\/shoei05\/index.php\/wp-json\/wp\/v2\/tags?post=2546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}