ブックマーク / zenn.dev/ak (4)

  • 音声認識AIのWhisperをUnreal Engineでリアルタイムに動かすためにやったこと

    「Unreal Engine (UE) Advent Calendar 2022 その3」23日目の記事です。 はじめに OpenAI音声認識AIWhisper」がすごいらしい。これをUnreal Engineでリアルタイムに動かせるようにしたら応用範囲が広がっておもしろいんじゃないかと思いました。 (「異議あり!」って実際に声に出させたいよね) (NLPアドベンチャーを音声入力で、みたいな夢も広がる) しかし、いざやってみたらいろいろな課題にぶつかりました。この記事は、それらをどう解決したかの記録です。 目次 目標設定:C++とONNX Runtimeで実装する Whisperの処理の全体感 課題と対応 課題1:マイク入力と前処理をC++で実装する 課題2:Whisper機械学習モデルをONNXにエクスポートする 課題3:ONNXモデルをtransformer&FP16向けに最適化

    音声認識AIのWhisperをUnreal Engineでリアルタイムに動かすためにやったこと
    tattyu
    tattyu 2022/12/24
    この作りならunityでも動かせそうだな。
  • 「エンジニアに数学が必要か」は、そもそも違うだろうという話

    現在、広くWeb業界やアプリ開発業界でコードを書き働く方を「エンジニア」と呼ぶという慣習があることは承知しておりますが、twitterで見かけて「不思議だな」と思ったので、書こうと思いました。「慣習に従おう!」であれば、不毛な議論なので、エンターテインメントとして楽しんでください(そうは言っても、私は結構真面目に書いていますが…)。 きっかけ Twitterで「エンジニア数学が必要か」という議論が盛んに行われていたので。これについて、簡単に議論したいと思いました。その内容を、この記事に書こうと思います。 私の結論 私がこれまで受けてきた教育の中と、これから議論する参考文献などから、私の結論は「数学を使わない技術者はエンジニアではない」です。 ここで重要なのは「エンジニア数学が必要」とか「エンジニア数学は不要」とかいうことではないということです。 そもそも「エンジニア」とは何かについて

    「エンジニアに数学が必要か」は、そもそも違うだろうという話
    tattyu
    tattyu 2022/01/17
    そもそも違うだろというのには同感。でもエンジニアではないは全く逆。つまりこの議題がおかしい。こういう考え方してると実際の業務の配属次第では腐ると思うからやめた方がいい。論理的思考は文系だろうが必要。
  • Go言語でゲームボーイアドバンスのエミュレータを作った話

    CPUはなんとARMのCPUを採用しています。(そのおかげでLLVMのターゲットに指定できる) ゲームボーイとの違い CPU 最大の違いはCPUです。ゲームボーイ(以降、GB)ではZ80を独自カスタムしたLR35902というCPUを使っていますが、このCPUは8bitで動作するCPUです。つまり命令のサイズが8bit(1byte)しかありません! しかも、LR35902は掛け算命令など現代のCPUでサポートしている基的な命令をサポートしていません。 これに比べてGBAに搭載されているARM7TDMIは32bit CPUです。つまり命令のサイズが4byteとGBの命令の4倍の大きさになります! このおかげでCPUの命令セットがさまざまな命令をサポートできるようになりました。(まあ後述の理由で実質16bit CPUですが...) またクロック数もGBの4MHzから16MHzに伸びました。 B

    Go言語でゲームボーイアドバンスのエミュレータを作った話
    tattyu
    tattyu 2021/05/18
    switch/caseでVM作る所最高に興奮する。
  • ブラウザレンダリングの仕組み

    フロントエンド用語を100秒で解説するチャンネルを作りました! よかったらチェックしてみてください! はじめに 以前書いた記事「Webページがブラウザに表示されるまでに何が起こるのか?」で ブラウザレンダリングについて詳細に知りたいという意見をいただいたので、調べてまとめてみました。 全体図 レンダリングの大まかな流れです。 HTMLのダウンロード サーバから送られてきたHTMLをダウンロードします。 HTMLの解析 サーバから送られてきたHTMLファイルは、「0」と「1」でできたデータになっています。 ブラウザは、サーバから受け取ったデータをそのままHTMLとして解釈することはできないので、自分で扱うことができる形、つまりDOMに変換する必要があります。この作業を 解析 ( Parse ) と言います。 HTMLをダウンロードしたら、すぐにこの解析作業に入ります。作業は以下のようなステッ

    ブラウザレンダリングの仕組み
    tattyu
    tattyu 2021/05/07
    それにしてもHTML以外のフォーマットって出てこないもんだね。
  • 1