佐賀人のIT技術者のブログ

佐賀人のIT技術者のブログ

IT技術、日常のブログです。たまに地元・佐賀について書きます。

音声ファイルから文字起こしする Powered by 生成AI

kotoba-whisper-v2.0を利用して、音声ファイルから文字起こしをする方法を紹介します。

kotoba-whisper-v2.0とは

Kotoba-Whisperは、OpenAIが開発した音声認識モデル「Whisper」を日本語に特化させ、高速化・高精度化を実現した音声認識モデルです。特に最新バージョンの「kotoba-whisper-v2.0」は、Whisper large-v3モデルを基に、蒸留技術を用いて最適化されており、同等の認識精度を維持しつつ、推論速度を約6.3倍に向上させています。

主な特徴:

  • 高精度な音声認識: 日本語に特化してトレーニングされており、専門用語や日常会話のニュアンスを正確に捉えることができます。
  • 高速な処理能力: 従来のモデルと比較して、推論速度が大幅に向上しており、長時間の音声データでも迅速に処理が可能です。
  • ローカル環境での動作: データをクラウドにアップロードせずに処理できるため、機密情報を扱う企業や組織にとって安心して利用できます。

準備

言語はPythonです。下記をpip installしてください。

accelerate==1.3.0
aiohappyeyeballs==2.4.6
aiohttp==3.11.12
aiosignal==1.3.2
attrs==25.1.0
audioread==3.0.1
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
datasets==3.2.0
decorator==5.1.1
dill==0.3.8
filelock==3.17.0
frozenlist==1.5.0
fsspec==2024.9.0
huggingface-hub==0.28.1
idna==3.10
Jinja2==3.1.5
joblib==1.4.2
lazy_loader==0.4
librosa==0.10.2.post1
llvmlite==0.44.0
MarkupSafe==3.0.2
mpmath==1.3.0
msgpack==1.1.0
multidict==6.1.0
multiprocess==0.70.16
networkx==3.4.2
numba==0.61.0
numpy==2.1.3
packaging==24.2
pandas==2.2.3
platformdirs==4.3.6
pooch==1.8.2
propcache==0.2.1
psutil==6.1.1
pyarrow==19.0.0
pycparser==2.22
python-dateutil==2.9.0.post0
pytz==2025.1
PyYAML==6.0.2
regex==2024.11.6
requests==2.32.3
safetensors==0.5.2
scikit-learn==1.6.1
scipy==1.15.1
setuptools==75.8.0
six==1.17.0
soundfile==0.13.1
soxr==0.5.0.post1
sympy==1.13.1
threadpoolctl==3.5.0
tokenizers==0.21.0
torch==2.6.0
tqdm==4.67.1
transformers==4.48.3
typing_extensions==4.12.2
tzdata==2025.1
urllib3==2.3.0
xxhash==3.5.0
yarl==1.18.3

プログラム

import torch
from transformers import pipeline
from datasets import load_dataset
import numpy as np

# config
model_id = "kotoba-tech/kotoba-whisper-v2.0"
torch_dtype = torch.bfloat16 if torch.cuda.is_available() else torch.float32
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}
generate_kwargs = {"language": "ja", "task": "transcribe"}

# load model
pipe = pipeline(
    "automatic-speech-recognition",
    model=model_id,
    torch_dtype=torch_dtype,
    device=device,
    model_kwargs=model_kwargs,
    batch_size=16
)

# load sample audio (concatenate instances to create a long audio)
dataset = load_dataset("japanese-asr/ja_asr.reazonspeech_test", split="test")
sample = {"array": np.concatenate([i["array"] for i in dataset[:20]["audio"]]), "sampling_rate": dataset[0]['audio']['sampling_rate']}

# run inference
#result = pipe(sample, chunk_length_s=15, generate_kwargs=generate_kwargs)
# run localfile
result = pipe("test2.mp3", return_timestamps=True, generate_kwargs=generate_kwargs)
print(result["text"])

注意点

文字起こしはしてくれるが、漢字が正しくなかったり、一部ニュアンスが異なっている箇所があるので、目視確認は必要かと思います。 ただ、総評には高精度な方だと思う。

ちなみに下記は、獺祭というお酒を解説した音声ファイルを文字起こししたものです。 ※プログラムの出力結果をそのまま貼り付けています。

脱菜という言葉には素晴らしい意味が込められています日本の伝統的な酒である脱菜は聖地で繊細な味わいが特徴ですどんな食事にも合うその香り高いお酒はまさに日本の美を象徴しているといえるでしょうまた、川宇祖祭はその製造過程においても厳選された米を使用し技術の水を尽くして作られていますそんなこだわり抜かれた一品を一度味わえばその豊かな風味に魅了され毎晩でも飲みたくなってしまうことでしょう自然とともに生きるという姿勢を感じさせるかのようです

参考

huggingface.co

2025年2月9日 秩父・三峯神社に行ってきた

元町・中華街駅を6時30分に出発

 

三峯神社参拝路の景色。雪化粧が綺麗。 

三峯神社の三ツ鳥居。全国でも三ツ鳥居があるのは珍しいそう。

随神門。立派。

とある広場の景色。足元に雪がすごい積もっていた。

日本武尊の像。山々を仰ぎ見ているよう。

奥宮遥拝殿。手前の一番右の山が奥宮がある妙法ケ岳。

帰り際の山並み。

こっちに行くと奥宮山道に入れる。関東最高峰の雲取山へも繋がっている。

秩父餅を持ち帰った。もちもちで美味しかった。



 

つみたてNISAの対象ファンドの特徴とは?

つみたてNISAは、長期・分散・積立投資を促進するために設計された非課税制度です。対象ファンドには、金融庁の基準を満たした商品が選定されており、主にインデックスファンドと一部のアクティブファンドが含まれます。本記事では、つみたてNISAの対象ファンドの特徴を解説します。

つみたてNISA対象ファンドの選定基準

つみたてNISAの対象となる投資信託は、以下のような要件を満たす必要があります。

1. 販売手数料がゼロ(ノーロード)

投資を始める際にかかる手数料がゼロであることが条件です。これにより、長期投資に適した低コスト運用が可能になります。

2. 信託報酬が低水準

運用コストにあたる信託報酬が低いファンドのみが対象です。たとえば、インデックスファンドでは年率0.2%程度の低コスト商品が多く、コスト負担を抑えた運用が可能です。

3. 信託期間が無期限または20年以上

短期間で償還される商品ではなく、長期運用に適したファンドが対象です。

4. 毎月分配型は対象外

分配金が頻繁に支払われると、複利の効果が薄れるため、つみたてNISAでは毎月分配型のファンドは除外されています。

つみたてNISAの対象ファンドの種類

1. インデックスファンド(パッシブファンド)

インデックスファンドは、特定の株価指数(例:S&P500、日経225、MSCIオール・カントリー・ワールド・インデックスなど)に連動するように運用されるファンドです。

代表的なインデックスファンド

✅ 国内株式:TOPIX、日経225など.
✅ 米国株式:S&P500、全米株式(VTI)、全世界株式(ACWI)など.
✅ 全世界株式:MSCI ACWI、FTSEグローバル・オールキャップなど

▶ 特徴

  • 低コストで運用されるため、手数料が少なくリターンを最大化しやすい
  • 分散投資が可能で、リスクを抑えながら成長を期待できる

2. アクティブファンド(一部)

つみたてNISAでは、長期運用に適した一部のアクティブファンドも対象となっています。インデックスファンドと異なり、ファンドマネージャーが市場を分析し、積極的に銘柄選定を行うのが特徴です。

▶ 特徴

  • インデックスファンドより高いリターンを狙える可能性がある
  • ただし、信託報酬が高め(年率0.5%〜1.5%程度)で、手数料の影響を受けやすい

つみたてNISA対象ファンドの選び方

  1. コストを重視する  → 信託報酬が低いインデックスファンドを優先すると、長期的なリターンを高めやすい。

  2. 投資対象を分散する  → 米国株式(S&P500)や全世界株式(オールカントリー)などの分散性が高いファンドが安定しやすい。

  3. リスク許容度を考える  → 値動きが大きいファンド(例:米国株)か、値動きが安定したファンド(例:バランス型)かを判断する。

まとめ

つみたてNISAの対象ファンドは、低コストかつ長期投資に適した商品が選ばれています。

✅ コストを抑えたインデックスファンドが中心.
✅ アクティブファンドは一部のみ対象.
✅ 長期・分散・積立を意識した選び方が重要.

長期の資産形成を目指すなら、つみたてNISAの対象ファンドを賢く選び、コツコツと積み立てるのが成功の鍵です。あなたに合ったファンドを見つけて、ぜひ活用してみてください!

chromeを利用してhtmlからPDFを生成する方法

wkhtmltopdfというHTMLからPDFを生成するツールがあったが、開発が終了したため代替案を紹介する。

方法としてはGoogle ChromeのPDF印刷機能を利用してHTMLからPDFを生成する。

Chromeを利用してPDF生成するとはどういうことなのか?

Chromeはブラウザだが、headlessモードというものが存在する。

このモードを使うことでChromeウィンドウを開かずにChrome機能を利用できる。

つまり、プログラムからChromeをheadlessモードで起動し、PDF印刷機能を呼び出す。

方法を紹介する

難しいことはなく、下記のコマンドでHTMLからPDFを生成できる。

google-chrome --headless --disable-gpu --no-pdf-header-footer --print-to-pdf=./output.pdf file:///home/username/input.html

--no-pdf-header-footerはPDFのヘッダとフッタを非表示にするオプション。デフォルトでは日付やファイルパスなどが自動で表示されてしまうので非表示する。

--print-to-pdfは第一引数に出力先のファイルパスを、第2引数に入力のHTMLファイルパスを設定する。

ちなみにWebページの印刷の下記で可能。

google-chrome --headless --disable-gpu --no-pdf-header-footer --print-to-pdf=./output.pdf https://google.com

ちなみに、Google Chrome以外にも、ChromiumMicrosoft Edgeでも同様の方法でPDF生成ができる。

米国を代表する株価指数とは?主要指数の特徴と違い

米国株式市場は世界最大の規模を誇り、多くの投資家が注目しています。その市場の動向を把握するために、いくつかの代表的な株価指数が活用されています。米国を代表する株価指数として、S&P500ダウ平均(DJIA)ナスダック総合指数 の3つを紹介し、それぞれの特徴や違いを解説します。

1. S&P500(Standard & Poor’s 500)

S&P500は、米国を代表する500社の大型株で構成される指数で、米国市場全体の動きを最もよく反映するとされています。

◇ 基本情報

  • 対象銘柄:米国の主要500銘柄
  • 算出方法:時価総額加重平均(時価総額の大きい企業の影響が大きい)
  • 特徴:米国経済の全体的な成長を示す指標

◇ メリット・デメリット

✅ メリット:市場全体の動向を把握しやすく、長期投資に向いている.
❌ デメリット:ハイテク株の比率が高く、最近はGAFAM(Google, Apple, Facebook, Amazon, Microsoft)の影響が大きい

◇ 代表的な銘柄

S&P500は「米国市場全体を代表する指数」と言われ、長期投資に適した指数として人気があります。

2. ダウ平均(Dow Jones Industrial Average, DJIA)

ダウ平均は、米国を代表する30銘柄で構成される株価指数で、最も歴史のある指数のひとつです。

◇ 基本情報

  • 対象銘柄:米国の主要30銘柄
  • 算出方法:株価加重平均(株価の高い銘柄の影響が大きい)
  • 特徴:歴史が長く、米国の伝統的な大企業の動向を示す

◇ メリット・デメリット

✅ メリット:歴史が長く、世界中の投資家に親しまれている.
❌ デメリット:30銘柄のみのため、米国市場全体の動向を把握しにくい

◇ 代表的な銘柄

ダウ平均は伝統的な指数であり、ニュースなどで頻繁に報道されるため、投資家の間でも注目されやすいです。

3. ナスダック総合指数(NASDAQ Composite)

ナスダック総合指数は、米国のハイテク企業中心の株価指数で、成長性の高い企業が多く含まれています。

◇ 基本情報

  • 対象銘柄:ナスダック市場に上場する全銘柄(約3,000社以上)
  • 算出方法:時価総額加重平均
  • 特徴:テクノロジー企業が多く、成長性が高い

◇ メリット・デメリット

✅ メリット:テクノロジー株を中心に高成長が期待できる.
❌ デメリット:景気変動の影響を受けやすく、ボラティリティ(値動き)が大きい

◇ 代表的な銘柄

ナスダック総合指数は、ハイテク株に重点を置きたい投資家に人気の指数です。

4. まとめ:どの指数に注目すべき?

指数 対象銘柄 算出方法 特徴
S&P500 500銘柄 時価総額加重 米国市場全体の動向を反映
ダウ平均 30銘柄 株価加重 伝統的な大企業の動きを示す
ナスダック総合指数 3,000銘柄以上 時価総額加重 テクノロジー企業が多く、高成長
  • 米国市場全体に投資したいなら → S&P500
  • 安定した大企業に投資したいなら → ダウ平均
  • 成長性の高いハイテク株に投資したいなら → ナスダック総合指数

どの指数に投資するかは、あなたの投資スタイル次第です。それぞれの特徴を理解し、自分のポートフォリオに合った選択をしましょう!

日本を代表する株価指数とは?主要な指数の特徴と違い

株式投資をするうえで、日本の株式市場を代表する「株価指数」を知ることは重要です。株価指数は、マーケット全体の動向を把握したり、投資の参考にしたりするための指標となります。本記事では、日本を代表する株価指数として 日経平均株価TOPIX「JPX日経400」 の3つを紹介し、それぞれの特徴や違いを解説します。

1. 日経平均株価(Nikkei 225)

日経平均株価(通称:日経平均)は、日本の株式市場を代表する最も有名な株価指数です。

◇ 基本情報

  • 対象銘柄:東京証券取引所プライム市場に上場する225銘柄
  • 算出方法:価格加重平均(株価が高い銘柄の影響が大きい)
  • 特徴:株価の高い銘柄が指数に大きな影響を与える

◇ メリット・デメリット

✅ メリット:知名度が高く、ニュースなどで頻繁に報道される. ❌ デメリット:時価総額ではなく株価の影響が大きいため、実際の市場動向を正しく反映しないことがある

◇ 代表的な銘柄

2. TOPIX東証株価指数

TOPIXは、時価総額の大きさを反映した指数で、日本の株式市場全体の動きをより正確に示します。

◇ 基本情報

  • 対象銘柄:東京証券取引所プライム市場の全銘柄
  • 算出方法:時価総額加重平均(企業の規模に応じて指数への影響が決まる)
  • 特徴:市場全体の動きを正確に反映

◇ メリット・デメリット

✅ メリット:市場全体の動向を把握しやすい.
❌ デメリット:指数の動きが日経平均より地味に感じることがある

◇ 代表的な銘柄

3. JPX日経400

JPX日経400は、「投資家に魅力的な企業」を選定した株価指数で、企業の財務指標や収益性が重視されます。

◇ 基本情報

◇ メリット・デメリット

✅ メリット:収益性の高い企業が選ばれるため、長期的な成長を期待できる.
❌ デメリット:採用銘柄が定期的に見直されるため、指数の継続性が低い

◇ 代表的な銘柄

4. まとめ:どの指数に注目すべき?

指数 対象銘柄 算出方法 特徴
日経平均株価 225銘柄 価格加重平均 株価の高い銘柄の影響が大きい
TOPIX プライム市場全銘柄 時価総額加重平均 市場全体の動きを反映
JPX日経400 400銘柄 収益性重視 投資魅力度の高い企業を選定
  • 短期投資なら 日経平均株価(値動きが大きく、ニュースでの情報量も多い)
  • 長期投資なら TOPIX(市場全体の成長を期待できる)
  • 成長企業に投資したいなら JPX日経400(財務優良企業に特化)

株価指数を理解することで、より適切な投資判断ができるようになります。自分の投資スタイルに合った指数を参考にしながら、資産運用を進めていきましょう。