{"id":8120,"date":"2025-05-18T09:47:16","date_gmt":"2025-05-18T00:47:16","guid":{"rendered":"https:\/\/akibabara.com\/blog\/?p=8120"},"modified":"2025-05-18T10:22:42","modified_gmt":"2025-05-18T01:22:42","slug":"module-llm%e3%81%aellm%e3%81%ae%e5%87%ba%e5%8a%9b%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%82%92%e3%83%aa%e3%83%b3%e3%82%af%e6%a9%9f%e8%83%bd%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e8%87%aa%e5%8b%95","status":"publish","type":"post","link":"https:\/\/akibabara.com\/blog\/8120.html","title":{"rendered":"Module-LLM\u306e\u51fa\u529b\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u3001\u30ea\u30f3\u30af\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u81ea\u52d5\u3067TTS\u3067\u97f3\u58f0\u5408\u6210\u3055\u305b\u3066\u307f\u305f"},"content":{"rendered":"\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d80184865f6&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d80184865f6\" class=\"wp-block-image size-large is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294-1024x576.webp\" alt=\"\" class=\"wp-image-8086\" style=\"width:720px\" srcset=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294-1024x576.webp 1024w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294-300x169.webp 300w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294-768x432.webp 768w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294-1536x864.webp 1536w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294.webp 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">LLM\u304c\u51fa\u529b\u3057\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u97f3\u58f0\u3068\u3057\u3066\u518d\u751f\u3059\u308b\u306b\u306f\u3001TTS\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u5165\u529b\u3057\u3066\u97f3\u58f0\u5408\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u901a\u5e38\u306f\u30c6\u30ad\u30b9\u30c8\u3092TTS\u3078\u9001\u4fe1\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u7528\u610f\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u304c\u3001Module-LLM\u3067\u63a1\u7528\u3055\u308c\u3066\u3044\u308b<a href=\"https:\/\/github.com\/m5stack\/StackFlow\" target=\"_blank\" rel=\"noreferrer noopener\">StackFlow<\/a>\u306b\u306f\u5404\u30e6\u30cb\u30c3\u30c8\u540c\u58eb\u3092\u30ea\u30f3\u30af\u3059\u308b\u6a5f\u80fd\u304c\u5099\u308f\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u30ea\u30f3\u30af\u3059\u308b\u8a2d\u5b9a\u3092\u884c\u3046\u3060\u3051\u3067\u81ea\u52d5\u7684\u306b\u558b\u3063\u3066\u304f\u308c\u307e\u3059\u3002\u4eca\u56de\u306f\u305d\u306e\u30ea\u30f3\u30af\u6a5f\u80fd\u3092\u8a66\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30ea\u30f3\u30af\u306e\u4ed5\u7d44\u307f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/m5stack\/StackFlow\" target=\"_blank\" rel=\"noreferrer noopener\">StackFlow<\/a>\u306b\u306fllm_sys\u3068\u3044\u3046\u5168\u4f53\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u3057\u3066\u3044\u308b\u30e6\u30cb\u30c3\u30c8\u304c\u3042\u308a\u3001LLM\u306e\u30e6\u30cb\u30c3\u30c8llm_llm\u3084\u3001TTS\u306e\u30e6\u30cb\u30c3\u30c8llm_tts\u304c\u7c21\u5358\u306b\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306fTCP \u30dd\u30fc\u30c810001\u304b\u3089Socket\u3067llm_sys\u3068\u901a\u4fe1\u3059\u308b\u304b\u3001\u307e\u305f\u306fUART\u3067\u901a\u4fe1\u3057\u307e\u3059\u3002M5Stack Core\u88fd\u54c1\u3068\u63a5\u7d9a\u3057\u3066\u4f7f\u7528\u3059\u308b\u305f\u3081\u306bUART\u3067\u3082\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u9762\u767d\u3044\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d8018486cce&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d8018486cce\" class=\"wp-block-image size-large is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"296\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1-1024x296.webp\" alt=\"\" class=\"wp-image-8122\" style=\"width:720px\" srcset=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1-1024x296.webp 1024w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1-300x87.webp 300w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1-768x222.webp 768w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1-1536x444.webp 1536w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_stackflow-1.webp 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306f\u3053\u306eLLM\u306e\u51fa\u529b\u3092TTS\u306e\u5165\u529b\u306b\u30ea\u30f3\u30af\u3057\u307e\u3059\u3002\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u5225\u9014\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u3089\u306a\u304f\u3066\u3082\u3001\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u5185\u3067\u81ea\u52d5\u7684\u306b\u558b\u3063\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002StackFlow\u306e\u7d20\u6674\u3089\u3057\u3044\u8a2d\u8a08\uff01<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>def setup_link_llmtts():\n    &quot;&quot;&quot;LLM\u306e\u51fa\u529b\u3092TTS\u306e\u5165\u529b\u306b\u30ea\u30f3\u30af\u3059\u308b&quot;&quot;&quot;\n    global llm_work_id, tts_work_id\n\n    try:\n        request_id = f&quot;link_{int(time.time())}_setup&quot;\n        link_setup = {\n            &quot;request_id&quot;: request_id,\n            &quot;work_id&quot;: tts_work_id,\n            &quot;action&quot;: &quot;link&quot;,\n            &quot;object&quot;: &quot;work_id&quot;,\n            &quot;data&quot;: llm_work_id\n        }\n        send_json_request(sf_sock, link_setup)\n        res = receive_response(sf_sock, 180, request_id)\n        if res and res.get(&#39;error&#39;, {}).get(&#39;code&#39;, -999) != 0:\n            raise Exception(f&#39;LLM\/TTS\u30ea\u30f3\u30af \u30a8\u30e9\u30fc: {res[&quot;error&quot;][&quot;message&quot;]}&#39;)\n        \n    except Exception as e:\n        print(f&#39;\u30a8\u30e9\u30fc setup_link_llmtts: {e}&#39;)\n        return False\n\n    return True<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u5404\u30e6\u30cb\u30c3\u30c8\u306b\u306fwork_id\u3068\u3044\u3046\u56fa\u6709\u306eID\u304c\u3042\u3063\u3066\u3001\u5404\u30e6\u30cb\u30c3\u30c8\u3092\u8d77\u52d5\u3059\u308b\u3068\u304d\u306b\u3053\u306eID\u304c\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\u3053\u3061\u3089\u3067\u306fTTS\u306ework_id\u306bLLM\u306ework_id\u3092\u7e4b\u3052\u3066\u3044\u307e\u3059\u3002<a href=\"https:\/\/github.com\/m5stack\/StackFlow\/blob\/main\/doc\/projects_llm_framework_doc\/llm_tts_en.md\" target=\"_blank\" rel=\"noreferrer noopener\">\u3053\u306e\u8fba\u306b<\/a>\u8aac\u660e\u304c\u3042\u308b\u306e\u3067\u3001\u8208\u5473\u304c\u3042\u308b\u65b9\u306f\u898b\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">StackFlow\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3068\u65e5\u672c\u8a9eTTS\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">StackFlow\u306f\u958b\u767a\u304c\u9032\u3093\u3067\u3044\u3066\u3001\u65b0\u3057\u3044\u30e2\u30c7\u30eb\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u5fc5\u8981\u306a\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002\u307e\u305a\u306f\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u3066\u304a\u304d\u307e\u3059\u3002\uff08&#8211;only-upgrade=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u306e\u307f\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>apt update\napt install --only-upgrade &quot;llm-*&quot;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306b\u65e5\u672c\u8a9eTTS\u30e2\u30c7\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306fmelotts_zh-cn\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u4e2d\u56fd\u8a9e\u3068\u82f1\u8a9e\u306e\u307f\u306a\u306e\u3067\u3001\u65b0\u3057\u3044\u65e5\u672c\u8a9e\u306b\u5bfe\u5fdc\u3057\u305f\u30e2\u30c7\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>apt install llm-model-melotts-ja-jp<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u6e96\u5099\u304c\u3067\u304d\u305f\u3089\u3055\u3063\u305d\u304f\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9f\u884c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d7\u30ed\u30b0\u30e9\u30e0\u306f <a href=\"https:\/\/github.com\/kaz-mac\/misc\/tree\/master\/modulellm-linkdemo\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a> \u306b\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Module-LLM\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002\uff08uv\u74b0\u5883\u4f7f\u7528\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>uv run mcp_llm_gradio.py \\\n  --llmmodel qwen2.5-0.5B-prefill-20e \\\n  --ttsmodel melotts-ja-jp \\\n  --enabletts \\\n  --linktts<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u610f\u5473\u306f\u3001<br>LLM\u3067\u4f7f\u7528\u3059\u308b\u30e2\u30c7\u30eb\u3000&#8211;llmmodel qwen2.5-0.5B-prefill-20e<br>TTS\u3067\u4f7f\u7528\u3059\u308b\u30e2\u30c7\u30eb\u3000&#8211;ttsmodel melotts-ja-jp<br>TTS\u3092\u6709\u52b9\u306b\u3059\u308b\uff08\u3053\u308c\u304c\u306a\u3044\u3068LLM\u306e\u307f\u306b\u306a\u308b\uff09\u3000&#8211;enabletts<br>LLM\u3068TTS\u306b\u30ea\u30f3\u30af\u3059\u308b\u3000&#8211;linktts<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8d77\u52d5\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u304b\u306a\u308a\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8868\u793a\u3055\u308c\u305f\u3089\u6e96\u5099\u5b8c\u4e86\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Starting gradio MCP server...\n* Running on local URL:  http:\/\/0.0.0.0:7860\n* To create a public link, set `share=True` in `launch()`.\n\n\ud83d\udd28 MCP server (using SSE) running at: http:\/\/localhost:7860\/gradio_api\/mcp\/sse<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u4ee5\u4e0b\u306eURL\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\u30db\u30b9\u30c8\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u30a8\u30e9\u30fc\u306b\u306a\u308b\u5834\u5408\u306f\u3001m5stack-llm.local\u306e\u90e8\u5206\u3092IP\u30a2\u30c9\u30ec\u30b9\u306b\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<br>http:\/\/m5stack-llm.local:7860\/<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d801848786b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d801848786b\" class=\"wp-block-image size-large is-resized wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"652\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo-1024x652.webp\" alt=\"\" class=\"wp-image-8125\" style=\"width:720px\" srcset=\"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo-1024x652.webp 1024w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo-300x191.webp 300w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo-768x489.webp 768w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo-1536x977.webp 1536w, https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_mcpllmlinkdemo.webp 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u3057\u3070\u3089\u304f\u5f85\u3064\u3068\u558b\u3063\u3066\u304f\u308c\u307e\u3057\u305f\u3002\u540d\u524d\u306f\uff7d\uff80\uff6f\uff78\uff81\uff6c\uff9d\u3068\u8a00\u3046\u3088\u3046\u3067\u3059\u3002\u304b\u308f\u3044\u3044\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d6\u30e9\u30a6\u30b6\u306e\u753b\u9762\u306fLLM\u306e\u51fa\u529b\u304c\u5168\u3066\u5b8c\u4e86\u3057\u306a\u3044\u3068\u5fdc\u7b54\u306e\u6587\u5b57\u304c\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u304c\u3001Module LLM\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u3092\u898b\u308c\u3070\u7d30\u5207\u308c\u306b\u306a\u3063\u305f\u8a00\u8449\u304c\u6d41\u308c\u3066\u3044\u308b\u306e\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3053\u306e\u51fa\u529b\u304c\u81ea\u52d5\u7684\u306bTTS\u306b\u3082\u9001\u4fe1\u3055\u308c\u3066\u3001TTS\u3067\u97f3\u58f0\u5408\u6210\u3057\u3066\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u518d\u751f\u3055\u308c\u308b\u3068\u3044\u3046\u308f\u3051\u3067\u3059\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<div class=\"embed-twitter\"><blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"ja\" dir=\"ltr\">Module-LLM\u306e\u65e5\u672c\u8a9eTTS\u3067\u97f3\u58f0\u5408\u6210\u3067\u304d\u305f\uff5e\u3002TTS melotts-ja-jp\u306e\u5165\u529b\u306bLLM\u306e\u51fa\u529b\u3092\u30ea\u30f3\u30af\u3055\u305b\u3066\u558b\u3063\u3066\u307e\u3059\u3002 <a href=\"https:\/\/twitter.com\/hashtag\/ModuleLLM?src=hash&amp;ref_src=twsrc%5Etfw\">#ModuleLLM<\/a> <a href=\"https:\/\/t.co\/pH6jwYgCdq\">pic.twitter.com\/pH6jwYgCdq<\/a><\/p>&mdash; Kaz (@Kaz_Macintosh) <a href=\"https:\/\/twitter.com\/Kaz_Macintosh\/status\/1922462642238578925?ref_src=twsrc%5Etfw\">May 14, 2025<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b8b\u5ff5\u306a\u304c\u3089\u73fe\u6642\u70b9\u3067\u306f melotts-ja-jp \u306f\u6570\u5b57\u3084\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u3092\u6b63\u5e38\u306b\u767a\u97f3\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>LLM\u304c\u51fa\u529b\u3057\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u97f3\u58f0\u3068\u3057\u3066\u518d\u751f\u3059\u308b\u306b\u306f\u3001TTS\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u5165\u529b\u3057\u3066\u97f3\u58f0\u5408\u6210\u3059\u308b\u5fc5\u8981\u2026<\/p>\n","protected":false},"author":1,"featured_media":8086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[128,132,145,146],"class_list":{"0":"post-8120","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-other-topic","8":"tag-m5stack","9":"tag-ai","10":"tag-llm","11":"tag-tts","12":"three-column","13":"ar-three-column","14":"au-three-column"},"jetpack_featured_media_url":"https:\/\/akibabara.com\/blog\/wp-content\/uploads\/2025\/05\/xn_IMG_9294.webp","jetpack_shortlink":"https:\/\/wp.me\/pavCgQ-26Y","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/posts\/8120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/comments?post=8120"}],"version-history":[{"count":12,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/posts\/8120\/revisions"}],"predecessor-version":[{"id":8134,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/posts\/8120\/revisions\/8134"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/media\/8086"}],"wp:attachment":[{"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/media?parent=8120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/categories?post=8120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akibabara.com\/blog\/wp-json\/wp\/v2\/tags?post=8120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}