[{"data":1,"prerenderedAt":2392},["ShallowReactive",2],{"content-/qwen3-tts-guide":3,"all-pages-for-dir":2370,"related-/qwen3-tts-guide":2371,"og-image-/qwen3-tts-guide":2391},{"id":4,"title":5,"body":6,"category":2351,"concepts":2352,"description":2353,"extension":2354,"meta":2355,"navigation":174,"ogImage":2352,"path":2356,"project_name":2352,"published":2357,"publishedAt":2358,"seo":2359,"source":2352,"stem":2360,"tags":2361,"todo":2367,"unpublished":2357,"updatedAt":2368,"__hash__":2369},"pages/2026-01/2026-01-23/qwen3-tts-guide.md","Qwen3-TTS セットアップ & 使い方ガイド",{"type":7,"value":8,"toc":2327},"minimark",[9,13,17,21,44,47,50,94,99,129,131,135,139,194,198,207,211,214,223,226,228,231,235,238,242,248,581,584,593,596,601,858,861,875,878,887,889,893,896,901,1228,1230,1234,1237,1242,1660,1663,1774,1776,1780,1982,1984,1988,1991,2168,2170,2173,2177,2191,2194,2197,2212,2215,2277,2280,2293,2295,2298,2323],[10,11,5],"h1",{"id":12},"qwen3-tts-セットアップ-使い方ガイド",[14,15,16],"h2",{"id":16},"概要",[18,19,20],"p",{},"Qwen3-TTSはAlibabaのQwenチームが開発したオープンソースのText-to-Speechモデル。10言語対応（日本語含む）で、以下の機能を持つ：",[22,23,24,32,38],"ul",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Voice Clone",": 3秒の音声サンプルから声をクローン",[25,33,34,37],{},[28,35,36],{},"Voice Design",": 自然言語で声の特徴を指定して生成",[25,39,40,43],{},[28,41,42],{},"Custom Voice",": プリセット9種類の声 + 感情・話し方の制御",[45,46],"hr",{},[14,48,49],{"id":49},"動作環境",[51,52,53,66],"table",{},[54,55,56],"thead",{},[57,58,59,63],"tr",{},[60,61,62],"th",{},"項目",[60,64,65],{},"要件",[67,68,69,78,86],"tbody",{},[57,70,71,75],{},[72,73,74],"td",{},"Python",[72,76,77],{},"3.12 推奨（3.10以上）",[57,79,80,83],{},[72,81,82],{},"GPU",[72,84,85],{},"CUDA対応GPU（VRAM 8GB以上推奨）",[57,87,88,91],{},[72,89,90],{},"OS",[72,92,93],{},"Windows / Linux",[95,96,98],"h3",{"id":97},"モデル別vram目安","モデル別VRAM目安",[51,100,101,111],{},[54,102,103],{},[57,104,105,108],{},[60,106,107],{},"モデル",[60,109,110],{},"VRAM使用量（bfloat16）",[67,112,113,121],{},[57,114,115,118],{},[72,116,117],{},"1.7B",[72,119,120],{},"約3.4GB",[57,122,123,126],{},[72,124,125],{},"0.6B",[72,127,128],{},"約1.2GB",[45,130],{},[14,132,134],{"id":133},"セットアップuv使用","セットアップ（uv使用）",[95,136,138],{"id":137},"_1-プロジェクト作成","1. プロジェクト作成",[140,141,146],"pre",{"className":142,"code":143,"language":144,"meta":145,"style":145},"language-cmd shiki shiki-themes vitesse-light vitesse-light","cd C:\\Users\\numbe\nmkdir qwen-tts-test\ncd qwen-tts-test\n\nuv init\nuv python install 3.12\nuv python pin 3.12\n","cmd","",[147,148,149,157,163,169,176,182,188],"code",{"__ignoreMap":145},[150,151,154],"span",{"class":152,"line":153},"line",1,[150,155,156],{},"cd C:\\Users\\numbe\n",[150,158,160],{"class":152,"line":159},2,[150,161,162],{},"mkdir qwen-tts-test\n",[150,164,166],{"class":152,"line":165},3,[150,167,168],{},"cd qwen-tts-test\n",[150,170,172],{"class":152,"line":171},4,[150,173,175],{"emptyLinePlaceholder":174},true,"\n",[150,177,179],{"class":152,"line":178},5,[150,180,181],{},"uv init\n",[150,183,185],{"class":152,"line":184},6,[150,186,187],{},"uv python install 3.12\n",[150,189,191],{"class":152,"line":190},7,[150,192,193],{},"uv python pin 3.12\n",[95,195,197],{"id":196},"_2-依存関係インストール","2. 依存関係インストール",[140,199,201],{"className":142,"code":200,"language":144,"meta":145,"style":145},"uv add qwen-tts\n",[147,202,203],{"__ignoreMap":145},[150,204,205],{"class":152,"line":153},[150,206,200],{},[95,208,210],{"id":209},"_3-オプションflashattention-2","3. （オプション）FlashAttention 2",[18,212,213],{},"高速化・VRAM節約のためのオプション。Windowsでは少し面倒なので、まずはなしで試してOK。",[140,215,217],{"className":142,"code":216,"language":144,"meta":145,"style":145},"uv add flash-attn --no-build-isolation\n",[147,218,219],{"__ignoreMap":145},[150,220,221],{"class":152,"line":153},[150,222,216],{},[18,224,225],{},"※ビルドに時間がかかる & 失敗することもある。なくても動作する。",[45,227],{},[14,229,230],{"id":230},"使い方",[95,232,234],{"id":233},"voice-clone音声クローン","Voice Clone（音声クローン）",[18,236,237],{},"3秒程度の音声サンプルから声をクローンして、任意のテキストを読み上げる。",[239,240,241],"h4",{"id":241},"サンプル音声でテスト",[18,243,244,247],{},[147,245,246],{},"voice_clone_test.py",":",[140,249,253],{"className":250,"code":251,"language":252,"meta":145,"style":145},"language-python shiki shiki-themes vitesse-light vitesse-light","import torch\nimport soundfile as sf\nfrom qwen_tts import Qwen3TTSModel\n\n# モデルロード（初回はダウンロードに数分かかる）\nmodel = Qwen3TTSModel.from_pretrained(\n    \"Qwen/Qwen3-TTS-12Hz-1.7B-Base\",\n    device_map=\"cuda:0\",\n    dtype=torch.bfloat16,\n)\n\n# 公式サンプル音声\nref_audio = \"https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav\"\nref_text = \"Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you.\"\n\nwavs, sr = model.generate_voice_clone(\n    text=\"Hello! This is a test of voice cloning.\",\n    language=\"English\",\n    ref_audio=ref_audio,\n    ref_text=ref_text,\n)\n\nsf.write(\"output_clone_test.wav\", wavs[0], sr)\nprint(\"Done! Check output_clone_test.wav\")\n","python",[147,254,255,265,278,291,295,301,322,338,356,374,380,385,391,408,423,428,452,469,486,499,512,517,522,563],{"__ignoreMap":145},[150,256,257,261],{"class":152,"line":153},[150,258,260],{"class":259},"sHkkW","import",[150,262,264],{"class":263},"sG7-3"," torch\n",[150,266,267,269,272,275],{"class":152,"line":159},[150,268,260],{"class":259},[150,270,271],{"class":263}," soundfile ",[150,273,274],{"class":259},"as",[150,276,277],{"class":263}," sf\n",[150,279,280,283,286,288],{"class":152,"line":165},[150,281,282],{"class":259},"from",[150,284,285],{"class":263}," qwen_tts ",[150,287,260],{"class":259},[150,289,290],{"class":263}," Qwen3TTSModel\n",[150,292,293],{"class":152,"line":171},[150,294,175],{"emptyLinePlaceholder":174},[150,296,297],{"class":152,"line":178},[150,298,300],{"class":299},"sxvE3","# モデルロード（初回はダウンロードに数分かかる）\n",[150,302,303,306,310,313,316,319],{"class":152,"line":184},[150,304,305],{"class":263},"model ",[150,307,309],{"class":308},"shFtX","=",[150,311,312],{"class":263}," Qwen3TTSModel",[150,314,315],{"class":308},".",[150,317,318],{"class":263},"from_pretrained",[150,320,321],{"class":308},"(\n",[150,323,324,328,332,335],{"class":152,"line":190},[150,325,327],{"class":326},"sMJiu","    \"",[150,329,331],{"class":330},"sdGka","Qwen/Qwen3-TTS-12Hz-1.7B-Base",[150,333,334],{"class":326},"\"",[150,336,337],{"class":308},",\n",[150,339,341,345,347,349,352,354],{"class":152,"line":340},8,[150,342,344],{"class":343},"s4oTP","    device_map",[150,346,309],{"class":308},[150,348,334],{"class":326},[150,350,351],{"class":330},"cuda:0",[150,353,334],{"class":326},[150,355,337],{"class":308},[150,357,359,362,364,367,369,372],{"class":152,"line":358},9,[150,360,361],{"class":343},"    dtype",[150,363,309],{"class":308},[150,365,366],{"class":263},"torch",[150,368,315],{"class":308},[150,370,371],{"class":263},"bfloat16",[150,373,337],{"class":308},[150,375,377],{"class":152,"line":376},10,[150,378,379],{"class":308},")\n",[150,381,383],{"class":152,"line":382},11,[150,384,175],{"emptyLinePlaceholder":174},[150,386,388],{"class":152,"line":387},12,[150,389,390],{"class":299},"# 公式サンプル音声\n",[150,392,394,397,399,402,405],{"class":152,"line":393},13,[150,395,396],{"class":263},"ref_audio ",[150,398,309],{"class":308},[150,400,401],{"class":326}," \"",[150,403,404],{"class":330},"https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav",[150,406,407],{"class":326},"\"\n",[150,409,411,414,416,418,421],{"class":152,"line":410},14,[150,412,413],{"class":263},"ref_text ",[150,415,309],{"class":308},[150,417,401],{"class":326},[150,419,420],{"class":330},"Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you.",[150,422,407],{"class":326},[150,424,426],{"class":152,"line":425},15,[150,427,175],{"emptyLinePlaceholder":174},[150,429,431,434,437,440,442,445,447,450],{"class":152,"line":430},16,[150,432,433],{"class":263},"wavs",[150,435,436],{"class":308},",",[150,438,439],{"class":263}," sr ",[150,441,309],{"class":308},[150,443,444],{"class":263}," model",[150,446,315],{"class":308},[150,448,449],{"class":263},"generate_voice_clone",[150,451,321],{"class":308},[150,453,455,458,460,462,465,467],{"class":152,"line":454},17,[150,456,457],{"class":343},"    text",[150,459,309],{"class":308},[150,461,334],{"class":326},[150,463,464],{"class":330},"Hello! This is a test of voice cloning.",[150,466,334],{"class":326},[150,468,337],{"class":308},[150,470,472,475,477,479,482,484],{"class":152,"line":471},18,[150,473,474],{"class":343},"    language",[150,476,309],{"class":308},[150,478,334],{"class":326},[150,480,481],{"class":330},"English",[150,483,334],{"class":326},[150,485,337],{"class":308},[150,487,489,492,494,497],{"class":152,"line":488},19,[150,490,491],{"class":343},"    ref_audio",[150,493,309],{"class":308},[150,495,496],{"class":263},"ref_audio",[150,498,337],{"class":308},[150,500,502,505,507,510],{"class":152,"line":501},20,[150,503,504],{"class":343},"    ref_text",[150,506,309],{"class":308},[150,508,509],{"class":263},"ref_text",[150,511,337],{"class":308},[150,513,515],{"class":152,"line":514},21,[150,516,379],{"class":308},[150,518,520],{"class":152,"line":519},22,[150,521,175],{"emptyLinePlaceholder":174},[150,523,525,528,530,533,536,538,541,543,545,548,551,555,558,561],{"class":152,"line":524},23,[150,526,527],{"class":263},"sf",[150,529,315],{"class":308},[150,531,532],{"class":263},"write",[150,534,535],{"class":308},"(",[150,537,334],{"class":326},[150,539,540],{"class":330},"output_clone_test.wav",[150,542,334],{"class":326},[150,544,436],{"class":308},[150,546,547],{"class":263}," wavs",[150,549,550],{"class":308},"[",[150,552,554],{"class":553},"sM54T","0",[150,556,557],{"class":308},"],",[150,559,560],{"class":263}," sr",[150,562,379],{"class":308},[150,564,566,570,572,574,577,579],{"class":152,"line":565},24,[150,567,569],{"class":568},"sz8Xr","print",[150,571,535],{"class":308},[150,573,334],{"class":326},[150,575,576],{"class":330},"Done! Check output_clone_test.wav",[150,578,334],{"class":326},[150,580,379],{"class":308},[18,582,583],{},"実行：",[140,585,587],{"className":142,"code":586,"language":144,"meta":145,"style":145},"uv run python voice_clone_test.py\n",[147,588,589],{"__ignoreMap":145},[150,590,591],{"class":152,"line":153},[150,592,586],{},[239,594,595],{"id":595},"自分の声でクローン",[18,597,598,247],{},[147,599,600],{},"my_voice_clone.py",[140,602,604],{"className":250,"code":603,"language":252,"meta":145,"style":145},"import torch\nimport soundfile as sf\nfrom qwen_tts import Qwen3TTSModel\n\nmodel = Qwen3TTSModel.from_pretrained(\n    \"Qwen/Qwen3-TTS-12Hz-1.7B-Base\",\n    device_map=\"cuda:0\",\n    dtype=torch.bfloat16,\n)\n\n# 自分の音声ファイル（3秒程度のwav）\nref_audio = \"my_voice_sample.wav\"\nref_text = \"ここに音声ファイルで話している内容を書く\"\n\n# 日本語で生成\nwavs, sr = model.generate_voice_clone(\n    text=\"こんにちは、これは音声クローンのテストです。私の声で読み上げています。\",\n    language=\"Japanese\",\n    ref_audio=ref_audio,\n    ref_text=ref_text,\n)\n\nsf.write(\"my_cloned_voice.wav\", wavs[0], sr)\nprint(\"Done!\")\n",[147,605,606,612,622,632,636,650,660,674,688,692,696,701,714,727,731,736,754,769,784,794,804,808,812,843],{"__ignoreMap":145},[150,607,608,610],{"class":152,"line":153},[150,609,260],{"class":259},[150,611,264],{"class":263},[150,613,614,616,618,620],{"class":152,"line":159},[150,615,260],{"class":259},[150,617,271],{"class":263},[150,619,274],{"class":259},[150,621,277],{"class":263},[150,623,624,626,628,630],{"class":152,"line":165},[150,625,282],{"class":259},[150,627,285],{"class":263},[150,629,260],{"class":259},[150,631,290],{"class":263},[150,633,634],{"class":152,"line":171},[150,635,175],{"emptyLinePlaceholder":174},[150,637,638,640,642,644,646,648],{"class":152,"line":178},[150,639,305],{"class":263},[150,641,309],{"class":308},[150,643,312],{"class":263},[150,645,315],{"class":308},[150,647,318],{"class":263},[150,649,321],{"class":308},[150,651,652,654,656,658],{"class":152,"line":184},[150,653,327],{"class":326},[150,655,331],{"class":330},[150,657,334],{"class":326},[150,659,337],{"class":308},[150,661,662,664,666,668,670,672],{"class":152,"line":190},[150,663,344],{"class":343},[150,665,309],{"class":308},[150,667,334],{"class":326},[150,669,351],{"class":330},[150,671,334],{"class":326},[150,673,337],{"class":308},[150,675,676,678,680,682,684,686],{"class":152,"line":340},[150,677,361],{"class":343},[150,679,309],{"class":308},[150,681,366],{"class":263},[150,683,315],{"class":308},[150,685,371],{"class":263},[150,687,337],{"class":308},[150,689,690],{"class":152,"line":358},[150,691,379],{"class":308},[150,693,694],{"class":152,"line":376},[150,695,175],{"emptyLinePlaceholder":174},[150,697,698],{"class":152,"line":382},[150,699,700],{"class":299},"# 自分の音声ファイル（3秒程度のwav）\n",[150,702,703,705,707,709,712],{"class":152,"line":387},[150,704,396],{"class":263},[150,706,309],{"class":308},[150,708,401],{"class":326},[150,710,711],{"class":330},"my_voice_sample.wav",[150,713,407],{"class":326},[150,715,716,718,720,722,725],{"class":152,"line":393},[150,717,413],{"class":263},[150,719,309],{"class":308},[150,721,401],{"class":326},[150,723,724],{"class":330},"ここに音声ファイルで話している内容を書く",[150,726,407],{"class":326},[150,728,729],{"class":152,"line":410},[150,730,175],{"emptyLinePlaceholder":174},[150,732,733],{"class":152,"line":425},[150,734,735],{"class":299},"# 日本語で生成\n",[150,737,738,740,742,744,746,748,750,752],{"class":152,"line":430},[150,739,433],{"class":263},[150,741,436],{"class":308},[150,743,439],{"class":263},[150,745,309],{"class":308},[150,747,444],{"class":263},[150,749,315],{"class":308},[150,751,449],{"class":263},[150,753,321],{"class":308},[150,755,756,758,760,762,765,767],{"class":152,"line":454},[150,757,457],{"class":343},[150,759,309],{"class":308},[150,761,334],{"class":326},[150,763,764],{"class":330},"こんにちは、これは音声クローンのテストです。私の声で読み上げています。",[150,766,334],{"class":326},[150,768,337],{"class":308},[150,770,771,773,775,777,780,782],{"class":152,"line":471},[150,772,474],{"class":343},[150,774,309],{"class":308},[150,776,334],{"class":326},[150,778,779],{"class":330},"Japanese",[150,781,334],{"class":326},[150,783,337],{"class":308},[150,785,786,788,790,792],{"class":152,"line":488},[150,787,491],{"class":343},[150,789,309],{"class":308},[150,791,496],{"class":263},[150,793,337],{"class":308},[150,795,796,798,800,802],{"class":152,"line":501},[150,797,504],{"class":343},[150,799,309],{"class":308},[150,801,509],{"class":263},[150,803,337],{"class":308},[150,805,806],{"class":152,"line":514},[150,807,379],{"class":308},[150,809,810],{"class":152,"line":519},[150,811,175],{"emptyLinePlaceholder":174},[150,813,814,816,818,820,822,824,827,829,831,833,835,837,839,841],{"class":152,"line":524},[150,815,527],{"class":263},[150,817,315],{"class":308},[150,819,532],{"class":263},[150,821,535],{"class":308},[150,823,334],{"class":326},[150,825,826],{"class":330},"my_cloned_voice.wav",[150,828,334],{"class":326},[150,830,436],{"class":308},[150,832,547],{"class":263},[150,834,550],{"class":308},[150,836,554],{"class":553},[150,838,557],{"class":308},[150,840,560],{"class":263},[150,842,379],{"class":308},[150,844,845,847,849,851,854,856],{"class":152,"line":565},[150,846,569],{"class":568},[150,848,535],{"class":308},[150,850,334],{"class":326},[150,852,853],{"class":330},"Done!",[150,855,334],{"class":326},[150,857,379],{"class":308},[239,859,860],{"id":860},"音声サンプルの準備tips",[22,862,863,866,869,872],{},[25,864,865],{},"長さ：3秒程度でOK（短すぎると品質低下）",[25,867,868],{},"形式：WAV推奨",[25,870,871],{},"内容：はっきり話している音声",[25,873,874],{},"ノイズ：少ないほど良い",[18,876,877],{},"Windows標準の「ボイスレコーダー」で録音 → m4aで保存される場合は、ffmpegでwavに変換：",[140,879,881],{"className":142,"code":880,"language":144,"meta":145,"style":145},"ffmpeg -i recording.m4a -ar 16000 my_voice_sample.wav\n",[147,882,883],{"__ignoreMap":145},[150,884,885],{"class":152,"line":153},[150,886,880],{},[45,888],{},[95,890,892],{"id":891},"voice-design声をデザイン","Voice Design（声をデザイン）",[18,894,895],{},"自然言語で声の特徴を指定して生成。クローン元の音声が不要。",[18,897,898,247],{},[147,899,900],{},"voice_design_test.py",[140,902,904],{"className":250,"code":903,"language":252,"meta":145,"style":145},"import torch\nimport soundfile as sf\nfrom qwen_tts import Qwen3TTSModel\n\nmodel = Qwen3TTSModel.from_pretrained(\n    \"Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign\",\n    device_map=\"cuda:0\",\n    dtype=torch.bfloat16,\n)\n\n# 日本語\nwavs, sr = model.generate_voice_design(\n    text=\"おはようございます。今日も一日頑張りましょう。\",\n    language=\"Japanese\",\n    instruct=\"落ち着いた30代男性の声。低めのトーンで、穏やかに話す。\",\n)\nsf.write(\"designed_voice_jp.wav\", wavs[0], sr)\n\n# 英語\nwavs, sr = model.generate_voice_design(\n    text=\"Good morning! Let's have a great day today.\",\n    language=\"English\",\n    instruct=\"Energetic young female voice with a bright and cheerful tone.\",\n)\nsf.write(\"designed_voice_en.wav\", wavs[0], sr)\n\nprint(\"Done!\")\n",[147,905,906,912,922,932,936,950,961,975,989,993,997,1002,1021,1036,1050,1066,1070,1101,1105,1110,1128,1143,1157,1172,1176,1208,1213],{"__ignoreMap":145},[150,907,908,910],{"class":152,"line":153},[150,909,260],{"class":259},[150,911,264],{"class":263},[150,913,914,916,918,920],{"class":152,"line":159},[150,915,260],{"class":259},[150,917,271],{"class":263},[150,919,274],{"class":259},[150,921,277],{"class":263},[150,923,924,926,928,930],{"class":152,"line":165},[150,925,282],{"class":259},[150,927,285],{"class":263},[150,929,260],{"class":259},[150,931,290],{"class":263},[150,933,934],{"class":152,"line":171},[150,935,175],{"emptyLinePlaceholder":174},[150,937,938,940,942,944,946,948],{"class":152,"line":178},[150,939,305],{"class":263},[150,941,309],{"class":308},[150,943,312],{"class":263},[150,945,315],{"class":308},[150,947,318],{"class":263},[150,949,321],{"class":308},[150,951,952,954,957,959],{"class":152,"line":184},[150,953,327],{"class":326},[150,955,956],{"class":330},"Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",[150,958,334],{"class":326},[150,960,337],{"class":308},[150,962,963,965,967,969,971,973],{"class":152,"line":190},[150,964,344],{"class":343},[150,966,309],{"class":308},[150,968,334],{"class":326},[150,970,351],{"class":330},[150,972,334],{"class":326},[150,974,337],{"class":308},[150,976,977,979,981,983,985,987],{"class":152,"line":340},[150,978,361],{"class":343},[150,980,309],{"class":308},[150,982,366],{"class":263},[150,984,315],{"class":308},[150,986,371],{"class":263},[150,988,337],{"class":308},[150,990,991],{"class":152,"line":358},[150,992,379],{"class":308},[150,994,995],{"class":152,"line":376},[150,996,175],{"emptyLinePlaceholder":174},[150,998,999],{"class":152,"line":382},[150,1000,1001],{"class":299},"# 日本語\n",[150,1003,1004,1006,1008,1010,1012,1014,1016,1019],{"class":152,"line":387},[150,1005,433],{"class":263},[150,1007,436],{"class":308},[150,1009,439],{"class":263},[150,1011,309],{"class":308},[150,1013,444],{"class":263},[150,1015,315],{"class":308},[150,1017,1018],{"class":263},"generate_voice_design",[150,1020,321],{"class":308},[150,1022,1023,1025,1027,1029,1032,1034],{"class":152,"line":393},[150,1024,457],{"class":343},[150,1026,309],{"class":308},[150,1028,334],{"class":326},[150,1030,1031],{"class":330},"おはようございます。今日も一日頑張りましょう。",[150,1033,334],{"class":326},[150,1035,337],{"class":308},[150,1037,1038,1040,1042,1044,1046,1048],{"class":152,"line":410},[150,1039,474],{"class":343},[150,1041,309],{"class":308},[150,1043,334],{"class":326},[150,1045,779],{"class":330},[150,1047,334],{"class":326},[150,1049,337],{"class":308},[150,1051,1052,1055,1057,1059,1062,1064],{"class":152,"line":425},[150,1053,1054],{"class":343},"    instruct",[150,1056,309],{"class":308},[150,1058,334],{"class":326},[150,1060,1061],{"class":330},"落ち着いた30代男性の声。低めのトーンで、穏やかに話す。",[150,1063,334],{"class":326},[150,1065,337],{"class":308},[150,1067,1068],{"class":152,"line":430},[150,1069,379],{"class":308},[150,1071,1072,1074,1076,1078,1080,1082,1085,1087,1089,1091,1093,1095,1097,1099],{"class":152,"line":454},[150,1073,527],{"class":263},[150,1075,315],{"class":308},[150,1077,532],{"class":263},[150,1079,535],{"class":308},[150,1081,334],{"class":326},[150,1083,1084],{"class":330},"designed_voice_jp.wav",[150,1086,334],{"class":326},[150,1088,436],{"class":308},[150,1090,547],{"class":263},[150,1092,550],{"class":308},[150,1094,554],{"class":553},[150,1096,557],{"class":308},[150,1098,560],{"class":263},[150,1100,379],{"class":308},[150,1102,1103],{"class":152,"line":471},[150,1104,175],{"emptyLinePlaceholder":174},[150,1106,1107],{"class":152,"line":488},[150,1108,1109],{"class":299},"# 英語\n",[150,1111,1112,1114,1116,1118,1120,1122,1124,1126],{"class":152,"line":501},[150,1113,433],{"class":263},[150,1115,436],{"class":308},[150,1117,439],{"class":263},[150,1119,309],{"class":308},[150,1121,444],{"class":263},[150,1123,315],{"class":308},[150,1125,1018],{"class":263},[150,1127,321],{"class":308},[150,1129,1130,1132,1134,1136,1139,1141],{"class":152,"line":514},[150,1131,457],{"class":343},[150,1133,309],{"class":308},[150,1135,334],{"class":326},[150,1137,1138],{"class":330},"Good morning! Let's have a great day today.",[150,1140,334],{"class":326},[150,1142,337],{"class":308},[150,1144,1145,1147,1149,1151,1153,1155],{"class":152,"line":519},[150,1146,474],{"class":343},[150,1148,309],{"class":308},[150,1150,334],{"class":326},[150,1152,481],{"class":330},[150,1154,334],{"class":326},[150,1156,337],{"class":308},[150,1158,1159,1161,1163,1165,1168,1170],{"class":152,"line":524},[150,1160,1054],{"class":343},[150,1162,309],{"class":308},[150,1164,334],{"class":326},[150,1166,1167],{"class":330},"Energetic young female voice with a bright and cheerful tone.",[150,1169,334],{"class":326},[150,1171,337],{"class":308},[150,1173,1174],{"class":152,"line":565},[150,1175,379],{"class":308},[150,1177,1179,1181,1183,1185,1187,1189,1192,1194,1196,1198,1200,1202,1204,1206],{"class":152,"line":1178},25,[150,1180,527],{"class":263},[150,1182,315],{"class":308},[150,1184,532],{"class":263},[150,1186,535],{"class":308},[150,1188,334],{"class":326},[150,1190,1191],{"class":330},"designed_voice_en.wav",[150,1193,334],{"class":326},[150,1195,436],{"class":308},[150,1197,547],{"class":263},[150,1199,550],{"class":308},[150,1201,554],{"class":553},[150,1203,557],{"class":308},[150,1205,560],{"class":263},[150,1207,379],{"class":308},[150,1209,1211],{"class":152,"line":1210},26,[150,1212,175],{"emptyLinePlaceholder":174},[150,1214,1216,1218,1220,1222,1224,1226],{"class":152,"line":1215},27,[150,1217,569],{"class":568},[150,1219,535],{"class":308},[150,1221,334],{"class":326},[150,1223,853],{"class":330},[150,1225,334],{"class":326},[150,1227,379],{"class":308},[45,1229],{},[95,1231,1233],{"id":1232},"custom-voiceプリセット音声","Custom Voice（プリセット音声）",[18,1235,1236],{},"9種類のプリセット音声から選択。感情や話し方を指示で制御可能。",[18,1238,1239,247],{},[147,1240,1241],{},"custom_voice_test.py",[140,1243,1245],{"className":250,"code":1244,"language":252,"meta":145,"style":145},"import torch\nimport soundfile as sf\nfrom qwen_tts import Qwen3TTSModel\n\nmodel = Qwen3TTSModel.from_pretrained(\n    \"Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice\",\n    device_map=\"cuda:0\",\n    dtype=torch.bfloat16,\n)\n\n# 利用可能なスピーカー確認\nprint(\"Speakers:\", model.get_supported_speakers())\nprint(\"Languages:\", model.get_supported_languages())\n\n# 日本語スピーカー（Ono_Anna）で生成\nwavs, sr = model.generate_custom_voice(\n    text=\"こんにちは！今日はいい天気ですね。\",\n    language=\"Japanese\",\n    speaker=\"Ono_Anna\",\n    instruct=\"明るく元気な感じで\",\n)\nsf.write(\"custom_voice_jp.wav\", wavs[0], sr)\n\n# 英語スピーカー（Ryan）で生成\nwavs, sr = model.generate_custom_voice(\n    text=\"Welcome to our presentation today.\",\n    language=\"English\",\n    speaker=\"Ryan\",\n    instruct=\"Professional and confident tone.\",\n)\nsf.write(\"custom_voice_en.wav\", wavs[0], sr)\n\nprint(\"Done!\")\n",[147,1246,1247,1253,1263,1273,1277,1291,1302,1316,1330,1334,1338,1343,1368,1392,1396,1401,1420,1435,1449,1465,1480,1484,1515,1519,1524,1542,1557,1571,1587,1603,1608,1640,1645],{"__ignoreMap":145},[150,1248,1249,1251],{"class":152,"line":153},[150,1250,260],{"class":259},[150,1252,264],{"class":263},[150,1254,1255,1257,1259,1261],{"class":152,"line":159},[150,1256,260],{"class":259},[150,1258,271],{"class":263},[150,1260,274],{"class":259},[150,1262,277],{"class":263},[150,1264,1265,1267,1269,1271],{"class":152,"line":165},[150,1266,282],{"class":259},[150,1268,285],{"class":263},[150,1270,260],{"class":259},[150,1272,290],{"class":263},[150,1274,1275],{"class":152,"line":171},[150,1276,175],{"emptyLinePlaceholder":174},[150,1278,1279,1281,1283,1285,1287,1289],{"class":152,"line":178},[150,1280,305],{"class":263},[150,1282,309],{"class":308},[150,1284,312],{"class":263},[150,1286,315],{"class":308},[150,1288,318],{"class":263},[150,1290,321],{"class":308},[150,1292,1293,1295,1298,1300],{"class":152,"line":184},[150,1294,327],{"class":326},[150,1296,1297],{"class":330},"Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",[150,1299,334],{"class":326},[150,1301,337],{"class":308},[150,1303,1304,1306,1308,1310,1312,1314],{"class":152,"line":190},[150,1305,344],{"class":343},[150,1307,309],{"class":308},[150,1309,334],{"class":326},[150,1311,351],{"class":330},[150,1313,334],{"class":326},[150,1315,337],{"class":308},[150,1317,1318,1320,1322,1324,1326,1328],{"class":152,"line":340},[150,1319,361],{"class":343},[150,1321,309],{"class":308},[150,1323,366],{"class":263},[150,1325,315],{"class":308},[150,1327,371],{"class":263},[150,1329,337],{"class":308},[150,1331,1332],{"class":152,"line":358},[150,1333,379],{"class":308},[150,1335,1336],{"class":152,"line":376},[150,1337,175],{"emptyLinePlaceholder":174},[150,1339,1340],{"class":152,"line":382},[150,1341,1342],{"class":299},"# 利用可能なスピーカー確認\n",[150,1344,1345,1347,1349,1351,1354,1356,1358,1360,1362,1365],{"class":152,"line":387},[150,1346,569],{"class":568},[150,1348,535],{"class":308},[150,1350,334],{"class":326},[150,1352,1353],{"class":330},"Speakers:",[150,1355,334],{"class":326},[150,1357,436],{"class":308},[150,1359,444],{"class":263},[150,1361,315],{"class":308},[150,1363,1364],{"class":263},"get_supported_speakers",[150,1366,1367],{"class":308},"())\n",[150,1369,1370,1372,1374,1376,1379,1381,1383,1385,1387,1390],{"class":152,"line":393},[150,1371,569],{"class":568},[150,1373,535],{"class":308},[150,1375,334],{"class":326},[150,1377,1378],{"class":330},"Languages:",[150,1380,334],{"class":326},[150,1382,436],{"class":308},[150,1384,444],{"class":263},[150,1386,315],{"class":308},[150,1388,1389],{"class":263},"get_supported_languages",[150,1391,1367],{"class":308},[150,1393,1394],{"class":152,"line":410},[150,1395,175],{"emptyLinePlaceholder":174},[150,1397,1398],{"class":152,"line":425},[150,1399,1400],{"class":299},"# 日本語スピーカー（Ono_Anna）で生成\n",[150,1402,1403,1405,1407,1409,1411,1413,1415,1418],{"class":152,"line":430},[150,1404,433],{"class":263},[150,1406,436],{"class":308},[150,1408,439],{"class":263},[150,1410,309],{"class":308},[150,1412,444],{"class":263},[150,1414,315],{"class":308},[150,1416,1417],{"class":263},"generate_custom_voice",[150,1419,321],{"class":308},[150,1421,1422,1424,1426,1428,1431,1433],{"class":152,"line":454},[150,1423,457],{"class":343},[150,1425,309],{"class":308},[150,1427,334],{"class":326},[150,1429,1430],{"class":330},"こんにちは！今日はいい天気ですね。",[150,1432,334],{"class":326},[150,1434,337],{"class":308},[150,1436,1437,1439,1441,1443,1445,1447],{"class":152,"line":471},[150,1438,474],{"class":343},[150,1440,309],{"class":308},[150,1442,334],{"class":326},[150,1444,779],{"class":330},[150,1446,334],{"class":326},[150,1448,337],{"class":308},[150,1450,1451,1454,1456,1458,1461,1463],{"class":152,"line":488},[150,1452,1453],{"class":343},"    speaker",[150,1455,309],{"class":308},[150,1457,334],{"class":326},[150,1459,1460],{"class":330},"Ono_Anna",[150,1462,334],{"class":326},[150,1464,337],{"class":308},[150,1466,1467,1469,1471,1473,1476,1478],{"class":152,"line":501},[150,1468,1054],{"class":343},[150,1470,309],{"class":308},[150,1472,334],{"class":326},[150,1474,1475],{"class":330},"明るく元気な感じで",[150,1477,334],{"class":326},[150,1479,337],{"class":308},[150,1481,1482],{"class":152,"line":514},[150,1483,379],{"class":308},[150,1485,1486,1488,1490,1492,1494,1496,1499,1501,1503,1505,1507,1509,1511,1513],{"class":152,"line":519},[150,1487,527],{"class":263},[150,1489,315],{"class":308},[150,1491,532],{"class":263},[150,1493,535],{"class":308},[150,1495,334],{"class":326},[150,1497,1498],{"class":330},"custom_voice_jp.wav",[150,1500,334],{"class":326},[150,1502,436],{"class":308},[150,1504,547],{"class":263},[150,1506,550],{"class":308},[150,1508,554],{"class":553},[150,1510,557],{"class":308},[150,1512,560],{"class":263},[150,1514,379],{"class":308},[150,1516,1517],{"class":152,"line":524},[150,1518,175],{"emptyLinePlaceholder":174},[150,1520,1521],{"class":152,"line":565},[150,1522,1523],{"class":299},"# 英語スピーカー（Ryan）で生成\n",[150,1525,1526,1528,1530,1532,1534,1536,1538,1540],{"class":152,"line":1178},[150,1527,433],{"class":263},[150,1529,436],{"class":308},[150,1531,439],{"class":263},[150,1533,309],{"class":308},[150,1535,444],{"class":263},[150,1537,315],{"class":308},[150,1539,1417],{"class":263},[150,1541,321],{"class":308},[150,1543,1544,1546,1548,1550,1553,1555],{"class":152,"line":1210},[150,1545,457],{"class":343},[150,1547,309],{"class":308},[150,1549,334],{"class":326},[150,1551,1552],{"class":330},"Welcome to our presentation today.",[150,1554,334],{"class":326},[150,1556,337],{"class":308},[150,1558,1559,1561,1563,1565,1567,1569],{"class":152,"line":1215},[150,1560,474],{"class":343},[150,1562,309],{"class":308},[150,1564,334],{"class":326},[150,1566,481],{"class":330},[150,1568,334],{"class":326},[150,1570,337],{"class":308},[150,1572,1574,1576,1578,1580,1583,1585],{"class":152,"line":1573},28,[150,1575,1453],{"class":343},[150,1577,309],{"class":308},[150,1579,334],{"class":326},[150,1581,1582],{"class":330},"Ryan",[150,1584,334],{"class":326},[150,1586,337],{"class":308},[150,1588,1590,1592,1594,1596,1599,1601],{"class":152,"line":1589},29,[150,1591,1054],{"class":343},[150,1593,309],{"class":308},[150,1595,334],{"class":326},[150,1597,1598],{"class":330},"Professional and confident tone.",[150,1600,334],{"class":326},[150,1602,337],{"class":308},[150,1604,1606],{"class":152,"line":1605},30,[150,1607,379],{"class":308},[150,1609,1611,1613,1615,1617,1619,1621,1624,1626,1628,1630,1632,1634,1636,1638],{"class":152,"line":1610},31,[150,1612,527],{"class":263},[150,1614,315],{"class":308},[150,1616,532],{"class":263},[150,1618,535],{"class":308},[150,1620,334],{"class":326},[150,1622,1623],{"class":330},"custom_voice_en.wav",[150,1625,334],{"class":326},[150,1627,436],{"class":308},[150,1629,547],{"class":263},[150,1631,550],{"class":308},[150,1633,554],{"class":553},[150,1635,557],{"class":308},[150,1637,560],{"class":263},[150,1639,379],{"class":308},[150,1641,1643],{"class":152,"line":1642},32,[150,1644,175],{"emptyLinePlaceholder":174},[150,1646,1648,1650,1652,1654,1656,1658],{"class":152,"line":1647},33,[150,1649,569],{"class":568},[150,1651,535],{"class":308},[150,1653,334],{"class":326},[150,1655,853],{"class":330},[150,1657,334],{"class":326},[150,1659,379],{"class":308},[239,1661,1662],{"id":1662},"利用可能なスピーカー",[51,1664,1665,1678],{},[54,1666,1667],{},[57,1668,1669,1672,1675],{},[60,1670,1671],{},"Speaker",[60,1673,1674],{},"説明",[60,1676,1677],{},"ネイティブ言語",[67,1679,1680,1691,1701,1711,1722,1733,1743,1753,1763],{},[57,1681,1682,1685,1688],{},[72,1683,1684],{},"Vivian",[72,1686,1687],{},"明るく少しエッジのある若い女性",[72,1689,1690],{},"中国語",[57,1692,1693,1696,1699],{},[72,1694,1695],{},"Serena",[72,1697,1698],{},"温かく優しい若い女性",[72,1700,1690],{},[57,1702,1703,1706,1709],{},[72,1704,1705],{},"Uncle_Fu",[72,1707,1708],{},"低く落ち着いた年配男性",[72,1710,1690],{},[57,1712,1713,1716,1719],{},[72,1714,1715],{},"Dylan",[72,1717,1718],{},"自然で明瞭な北京方言の若い男性",[72,1720,1721],{},"中国語（北京）",[57,1723,1724,1727,1730],{},[72,1725,1726],{},"Eric",[72,1728,1729],{},"少しハスキーで明るい成都方言の男性",[72,1731,1732],{},"中国語（四川）",[57,1734,1735,1737,1740],{},[72,1736,1582],{},[72,1738,1739],{},"ダイナミックでリズミカルな男性",[72,1741,1742],{},"英語",[57,1744,1745,1748,1751],{},[72,1746,1747],{},"Aiden",[72,1749,1750],{},"明るいアメリカ英語の男性",[72,1752,1742],{},[57,1754,1755,1757,1760],{},[72,1756,1460],{},[72,1758,1759],{},"軽やかで可愛らしい日本語女性",[72,1761,1762],{},"日本語",[57,1764,1765,1768,1771],{},[72,1766,1767],{},"Sohee",[72,1769,1770],{},"感情豊かな温かい韓国語女性",[72,1772,1773],{},"韓国語",[45,1775],{},[14,1777,1779],{"id":1778},"バッチ処理複数テキスト一括生成","バッチ処理（複数テキスト一括生成）",[140,1781,1783],{"className":250,"code":1782,"language":252,"meta":145,"style":145},"# 複数テキストを一括で生成\nwavs, sr = model.generate_voice_clone(\n    text=[\n        \"最初の文章です。\",\n        \"二番目の文章です。\",\n        \"三番目の文章です。\",\n    ],\n    language=[\"Japanese\", \"Japanese\", \"Japanese\"],\n    ref_audio=ref_audio,\n    ref_text=ref_text,\n)\n\nfor i, wav in enumerate(wavs):\n    sf.write(f\"output_{i}.wav\", wav, sr)\n",[147,1784,1785,1790,1808,1815,1827,1838,1849,1854,1886,1896,1906,1910,1914,1940],{"__ignoreMap":145},[150,1786,1787],{"class":152,"line":153},[150,1788,1789],{"class":299},"# 複数テキストを一括で生成\n",[150,1791,1792,1794,1796,1798,1800,1802,1804,1806],{"class":152,"line":159},[150,1793,433],{"class":263},[150,1795,436],{"class":308},[150,1797,439],{"class":263},[150,1799,309],{"class":308},[150,1801,444],{"class":263},[150,1803,315],{"class":308},[150,1805,449],{"class":263},[150,1807,321],{"class":308},[150,1809,1810,1812],{"class":152,"line":165},[150,1811,457],{"class":343},[150,1813,1814],{"class":308},"=[\n",[150,1816,1817,1820,1823,1825],{"class":152,"line":171},[150,1818,1819],{"class":326},"        \"",[150,1821,1822],{"class":330},"最初の文章です。",[150,1824,334],{"class":326},[150,1826,337],{"class":308},[150,1828,1829,1831,1834,1836],{"class":152,"line":178},[150,1830,1819],{"class":326},[150,1832,1833],{"class":330},"二番目の文章です。",[150,1835,334],{"class":326},[150,1837,337],{"class":308},[150,1839,1840,1842,1845,1847],{"class":152,"line":184},[150,1841,1819],{"class":326},[150,1843,1844],{"class":330},"三番目の文章です。",[150,1846,334],{"class":326},[150,1848,337],{"class":308},[150,1850,1851],{"class":152,"line":190},[150,1852,1853],{"class":308},"    ],\n",[150,1855,1856,1858,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883],{"class":152,"line":340},[150,1857,474],{"class":343},[150,1859,1860],{"class":308},"=[",[150,1862,334],{"class":326},[150,1864,779],{"class":330},[150,1866,334],{"class":326},[150,1868,436],{"class":308},[150,1870,401],{"class":326},[150,1872,779],{"class":330},[150,1874,334],{"class":326},[150,1876,436],{"class":308},[150,1878,401],{"class":326},[150,1880,779],{"class":330},[150,1882,334],{"class":326},[150,1884,1885],{"class":308},"],\n",[150,1887,1888,1890,1892,1894],{"class":152,"line":358},[150,1889,491],{"class":343},[150,1891,309],{"class":308},[150,1893,496],{"class":263},[150,1895,337],{"class":308},[150,1897,1898,1900,1902,1904],{"class":152,"line":376},[150,1899,504],{"class":343},[150,1901,309],{"class":308},[150,1903,509],{"class":263},[150,1905,337],{"class":308},[150,1907,1908],{"class":152,"line":382},[150,1909,379],{"class":308},[150,1911,1912],{"class":152,"line":387},[150,1913,175],{"emptyLinePlaceholder":174},[150,1915,1916,1919,1922,1924,1927,1930,1933,1935,1937],{"class":152,"line":393},[150,1917,1918],{"class":259},"for",[150,1920,1921],{"class":263}," i",[150,1923,436],{"class":308},[150,1925,1926],{"class":263}," wav ",[150,1928,1929],{"class":259},"in",[150,1931,1932],{"class":568}," enumerate",[150,1934,535],{"class":308},[150,1936,433],{"class":263},[150,1938,1939],{"class":308},"):\n",[150,1941,1942,1945,1947,1949,1951,1955,1958,1962,1965,1968,1971,1973,1976,1978,1980],{"class":152,"line":410},[150,1943,1944],{"class":263},"    sf",[150,1946,315],{"class":308},[150,1948,532],{"class":263},[150,1950,535],{"class":308},[150,1952,1954],{"class":1953},"stQ0i","f",[150,1956,1957],{"class":330},"\"output_",[150,1959,1961],{"class":1960},"snbK4","{",[150,1963,1964],{"class":263},"i",[150,1966,1967],{"class":1960},"}",[150,1969,1970],{"class":330},".wav\"",[150,1972,436],{"class":308},[150,1974,1975],{"class":263}," wav",[150,1977,436],{"class":308},[150,1979,560],{"class":263},[150,1981,379],{"class":308},[45,1983],{},[14,1985,1987],{"id":1986},"再利用可能なプロンプト高速化","再利用可能なプロンプト（高速化）",[18,1989,1990],{},"同じ参照音声で複数回生成する場合、プロンプトを事前に作成しておくと高速化できる：",[140,1992,1994],{"className":250,"code":1993,"language":252,"meta":145,"style":145},"# プロンプトを一度だけ作成\nprompt = model.create_voice_clone_prompt(\n    ref_audio=\"my_voice.wav\",\n    ref_text=\"参照音声のテキスト\",\n)\n\n# 複数回の生成で再利用\nfor text in [\"文章1\", \"文章2\", \"文章3\"]:\n    wavs, sr = model.generate_voice_clone(\n        text=text,\n        language=\"Japanese\",\n        voice_clone_prompt=prompt,\n    )\n    # ...\n",[147,1995,1996,2001,2017,2032,2047,2051,2055,2060,2100,2119,2131,2146,2158,2163],{"__ignoreMap":145},[150,1997,1998],{"class":152,"line":153},[150,1999,2000],{"class":299},"# プロンプトを一度だけ作成\n",[150,2002,2003,2006,2008,2010,2012,2015],{"class":152,"line":159},[150,2004,2005],{"class":263},"prompt ",[150,2007,309],{"class":308},[150,2009,444],{"class":263},[150,2011,315],{"class":308},[150,2013,2014],{"class":263},"create_voice_clone_prompt",[150,2016,321],{"class":308},[150,2018,2019,2021,2023,2025,2028,2030],{"class":152,"line":165},[150,2020,491],{"class":343},[150,2022,309],{"class":308},[150,2024,334],{"class":326},[150,2026,2027],{"class":330},"my_voice.wav",[150,2029,334],{"class":326},[150,2031,337],{"class":308},[150,2033,2034,2036,2038,2040,2043,2045],{"class":152,"line":171},[150,2035,504],{"class":343},[150,2037,309],{"class":308},[150,2039,334],{"class":326},[150,2041,2042],{"class":330},"参照音声のテキスト",[150,2044,334],{"class":326},[150,2046,337],{"class":308},[150,2048,2049],{"class":152,"line":178},[150,2050,379],{"class":308},[150,2052,2053],{"class":152,"line":184},[150,2054,175],{"emptyLinePlaceholder":174},[150,2056,2057],{"class":152,"line":190},[150,2058,2059],{"class":299},"# 複数回の生成で再利用\n",[150,2061,2062,2064,2067,2069,2072,2074,2077,2079,2081,2083,2086,2088,2090,2092,2095,2097],{"class":152,"line":340},[150,2063,1918],{"class":259},[150,2065,2066],{"class":263}," text ",[150,2068,1929],{"class":259},[150,2070,2071],{"class":308}," [",[150,2073,334],{"class":326},[150,2075,2076],{"class":330},"文章1",[150,2078,334],{"class":326},[150,2080,436],{"class":308},[150,2082,401],{"class":326},[150,2084,2085],{"class":330},"文章2",[150,2087,334],{"class":326},[150,2089,436],{"class":308},[150,2091,401],{"class":326},[150,2093,2094],{"class":330},"文章3",[150,2096,334],{"class":326},[150,2098,2099],{"class":308},"]:\n",[150,2101,2102,2105,2107,2109,2111,2113,2115,2117],{"class":152,"line":358},[150,2103,2104],{"class":263},"    wavs",[150,2106,436],{"class":308},[150,2108,439],{"class":263},[150,2110,309],{"class":308},[150,2112,444],{"class":263},[150,2114,315],{"class":308},[150,2116,449],{"class":263},[150,2118,321],{"class":308},[150,2120,2121,2124,2126,2129],{"class":152,"line":376},[150,2122,2123],{"class":343},"        text",[150,2125,309],{"class":308},[150,2127,2128],{"class":263},"text",[150,2130,337],{"class":308},[150,2132,2133,2136,2138,2140,2142,2144],{"class":152,"line":382},[150,2134,2135],{"class":343},"        language",[150,2137,309],{"class":308},[150,2139,334],{"class":326},[150,2141,779],{"class":330},[150,2143,334],{"class":326},[150,2145,337],{"class":308},[150,2147,2148,2151,2153,2156],{"class":152,"line":387},[150,2149,2150],{"class":343},"        voice_clone_prompt",[150,2152,309],{"class":308},[150,2154,2155],{"class":263},"prompt",[150,2157,337],{"class":308},[150,2159,2160],{"class":152,"line":393},[150,2161,2162],{"class":308},"    )\n",[150,2164,2165],{"class":152,"line":410},[150,2166,2167],{"class":299},"    # ...\n",[45,2169],{},[14,2171,2172],{"id":2172},"トラブルシューティング",[95,2174,2176],{"id":2175},"cuda-out-of-memory","CUDA out of memory",[22,2178,2179,2185,2188],{},[25,2180,2181,2182],{},"0.6Bモデルを使う：",[147,2183,2184],{},"Qwen/Qwen3-TTS-12Hz-0.6B-Base",[25,2186,2187],{},"他のGPUを使うアプリを閉じる",[25,2189,2190],{},"バッチサイズを小さくする",[95,2192,2193],{"id":2193},"モデルダウンロードが遅い",[18,2195,2196],{},"中国国内ならModelScope、それ以外ならHugging Faceから自動ダウンロードされる。手動ダウンロードも可能：",[140,2198,2200],{"className":142,"code":2199,"language":144,"meta":145,"style":145},"pip install -U \"huggingface_hub[cli]\"\nhuggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-Base --local-dir ./models/Qwen3-TTS-12Hz-1.7B-Base\n",[147,2201,2202,2207],{"__ignoreMap":145},[150,2203,2204],{"class":152,"line":153},[150,2205,2206],{},"pip install -U \"huggingface_hub[cli]\"\n",[150,2208,2209],{"class":152,"line":159},[150,2210,2211],{},"huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-Base --local-dir ./models/Qwen3-TTS-12Hz-1.7B-Base\n",[18,2213,2214],{},"ローカルパスを指定してロード：",[140,2216,2218],{"className":250,"code":2217,"language":252,"meta":145,"style":145},"model = Qwen3TTSModel.from_pretrained(\n    \"./models/Qwen3-TTS-12Hz-1.7B-Base\",\n    device_map=\"cuda:0\",\n    dtype=torch.bfloat16,\n)\n",[147,2219,2220,2234,2245,2259,2273],{"__ignoreMap":145},[150,2221,2222,2224,2226,2228,2230,2232],{"class":152,"line":153},[150,2223,305],{"class":263},[150,2225,309],{"class":308},[150,2227,312],{"class":263},[150,2229,315],{"class":308},[150,2231,318],{"class":263},[150,2233,321],{"class":308},[150,2235,2236,2238,2241,2243],{"class":152,"line":159},[150,2237,327],{"class":326},[150,2239,2240],{"class":330},"./models/Qwen3-TTS-12Hz-1.7B-Base",[150,2242,334],{"class":326},[150,2244,337],{"class":308},[150,2246,2247,2249,2251,2253,2255,2257],{"class":152,"line":165},[150,2248,344],{"class":343},[150,2250,309],{"class":308},[150,2252,334],{"class":326},[150,2254,351],{"class":330},[150,2256,334],{"class":326},[150,2258,337],{"class":308},[150,2260,2261,2263,2265,2267,2269,2271],{"class":152,"line":171},[150,2262,361],{"class":343},[150,2264,309],{"class":308},[150,2266,366],{"class":263},[150,2268,315],{"class":308},[150,2270,371],{"class":263},[150,2272,337],{"class":308},[150,2274,2275],{"class":152,"line":178},[150,2276,379],{"class":308},[95,2278,2279],{"id":2279},"音質が悪い",[22,2281,2282,2285,2288],{},[25,2283,2284],{},"参照音声のノイズを減らす",[25,2286,2287],{},"参照音声を3〜5秒程度にする",[25,2289,2290,2292],{},[147,2291,509],{},"を正確に書く",[45,2294],{},[14,2296,2297],{"id":2297},"参考リンク",[22,2299,2300,2309,2316],{},[25,2301,2302,2303],{},"GitHub: ",[2304,2305,2306],"a",{"href":2306,"rel":2307},"https://github.com/QwenLM/Qwen3-TTS",[2308],"nofollow",[25,2310,2311,2312],{},"Hugging Face: ",[2304,2313,2314],{"href":2314,"rel":2315},"https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-Base",[2308],[25,2317,2318,2319],{},"技術レポート: ",[2304,2320,2321],{"href":2321,"rel":2322},"https://arxiv.org/abs/2601.15621",[2308],[2324,2325,2326],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHkkW, html code.shiki .sHkkW{--shiki-default:#1E754F;--shiki-dark:#1E754F}html pre.shiki code .sG7-3, html code.shiki .sG7-3{--shiki-default:#393A34;--shiki-dark:#393A34}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}",{"title":145,"searchDepth":159,"depth":159,"links":2328},[2329,2330,2333,2338,2343,2344,2345,2350],{"id":16,"depth":159,"text":16},{"id":49,"depth":159,"text":49,"children":2331},[2332],{"id":97,"depth":165,"text":98},{"id":133,"depth":159,"text":134,"children":2334},[2335,2336,2337],{"id":137,"depth":165,"text":138},{"id":196,"depth":165,"text":197},{"id":209,"depth":165,"text":210},{"id":230,"depth":159,"text":230,"children":2339},[2340,2341,2342],{"id":233,"depth":165,"text":234},{"id":891,"depth":165,"text":892},{"id":1232,"depth":165,"text":1233},{"id":1778,"depth":159,"text":1779},{"id":1986,"depth":159,"text":1987},{"id":2172,"depth":159,"text":2172,"children":2346},[2347,2348,2349],{"id":2175,"depth":165,"text":2176},{"id":2193,"depth":165,"text":2193},{"id":2279,"depth":165,"text":2279},{"id":2297,"depth":159,"text":2297},"dev",null,"AlibabaのQwen3-TTSモデルのセットアップ方法と、Voice Clone・Voice Design・Custom Voiceの使い方を解説","md",{},"/qwen3-tts-guide",false,"2026-01-23T00:00:00.000Z",{"title":5,"description":2353},"2026-01/2026-01-23/qwen3-tts-guide",[2362,2363,2364,2365,252,2366],"qwen3-tts","tts","voice-clone","alibaba","ai","memo","2026-01-23T07:50:00.000Z","1CoaV9r643jVlRcuYZ1CXIei2ofWkXsCPMb9mXyetg4",[],[2372,2376,2380,2384,2388],{"title":2373,"path":2374,"publishedAt":2375},"voicebox調査メモ — RTX 3070（8GB）でローカルAIボイススタジオは動くか","/voicebox-local-ai-voice-studio","2026-07-25T00:00:00.000Z",{"title":2377,"path":2378,"publishedAt":2379},"Fish Audio v2/v3とElevenLabsで教材ナレーション音声を一括生成した記録","/fish-audio-tts-narration-generation","2026-03-18T00:00:00.000Z",{"title":2381,"path":2382,"publishedAt":2383},"DeepSeek-OCR を uv 仮想環境でセットアップする方法","/deepseek-ocr-uv-setup","2025-10-24T00:00:00.000Z",{"title":2385,"path":2386,"publishedAt":2387},"Amazonの「設備投資は3年未満で回収」を原文で確認した｜3年未満はサーバーとネットワーク機器に限った話で、データセンターは別勘定","/amazon-q2-2026-capex-payback-factcheck","2026-07-31T00:00:00.000Z",{"title":2389,"path":2390,"publishedAt":2387},"クラウド3社の設備投資とフリーキャッシュフロー｜AWS・Azure・Google Cloudの数字を検証し、黒字に戻る年を試算した","/cloud-capex-fcf-breakeven-2026","https://log.eurekapu.com/og/blog/qwen3-tts-guide.png?v=2026-01-23T07%3A50%3A00.000Z&title=Qwen3-TTS%20%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%20%26%20%E4%BD%BF%E3%81%84%E6%96%B9%E3%82%AC%E3%82%A4%E3%83%89&author=Kei%20Komatsu&sig=d728d550349b552a",1785654723748]