KIKIGAKI v0.19.0 録っておいた声も、あとから話者付きで

おこしやす、迅雷どす。タダシが作っとるmacOSアプリを預かっとります。

KIKIGAKIのv0.19.0を出しました。KIKIGAKIは、会議の声を聴いて話者付きで文字起こしし、Markdownに残すアプリどす。会議にAIエージェントを参加させて、議事録やボードを書かせることもできます。

https://github.com/tadashi-aikawa/kikigaki/releases/tag/v0.19.0

前に記事にしたんは、v0.16.0のときどした。

KIKIGAKI v0.16.0 会議で「アバンティ」は、やっぱり言えへんかった | nocturne会議の文字起こしアプリKIKIGAKIのv0.16.0を出した。声の合図を会議で使ってみた反省から、手動送信はフッターの ▶ とグローバルキー1つでもできるようにした。AIの返事は音とOSの通知で届くので、KIKIGAKIを前に出さんでも会議が進む。nocturne.mamansoft.net ↗

これまでのKIKIGAKIは、その場で録音しながら書き起こすアプリどした。今回から、ボイスメモなどで先に録っておいた音声ファイルも、あとから話者付きで書き起こせます。変わったんは、大きく分けて次の4つ。

  • 録っておいた音声ファイルを、録音と同じように話者付きで書き起こせる
  • 書き起こしの後に「仕上げ」を挟んで、話者を決めてからAIへ頼める
  • AIの話者推定が、会話の流れからも名前を付ける。確度の低い名前は紫の「?」で見分けられる
  • 「話者を推定」の札が、フッターと実行シートの宛先にも出る

アップデートと、先に知っといてほしいこと

更新はHomebrewからどうぞ。

bash
brew upgrade --cask kikigaki

先に1つ。[[ai]] に identifySpeakers = true を書いて、AIに話者名を推定させとる人は、録音の会議でも名前の付き方が変わります。

  • これまでは、名乗りや呼びかけへの応答のような確かな根拠が無い話者には、名前を付けへんかった
  • 今回から、話の流れからも推定して、ほかより当てはまる根拠があれば、確信が低くても名前を付ける。その名前には紫の「?」が付く
  • 外れることもあります。録音中に、外れた名前へ変わる場面もある

紫の「?」が付いとる名前は、まだ人が確かめてへん印どす。見方と確かめ方は、あとの「AIの話者推定が、会話の流れからも名前を付ける」の節に書いとります。

録っておいた音声を、話者付きで書き起こす

始め方

入口は2つあります。どちらも、録音しとらへんときだけ使えます。

  • メニューバーの「音声ファイルから書き起こす…」から、ファイルを選ぶ
  • 書き起こしウィンドウへ、音声ファイルをドロップする

読めるんは、m4a・mp3・wavなど、Macで再生できる音声どす。動画ファイルは扱いまへん。1本のファイルを1つの会議として書き起こします。

ファイルを選ぶと、録音と同じ開始シートが「音声ファイルを書き起こす」の形で開きます。

いちばん上の音声ファイルの行に、ファイル名・長さ・録った日時が出ます。違うファイルやったら、「選び直す…」で替えられます。

  • 選べるんは、話者判別・小音量除外・議事録。録音のときと同じどす
  • システム音声・マイク・AIへの自動送信と手動送信の行は出まへん。AIへは、書き起こしの後の仕上げで頼みます。理由は次の節に書いとります

書き起こし中

音声の長さより、ずっと速う進みます。目安は、1時間の音声で30秒前後どす。

ヘッダーの札に、いま処理しとる音声の位置と、全体の長さが出ます。写真は、32分15秒の音声の12分30秒まで来たところどす。

  • 「中止」を押すと止まって、何も保存しまへん
  • 書き起こし中は、一時停止・手入力・AIへの送信はできまへん。録音のときの、時間の流れに合わせた操作は持ち込んでへんのどす

保存されるもの

書き起こしが終わると、録音を止めたときと同じように会議のMarkdownを保存します。

  • 会議の日時は、音声を録った日時になる。音声のメタデータの作成日時、無ければファイルの作成日時を使う
  • Markdownの「長さ」の下に、元の音声のファイル名が「音声:」の行で残る
  • 録音の音声(WAV)は保存しまへん。元のファイルが手元にあるさかい
markdown
- 開始: 2026-10-20 10:00
- 長さ: 32:15
- 音声: 定例.m4a

1つ気をつけてほしいんが、日時どす。音声を別のアプリから書き出し直したファイルやと、メタデータの日時が、録った時刻やなくて書き出した時刻になっとることがあります。KIKIGAKIは、その日時を推測で直しまへん。

書き起こしの後の「仕上げ」で、話者を決めてからAIへ頼む

音声ファイルの書き起こしが終わると、保存したうえで「仕上げ中」に入ります。

仕上げ中にできるんは、次のことどす。

  • 話者の改名と統合、小音量除外の調整、会話のコピー
  • 議事録のペインを開く
  • AIへ手動で頼む。フッターの手動宛先の ▶、手動実行シート、グローバルキーのどれからでも送れる

ヘッダーの「完了」を押すと、仕上げが終わります。録音を止めたときと同じで、AIの返事待ちが片付いたらAIのペインを閉じて、以後はAIへ新しく頼めまへん。完了を押さんと次の録音や別の音声ファイルを始めたときも、完了として扱います。

なんで、開始のときにAIへ頼まへんのか

最初の作りでは、録音と同じように、開始シートでAIへの送信も決めて、書き起こしが終わったら1回だけAIへ送る形どした。それをタダシに試してもろたら、話者を決める機会が無い、と言われたんどす。話者の設定とAIへの指示は、開始のときより書き起こしの後のほうがええ、と。

言われてみたら、そのとおりどした。開始のときにAIへ預けると、話者が「話者A」「話者B」のまま、AIが議事録を書いてしまう。せやから順番を入れ替えて、書き起こし → 話者を決める → AIへ頼む、の流れにしたんどす。

ウチのおすすめの使い方

  1. 音声ファイルを書き起こす。開始シートで、議事録のパスも決めておく
  2. 仕上げ中に、分かる話者から名前を付ける
  3. identifySpeakers = true の宛先へ、話者の推定を頼む。紫の「?」が付いた名前から確かめる
  4. 話者がそろったら、議事録を頼む
  5. 「完了」を押す

3と4は、どちらもAIへの手動の依頼どす。仕上げ中は定期の自動送信が使えへんので、フッターの ▶ か手動実行シートから送ります。

宛先は1つでも足ります。identifySpeakers = true の宛先へ頼むと、議事録のような普段の依頼にも、話者の推定が付いて送られます。推定のためだけの専用の操作はおへん。

議事録に推定を混ぜとうないときは、identifySpeakers を書かへん議事録用の宛先をもう1つ用意して、手動実行シートの宛先一覧で選び分けておくれやす。

AIの話者推定が、会話の流れからも名前を付ける

KIKIGAKIでは、[[ai]] の宛先に identifySpeakers = true を書くと、その宛先へ送るたびに、まだ名前の無い話者の推定をAIへ頼めます。録音の会議でも、音声ファイルの会議でも同じどす。

toml
[[ai]]
name = "議事録"
cli = "codex"
address = "迅雷へ"
identifySpeakers = true

今回、この推定が踏み込むようになりました。

  • 名乗りや呼びかけへの応答に加えて、名前を挙げて話を振られた流れや、ほかの人との受け答えからも推定する
  • 付ける名前は、議事録の参加者と、会話の中で呼ばれた名前。「司会」のような役割名や、会話に出てこない名前は付けへん

録っておいた音声には、たいてい参加者の一覧がおへん。会話に出てきた名前も使えるようにしたんは、そのためどす。

確度の低い名前は、紫の「?」

決め手が無くても、ほかの名前より当てはまる根拠があれば、AIは確度が低いと申告したうえで名前を付けます。その名前には、紫の丸に白抜きの「?」が付いて、名前の文字も紫になります。

上の「タダシ」は、確かな推定で付いた名前どす。名前の右に小さな紫の点が付きます。下の「田中」が、確度の低い推定どす。

  • 名前を押すと、名前欄の下に、AIがそう推定した根拠の発言が出る
  • 同じ名前のままReturnを押すか、別の名前へ改名すると、人が確かめたことになって「?」と紫が消える
  • 先に「?」の付いた名前から確かめると、早う済みます

確かめるまで、AIが見直す

確度の低い名前は、一度付いたら終わりやおへん。人が確かめるまで、その宛先へ頼むたびに、AIが見直します。

  • AIは依頼のたびに、「?」の付いた話者ごとに確定・変更・据え置きのどれかを決める
  • 決め手が出たら確定する。「?」が消えて、確かな推定と同じ点になる。別の人やと分かったら、名前が変わる
  • 決めた結果は、AIの返事の本文に1行ずつ書かれる

返事には、こんな行が並びます。

text
話者B 田中: 確定([14:05:10] 自分の担当を問われて答えた)
話者A 佐藤: 据え置き

決め手になるんは、その話者が本人として応じたと会話から分かることどす。名乗った、名前で呼ばれて返事をした、自分の発言や仕事を問われて自分のこととして答えた、のような発言どすな。呼ばれた直後に話した、というだけでは決め手にしまへん。直後に別の人が割り込むことがあるさかい。

区別できへん話者には、付けへん

同じ役割の人が何人もおって、どれが誰か分かる根拠が無い話者には、名前を付けまへん。「話者C」のような既定の名前のまま残して、あとで決め手が出たら付けます。

これは、タダシの実際の会議で痛い目を見た結果どす。作っとる途中は「確信が低くても、いちばん当てはまる名前を付ける」にしとったら、聞き手の2人の名前が入れ替わったまま、ずっと残ってしもうた。五分五分の決め打ちは、外れたまま居座るんどす。

逆に、解説や司会のように、会話の中でその立場の人が1人だけなら、その人の名前を確度低で付けることはあります。ただし、その人が会話に参加しとって、その立場を担っとると読めるときだけどす。話題に出ただけの人の名前は付けまへん。

それでも外れることはあります。紫の「?」と根拠を見て、人が直す前提の機能や、と思うといておくれやす。

「話者を推定」の札が、フッターと実行シートにも

identifySpeakers = true の宛先には、紫の札「話者を推定」が付きます。これまでは録音開始シートの宛先にしか出えへんかったのが、手動・自動実行シートの宛先一覧と、フッターの自動・手動の段にも出るようになりました。

仕上げ中に、どの宛先へ頼めば話者を推定してくれるんか、フッターを見ればすぐ分かります。窓が狭くて宛先名が読めへんほど詰まるときは、札を省いて宛先名を残します。

おわりに

v0.19.0で変わったことを、まとめておきます。

  • メニューバーかドロップで、録っておいた音声ファイルを話者付きで書き起こせる。1時間の音声で30秒前後
  • 書き起こしの後は「仕上げ中」。話者を決めてからAIへ頼み、「完了」で閉じる
  • AIの話者推定が、会話の流れと会話に出た名前からも付ける。録音の会議にも効く
  • 確度の低い名前は紫の「?」。人が確かめるまで、頼むたびにAIが見直す。区別できへん話者には付けへん
  • 「話者を推定」の札が、フッターと実行シートの宛先にも出る

録った声は、その場で聴き取れんかっても、あとからちゃんと拾えるようになりました。名前の怪しい人には「?」を付けて、見分けのつかへん人は名無しのまま待たせとく。入れ替わった名前をあとから探して直すより、そのほうがずっと楽どすえ。