Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メディアが運用すべき持続可能なVTuberをつくる技術

1635a01d7af54133bbe00d18dc572834?s=47 Hirosaji
September 17, 2019

 メディアが運用すべき持続可能なVTuberをつくる技術

PyCon JP 2019 (2019/09/17) @Hirosaji
https://pycon.jp/2019/

1635a01d7af54133bbe00d18dc572834?s=128

Hirosaji

September 17, 2019
Tweet

Transcript

  1. 1Z$PO+1  ϝσΟΞ͕ӡ༻͢΂͖ ࣋ଓՄೳͳ75VCFSΛͭ͘Δٕज़ ೔ຊܦࡁ৽ฉࣾ Ճ౻ᚠ໵ !IJSPTBKJ

  2. ͸͡Ίʹ

  3. ͜ͷϓϨθϯͷ໨త ͜ͷϓϨθϯͰ͸ɺօ͞Μͷண૝ͷܹࢗʹͳΔΑ͏ͳ࣮૷ྫΛ঺հ͠·͢ɻ 75VCFSΛ୊ࡐͱͨ͠։ൃͷண૝Λಘͯ΋Β͍ɺ ͱࢥͬͯ΋Β͏͜ͱɻ ʮฐࣾͰ΋75VCFSΛಋೖͯ͠ΈΑ͏͔ͳʯ ௌߨલ ௌߨத ௌߨޙ

  4. ͜ͷϓϨθϯΛൃද͢Δਓ ࢓ࣄͰ͸ͳ͘ɺझຯͰऔΓ૊Ή75VCFS։ൃऀͷ਎ͱ͓ͯ͠࿩͠͠·͢ɻ ɾ)JSPZB,BUP !)JSPTBKJ ɾ৽ଔ̎೥໨ͷ8FCΤϯδχΞ ɾ75VCFS։ൃ͸झຯ ɾ೔ܦ7JTVBM%BUBͷ։ൃ୲౰ ɾϑϩϯτʗόοΫʗ%FW0QTʗݚڀ։ൃͳͲ Ұॠ͚ͩ $.ʹग़·ͨ͠

  5. ͳͥϝσΟΞ͕75VCFSΛʁ 75VCFSӡ༻Ͱى͜Δ՝୊ΛղܾͰ͖ΔϦιʔε ͕͋Δ͔Β ɾಈը੍࡞ίετ ɾதͷਓͷଐਓੑ ՝୊ "35*$-&4 ʢςΩετσʔλʣ +063/"-*454 ʢ৭ʑͳઐ໳Ոʣ

    Ϧιʔε ղܾ ʮϝσΟΞ͕75VCFSʁʯͱࢥ͏͔΋͠Ε·ͤΜ͕ɺҙ֎ͱ༗ޮͳΜͰ͢ɻ
  6. ࠓճ঺հ͢Δ75VCFS૾ ࠓճ͸ɺ্هͷ̎ͭͷ75VCFS૾Λ঺հ͠·͢ɻ ࣗಈੜ੒ܕ75VCFS  ଟॏਓ֨ܕ75VCFS 

  7. ࠓճ঺հ͢Δ75VCFS૾ ࣌ؒͷ౎߹্ɺ۩ମతͳٕज़ղઆΛ͢Δͷ͸̎ͷ75VCFS͚ͩͰ͢ɻ ٕज़ղઆ͸ ͚ͬͪͩ͜ ࣗಈੜ੒ܕ75VCFS  ଟॏਓ֨ܕ75VCFS 

  8. ࣗಈੜ੒ܕ75VCFS ̍

  9. ࣗಈੜ੒ܕ75VCFSͱ͸ ςΩετσʔλΛ ༩͑Δ͚ͩͰࣗಈੜ੒Ͱ͖Δ75VCFSɻ */165 065165 $0.165&3 7*%&0 "35*$-&4 ʢςΩετσʔλʣ ·ͣ͸ɺಈը੍࡞ίετֻ͕͔Βͳ͍ࣗಈੜ੒ܕ75VCFSΛ঺հ͠·͢ɻ

  10. Ͳ͏΍ͬͯࣗಈੜ੒͢Δͷʁ 5FYUUP(FTUVSF 55( ίʔύεͰɺϞσϧͷϞʔγϣϯΛ ؅ཧ͢Δ࣌ܥྻσʔλΛ࡞Δɻ 5FYUUP4QFFDI 554 Ի੠߹੒ϞσϧͰςΩετσʔλΛ Ի੠σʔλʹม׵͢Δɻ 7*%&0

    /-1GPS5FYU1SFQSPDFTTJOH ੜͷςΩετσʔλΛม׵ɾΫϨϯδϯάɾߏ଄Խ͢Δɻ ·ͨɺඞཁʹԠͯ͡ɺޙͷ55(ʹ࢖͏ίʔύε΋࡞੒͢Δɻ "35*$-&4 ʢςΩετσʔλʣ ( ) ࣗવݴޠ΍Ի੠߹੒ͳͲɺػցֶशͰࣗಈੜ੒γεςϜΛߏங͠·͢ɻ
  11. ࣗಈੜ੒ܕ75VCFSɿ۩ମྫᶃ ࣾ಺ࣄྫὊ"*Ωϟελʔʮ޷࣮ΤϦΧʯ ೔ܦͷࣗಈੜ੒γεςϜͰ࡞੒ͨ͠75VCFSಈը͕ͪ͜Βɻ

  12. ࣾ಺ࣄྫὊ"*Ωϟελʔʮ޷࣮ΤϦΧʯ ࣗಈੜ੒ܕ75VCFSɿ۩ମྫᶃ /-1GPS5FYU1SFQSPDFTTJOH ɾॻ͖ݴ༿Λ࿩͠ݴ༿ʹม׵ ɾ௕͍هࣄΛࣈఔ౓ʹཁ໿ ɾԻಡΈɺ܇ಡΈͳͲͷಡΈํʹ΋ରԠ ޱޠม׵΍จষཁ໿ͳͲɺςΩετͷՃ޻ʹಛʹྗ͕ೖ͍ͬͯ·͢ɻ

  13. ࣗಈੜ੒ܕ75VCFSɿ۩ମྫᶄ ·ͨɺͱʹ͔͘αΫοͱ࣮૷͍ͨ͠ํ͸4VNFSJBO͕Φεεϝɻ ࠷΋ָͳ࣮૷ྫὊ "NB[PO4VNFSJBOΛ࢖͏

  14. ࠷΋ָͳ࣮૷ྫὊ "NB[PO4VNFSJBOΛ࢖͏ ˜65+6$- ࣗಈੜ੒ܕ75VCFSɿ۩ମྫᶄ 5FYUUP(FTUVSF 55( ɾ(FTUVSF.BQͰϞʔγϣϯ؅ཧ ɾ৚݅෇͖ͰϞσϧ΋௥ՃՄೳ ɾΧελϜϞʔγϣϯΛ௥ՃՄೳ ʢ.#ҎԼͷGCY

    PCKʹݶΔʣ 5FYUUP4QFFDI 554 ɾ"NB[PO1PMMZ͕ར༻Մೳ ɾԻ੠߹੒Ϟσϧͷ௥Ճ͸ෆՄ ɾӳޠ͸΋ͪΖΜ೔ຊޠʹ΋ରԠ ʢ೥݄ݱࡏʣ ೖ໳͢Δ͚ͩͳΒ෼͘Β͍ͰɺϊϯίʔσΟϯάͰग़དྷ·͢ɻ
  15. ଟॏਓ֨ܕ75VCFS ̎

  16. +063/"-*454 ʢ৭ʑͳઐ໳Ոʣ */165 065165 $0.165&3 7*%&0 ଟॏਓ֨ܕ75VCFSͱ͸ ͲΜͳzதͷਓzͰ΋ ಉҰͷΩϟϥΫλʔͱͯ͠ৼΔ෣͑Δ75VCFSɻ ࣍ʹɺzதͷਓzͷଐਓੑʹͱΒΘΕͳ͍ଟॏਓ֨ܕ75VCFSΛ঺հ͠·͢ɻ

  17. +063/"-*4 ʢ৭ʑͳઐ໳Ոʣ Ͳ͏΍ͬͯಉҰԽ͢Δͷʁ 7*%&0 .PUJPO$BQUVSF zதͷਓzͷද৘΍ମͷಈ͖ΛϞσϧʹಉظͤ͞Δɻ ΩϟϥΫλʔͱͯ͠ͷݟͨ໨Λදݱ͢ΔͨΊʹඞཁɻ 7PJDF$POWFSTJPO zதͷਓzͷ੠ΛಛఆͷԻ੠ʹม׵͢Δɻ ΩϟϥΫλʔͱͯ͠ͷ੠Λදݱ͢ΔͨΊʹඞཁɻ

    ϞʔγϣϯΩϟϓνϟͱ੠࣭ม׵Ͱɺݟͨ໨ͱ੠Λग़ྗ͠ɺ߹੒͠·͢ɻ
  18. +063/"-*4 ʢ৭ʑͳઐ໳Ոʣ Ͳ͏΍ͬͯಉҰԽ͢Δͷʁ 7*%&0 .PUJPO$BQUVSF zதͷਓzͷද৘΍ମͷಈ͖ΛϞσϧʹಉظͤ͞Δɻ ΩϟϥΫλʔͱͯ͠ͷݟͨ໨Λදݱ͢ΔͨΊʹඞཁɻ 7PJDF$POWFSTJPO zதͷਓzͷ੠ΛಛఆͷԻ੠ʹม׵͢Δɻ ΩϟϥΫλʔͱͯ͠ͷ੠Λදݱ͢ΔͨΊʹඞཁɻ

    ࠓճ͸੠࣭ม׵ʹয఺Λ͋ͯͯɺͦͷجૅ͔Βݚڀಈ޲·Ͱղઆ͠·͢ɻ
  19. ੠࣭ม׵ͷجૅ 7PJDF$POWFSTJPOʢ੠࣭ม׵ʣͷ֓ཁ "OBMZTJT ෼ੳ $POWFSTJPO ม׵ 4ZOUIFTJT ߹੒ ೖྗͨ͠੠Λɺಛఆͷ੠ʹม׵͢Δٕज़ɻ ෼ੳɾม׵ɾ߹੒ͷ̏ͭͷஈ֊Ͱม׵͢Δɻ

    ੠࣭ม׵Ͱ͸جຊɺ̏ͭͷஈ֊ʹ෼͚ͯԻ੠Λม׵͠·͢ɻʢ&&΋੝Μʣ
  20. ੠࣭ม׵ʹΑ͘ར༻͞ΕΔʮԻڹಛ௃ྔʯ "OBMZTJT ෼ੳ $POWFSTJPO ม׵ 4ZOUIFTJT ߹੒  جຊप೾਺' ϝϧέϓετϥϜ

    ඇपظੑࢦඪ  جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ Ի੠͔ΒʮԻڹಛ௃ྔʯʹநग़ͯ͠ѻ͏ɻ Իͷߴ͞΍ɺ੠ͷ͔͢Ε۩߹ͱ͍ͬͨࢦඪΛ࢖͏ɻ ʢجຊप೾਺'   ʢඇपظੑࢦඪ  Ի੠͔ΒԻڹಛ௃ྔΛநग़͠ɺม׵΍ม׵Ϟσϧͷߏஙʹར༻͠·͢ɻ ੠࣭ม׵ͷجૅ
  21. "OBMZTJT ෼ੳ $POWFSTJPO ม׵ 4ZOUIFTJT ߹੒  جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ

     جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ ಛʹಛ௃తͳͷ͕ϝϧέϓετϥϜ .$&1 ɻ ੠ͷߏ଄Λදݱͨ͠ɺॏཁͳԻڹಛ௃ྔͰ͋Δɻ தͰ΋.$&1͸ಛʹॏཁɻػցֶशͷֶशର৅ͱͳΔͷ͸ɺ͍ͭ΋.$&1ɻ ʮϝϧέϓετϥϜʯ͸ಛʹॏཁ ੠࣭ม׵ͷجૅ
  22. "OBMZTJT ෼ੳ $POWFSTJPO ม׵ 4ZOUIFTJT ߹੒  جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ

     جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ ϝϧέϓετϥϜ .$&1  ͱ͸ɺ ϝϧई౓Ͱεέʔϧͨ͠έϓετϥϜͷ͜ͱɻ ʢˢߴ͍Իͷҧ͍ʹಷײͳɺਓͷௌ֮Λߟྀͨ͠ई౓ʣ 㱠ϝϧप೾਺έϓετϥϜ܎਺ʢ.'$$ʣ ʢ ʣ ʮϝϧέϓετϥϜʯͱ͸ʁ .$&1͸ɺϝϧई౓Ͱਓؒͷௌ֮Λߟྀͨ͠ʮέϓετϥϜʯͰ͢ɻ ੠࣭ม׵ͷجૅ
  23. ʮέϓετϥϜʯͱ͸ʁ प೾਺<)[> ର਺ৼ෯<E#> έϓετϥϜ܎਺ʢ࣍ݩ਺ʣ ର਺ৼ෯<E#> ࣌ؒ<NT> ৼ෯ ର਺ৼ෯<E#> प೾਺<)[> ର਺ৼ෯<E#>

    प೾਺<)[> έϓετϥϜ ର਺ύϫʔεϖΫτϧ Ի੠೾ܗ εϖΫτϧแབྷ εϖΫτϧඍࡉߏ଄ ௿߲࣍Λ''5 ߴ߲࣍Λ''5 J''5 ''5 ί Ϩ έϓετϥϜΛ࢖͑͹ɺ௿࣍ݩͰʮεϖΫτϧแབྷʗඍࡉߏ଄ʯΛදݱՄೳɻ ੠࣭ม׵ͷجૅ
  24. ʮέϓετϥϜʯͱ͸ʁ प೾਺<)[> ର਺ৼ෯<E#> έϓετϥϜ܎਺ʢ࣍ݩ਺ʣ ର਺ৼ෯<E#> ࣌ؒ<NT> ৼ෯ ର਺ৼ෯<E#> प೾਺<)[> ର਺ৼ෯<E#>

    प೾਺<)[> έϓετϥϜ ର਺ύϫʔεϖΫτϧ Ի੠೾ܗ εϖΫτϧแབྷ εϖΫτϧඍࡉߏ଄ ௿߲࣍Λ''5 ߴ߲࣍Λ''5 J''5 ''5 ί Ϩ έϓετϥϜΛ࢖͑͹ɺ௿࣍ݩͰʮεϖΫτϧแབྷʗඍࡉߏ଄ʯΛදݱՄೳɻ ੠࣭ม׵ͷجૅ ௿࣍ݩʢগͳ͍৘ใʣͰ දݱՄೳɻ
  25. ʮεϖΫτϧแབྷʗඍࡉߏ଄ʯͱ͸ʁ ੠ಓ੒෼Λੜ੒ ޱ΍৶ͷܗɺઉͷҐஔʹΑͬͯ ܾ·ΔԻͷ৘ใɻ ʢԻૉͳͲʣ ഏ͔ΒૹΔۭؾͷྔ΍ɺ޴ͷకΊ ۩߹ʹΑܾͬͯ·ΔԻͷ৘ใɻ ʢԻͷେ͖͞΍ߴ͞ͳͲʣ ੠ଳ੒෼Λੜ੒ ෼ੳ

    εϖΫτϧแབྷ εϖΫτϧඍࡉߏ଄ εϖΫτϧแབྷʗඍࡉߏ଄͸ɺ੠ಓ΍੠ଳͰ࡞ΒΕΔԻ੠ͷ੒෼ͷ͜ͱɻ ੠࣭ม׵ͷجૅ
  26. ͭ·ΓɺʮϝϧέϓετϥϜʯͱ͸ʁ ੠࣭ม׵ͷجૅ ਓؒͷௌ֮Λߟྀͨ͠ɺ ੠ಓ੒෼ʮεϖΫτϧแབྷʯ΍ ੠ଳ੒෼ʮεϖΫτϧඍࡉߏ଄ʯΛ ௿࣍ݩʹදݱͰ͖Δ Իڹಛ௃ྔɻ ੠࣭ม׵Ͱ͸͜ͷ.$&1ͷɺಛʹεϖΫτϧแབྷͷ৘ใ͕ॏཁͱͳΓ·͢ɻ

  27. Ͱ͸ɺ͜͜·Ͱͷ࿩Λ࣮૷ͯ͠Έ·͢ɻ ੠࣭ม׵ͷجૅ Ի੠ͷ෼ੳʗ߹੒ͷ࣮૷ʢʣ ඞཁͳϥΠϒϥϦͷ ಡΈࠐΈ Ի੠σʔλಡΈࠐΈ ڞ௨ͷύϥϝʔλΛ ઃఆ

  28. ੠࣭ม׵ͷجૅ Ի੠ͷ෼ੳʗ߹੒ͷ࣮૷ʢʣ 803-%ɺ415,Ͱ Իڹಛ௃ྔΛநग़ εϖΫτϧแབྷΛ .$&1͔Βࢉग़ Ի੠೾ܗΛ߹੒ ԻྔΛௐ੔ ͜ͷαϯϓϧίʔυ͸ɺ੠࣭ม׵ϞσϧΛؒʹڬΉ͜ͱΛ૝ఆ͍ͯ͠·͢ɻ Ի੠σʔλॻ͖ग़͠

  29. ੠࣭ม׵ͷجૅ Ի੠ͷ෼ੳʗ߹੒ͷ࣮૷ʢʣ 803-%ɺ415,Ͱ Իڹಛ௃ྔΛநग़ εϖΫτϧแབྷΛ .$&1͔Βࢉग़ Ի੠೾ܗΛ߹੒ ԻྔΛௐ੔ Ի੠σʔλॻ͖ग़͠ ೖྗʗग़ྗԻ੠ͷൺֱσϞɻແม׵Ͱ͕͢ɺ߹੒ޙͷԻ੠͸΄΅ྼԽͳ͠ɻ

    ೖྗʗग़ྗԻ੠ͷൺֱ
  30. ม׵ϞσϧΛߏங͢Δݚڀಈ޲ ੠࣭ม׵Ϟσϧͷ୅දతͳֶशख๏ ଓ͍ͯɺԻڹಛ௃ྔΛֶशͤ͞ΔϞσϧʹ͍ͭͯɻ୅දతͳͷ͕ίνϥɻ "OBMZTJT ෼ੳ 4ZOUIFTJT ߹੒  جຊप೾਺' ϝϧέϓετϥϜ

    ඇपظੑࢦඪ  جຊप೾਺' ϝϧέϓετϥϜ ඇपظੑࢦඪ ઢܗม׵ ແม׵ ৭ʑ ػցֶशʹΑΔਪఆ͸ɺ ϝϧέϓετϥϜͷΈͷ৔߹͕ଟ͍ɻ $POWFSTJPO ม׵
  31. ม׵ϞσϧΛߏங͢Δݚڀಈ޲ ӡ༻ʹͷͤ΍ֶ͍͢शख๏ͷಛ௃ σʔλ͕ूΊ΍͘͢ɺϞσϧߏஙͷख͕ؒগͳ͍ಛ௃Λ΋ͭख๏΋͋Γ·͢ɻ ϊϯύϥϨϧσʔλ ಉҰͷจষΛಡΈ্͛ͨ̎छྨͷϖΞԻ੠͕ʮύϥϨϧσʔλʯͰ͋Δ ͷʹରͯ͠ɺҟͳΔ̎छྨͷϖΞԻ੠ͷ͜ͱΛࢦ͢ɻ ଟରଟͷม׵ ࿩ऀ"͔Β࿩ऀ#΁ͷม׵Λֶश͢Δɺ̍ର̍ͷม׵ख๏ʹରͯ͠ɺ ༻ҙͨ͢͠΂ͯͷ࿩ऀͷ૊Έ߹ΘͤΛҰ౓ʹֶश͢Δม׵ख๏ͷ͜ͱɻ ࣮૷σϞ

    ʢ4UBS("/7$ʣ
  32. ·ͱΊ

  33. ·ͱΊ ɹϝσΟΞͷϦιʔεͰӡ༻͢Δ̎ͭͷ75VCFS૾ΛఏҊͨ͠  75VCFSΛλϨϯτͰͳ͘χϡʔεഔମͱͯ͠ଊ͑Δ͜ͱͰɺ ػցֶशʹΑͬͯ75VCFSΛʮ࣮૷ʯͰ͖Δɻ ɹ੠࣭ม׵ͷجૅʙ࠷ۙͷݚڀಈ޲·Ͱɺͬ͘͟Γղઆͨ͠  Իڹֶͷલఏ஌ࣝͱɺ࠷௿ݶͷ࣮૷ํ๏ΛΧόʔͨ͠ɻ ֶशϞσϧͷߏஙํ๏ͷղઆ͸ɺ·ͨผͷػձʹɻ ࠓճ͸̎ͭͷςʔϚͰ঺հ͠·ͨ͠ɻߋʹ۩ମతͳ͓࿩͸·ͨผͷػձʹɻ

  34. ͪΐͬͱ͚ͩએ఻ ຊ೔ͷൃද಺༰ͷ ৄ͍͠ղઆ͸ɺ དྷिͷٕज़ॻయ̓Ͱ ൦෍༧ఆͰ͢ɻ  ೔ ʙ ஑ାαϯγϟΠϯγςΟ' లࣔϗʔϧ$͍$

    ಉ༷ͷ಺༰Λগ͠ৄ͘͠ॻ͍ͨهࣄΛࡌͤͨຊΛɺདྷि൦෍͠·͢ɻͥͻɻ
  35. 5IBOLZPV Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ SFMBUFEEPDT ɾAIχϡʔεΩϟελʔʮ޷࣮ΤϦΧʯ։ൃऀΠϯλϏϡʔ https://note.mu/nikkei_jisedai/n/n4fc1cd3fd9b5 ɾԻ੠෼ੳ߹੒αϯϓϧίʔυ https://github.com/Hirosaji/toy-codes/blob/master/handle_wav/forPyCon/ analyze_and_synthesize_wav.py ɾhujinsen /

    StarGAN Voice Conversion https://github.com/hujinsen/StarGAN-Voice-Conversion ɾLearn Amazon Sumerian https://docs.sumerian.amazonaws.com/
  36. 5IBOLZPV Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ SFGFSFODF ɾӋాཅҰɼେ઒ໜथɼ໦୩ढ़հɿԻڹֶೖ໳ϖσΟΞ, ίϩφࣾʢ2017ʣ ɾ৿੎কխɿԻ੠෼ੳ߹੒, ίϩφࣾʢ2018ʣ ɾߥ઒ ཮ɼߴಓ ৻೭հɼԐ౉

    ༸ɿϦΞϧλΠϜDNNԻ੠ม׵ͷ࣮૷ͱσʔλ ɹ֦ு๏ʹΑΔԻ࣭վળ๏, ೔ຊԻڹֶձ2019೥य़قݚڀൃදձߨԋ࿦จू, ɹ1-10-4.ʢ2019ʣ ɾToda, T., Black, A. W. and Tokuda, K.: Voice conversion based on ɹmaximum-likelihood estimation of spectral parameter trajectory, IEEE T. ASLP.ʢ2007ʣ
  37. 5IBOLZPV Ҏ্ɺ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ SFGFSFODF ɾTakuhiro, K. and Hirokazu, K.: Parallel-Data-Free Voice

    Conversion ɹUsing Cycle-Consistent Adversarial Networks, arXiv.ʢ2017ʣ ɾFuming, F., Junichi Y., Isao, E., and Jaime, L. T.: High-quality ɹnonparallel voice conversion based on cycle-consistent adversarial network, ICASSP.ʢ2018ʣ ɾKameoka, H., Kaneko, T., Tanaka, K., Hojo, N.ɿStarGAN-VC: Non-parallel ɹmany-to-many voice conversion using star generative adversarial networks., In 2018 IEEE Spoken Language Technology Workshop (SLT), pp. 266-273, IEEE.ʢ2018ʣ