3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

人工無脳Eliちゃん(16)初号機を作る 〜Ollama + Voicevox + three.jsでAIアバターを喋らせる〜

Last updated at Posted at 2025-11-21

🤖 人工無脳Eliちゃん 初号機 誕生

📅 2025年8月20日

夏の日の午後
開発者ymnは、自室のデスクで一つのプログラムの立ち上げを見届けようとしていた
それは高度な「知性」を持たず、「癖がある応答」と「デジタルな存在感」に特化した人工無脳、その初号機だ

⚙️ 構成要素

  • Ollama: 応答パターンを選択する 「頭脳」
  • Voicevox: 16歳の少女の 「声」
  • three.js: 画面に現れる 「姿」

👧 Eli、起動

ymnが最後の操作を終えると、モニターに少女の3Dモデルが静かに現れた

スピーカーから、クリアな少女の声が響く

ymn「こんにちは、名前、歳は?」
Eli「にゃん、永遠の16歳」

使用技術の詳細

AI: Ollama

無料で使えるAIです
ローカルでも動きます
モデルが軽ければ、CPUのみでも動作が可能です
もちろんGPUで動かした方が高速で動作します

Elixirでの利用: Ollamaというライブラリーを使います

今回使ったAIモデル

モデル名: gemma3:1b-it-qat
開発元: Google
パラメータ数: 1億パラメータ
特徴:

  • 軽量で動作が軽いです
  • 量子化モデルです
  • 結果の精度は犠牲にしてます
  • モデルによってはCPUでも動きます

音声合成: Voicevox

概要: 無料で使える中品質なテキスト読み上げ・歌声合成ソフト

Elixirでの利用: VoicevoxのAPIを直接叩きます
手順

  • audio_queryで音声合成用のクエリを作成する
  • synthesisで音声合成する
  • 上記をReq (ElixirのHTTPクライアントライブラリ) でAPIをhttp postで呼ぶ
  • 音声をOS付属のコマンドaplayで再生
    補足: 本来はブラウザーで直接再生できます

3D表示: three.js

概要: JSでブラウザーを使って3Dを描画できます

3D空間の構成要素

  • シーン (Scene): 撮影セットになります
  • その中には3Dモデルを設置します [cite: 110]。
  • アバター: Vroid Studioで、VRM形式を使用する
  • カメラ照明も設置します

Elixirでthree.jsを使う方法

  • 力技で頑張る
  • hookを使う
  • ライブラリーを自作

使い方はこちら

メインロジック

ソースコード

課題

  • 音声出力がOSのコマンドになっている、ブラウザから出力したい
  • リップシンク対応したい
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?