ar-note

アプリケーション・ツール・アイデアの制作ノート
HTML + CSS + JavaScript

アプリケーション・ツール・アイデアの制作ノート
HTML + CSS + JavaScript

【JavaScript】桜舞うプログラム

HTML・CSS・JavaScript を用いた「桜が舞うアニメーション」の仕組みの解説。SVG を利用して花びらを生成し、CSS アニメーションで落下と揺れを表現。JavaScript により、ランダムなサイズ・位置・速度を設定した継続的に花びらの生成。メモリ負荷を抑えるため、アニメーション終了後に要素を削除する工夫。動的なエフェクトの作り方。

【JavaScript】VoskJsで音声ファイルを音声認識する。

音声認識の技術は、スマートスピーカーや音声入力のアプリケーション、さらには自動字幕生成などさまざまな分野で活躍しています。そんな中、Vosk.js は Web ブラウザ上で動作する軽量な音声認識ライブラリとして注目されています。この記事では、Vosk.js を使って音声ファイルから音声認識を行うサンプルコードを解説していきます。 ファイル認識開始 部分結果: 最終結果: 1. Vosk.js とはVosk 音声認識エンジンのブラウザ向け実装 Vosk.js は、Vosk 音声認識エンジンのブラウザ向け実装です。WebAssembly を活用しているため、クライアントサイドで高速かつ低リソースで音声認識を行うことが可能です。Web アプリケーションに組み込むことで、サーバーに音声データを送信する必要がなく、プライバシー保護や低遅延を実現できる点が大きなメリットとなっています。 Vosk.js の特徴としては、以下の点が挙げられます: 2. Vosk.js ライブラリの読み込み HTML 内部では、CDN 経由で Vosk.js ライブラリを読み込んでいます。 この記述により、外部ホストから最新の Vosk.js ライブラリが取得され、音声認識機能が利用可能となります。CDN を利用することで、ローカルにライブラリを配置する手間が省けるとともに、キャッシュなどの効果により読み込み速度が向上するメリットがあります。 3. モデルのロードと初期化 まず最初に行うのは、音声認識用のモデルを読み込む処理です。モデルは ZIP ファイルとして提供され、Vosk.createModel を使って非同期にロードされます。 4. ファイル認識の開始処理 ユーザーがファイル選択後に認識開始ボタンを押すと、startFileRecognition 関数が実行され、音声ファイルの処理が始まります。 4.1. ファイル入力の確認 4.2. FileReader によるファイルの読み込み 4.3. AudioContext と AudioBuffer の利用 これにより、ブラウザ内で音声データの再生、加工、解析が可能となります。 4.4. 認識器(Recognizer)の生成 サンプルレートを正しく設定することは、音声認識の精度に大きく影響するため、必須の処理となります。 4.5. 部分結果と最終結果のイベント設定 このイベントハンドラにより、音声認識の進行状況をユーザーにフィードバックできます。 認識結果は新しい <p> 要素に追加され、複数回の認識結果も順次表示できるようになっています。 4.6. 音声データのチャンク投入 この方法により、ストリーミングのように音声データが認識器に送信され、内部で処理が行われます。 4.7. 無音バッファ投入による入力終了の通知 ファイル認識の場合、マイク入力と異なり入力の終了を認識器に通知する必要があります。ここでは、一定期間の無音データを投入することで、認識器に「入力が終了した」というシグナルを送ります。 これにより、認識器はバッファ内の全データを処理し、最終的な結果を出力できるようになります。 5. 付録 5.1 マイク入力による音声認識 5.2 マイク入力による音声認識(AudioWorklet版)

【JavaScript】three.jsで360°画像+GLTF+影を表示する

本記事では、three.jsを使用して360度背景画像とGLTFモデルを表示し、さらに影をリアルに描画する方法を解説します。OrbitControlsによるカメラ操作、DirectionalLightによる影の設定、GLTFモデルの読み込みと影の適用など、基本的なテクニックを紹介。マウスホイールでのズームやウィンドウリサイズ対応も実装しています。初心者から中級者向けに、実践的なサンプルコード付きで詳しく解説!

【JavaScript】three.jsで360°画像を表示する

three.jsを使用して360°画像をブラウザ上で表示する方法を解説します。モジュール形式での実装方法として、importmapを使ってCDNからthree.jsとOrbitControlsを読み込み、シーンを設定して360°画像を球体にマッピングします。さらに、OrbitControlsで画像をドラッグして回転させる機能を追加し、インタラクティブな表示が可能です。これにより、ユーザーはブラウザで簡単に360°画像を楽しむことができます。

【JavaScript】要素へのイベントリスナーの追加(addEventListener)

JavaScriptにおけるイベント処理の基礎から応用まで、addEventListenerの使い方を豊富な実例とともに解説しています。クリック、マウス、キーボード、フォーム、タッチなど、さまざまなユーザー操作に対応する方法を紹介。さらに、イベント委譲や伝播制御、カスタムイベント作成など高度なテクニックも説明し、保守性と再利用性に優れたWebアプリケーションの実現を目指します。

【JavaScript】配列(追加・削除・ループ他)ガイド

JavaScriptの配列は、複数の値を効率的に管理・操作できる基本かつ強力なデータ構造です。本記事では、リテラル記法やArrayコンストラクタでの作成、push/pop、spliceなどの基本操作に加え、forループ、for…of、forEach、map、filter、reduceなどの反復処理、多次元配列やToDoリストの実例を通して、初心者にも分かりやすく応用テクニックを解説しています。

【JavaScript】Webブラウザで動くAR動画の作り方・使い方

はじめに AR(Augmented Reality、拡張現実)技術はエンターテインメント、教育、マーケティング、産業用途など、さまざまな分野で注目を集めています。スマートフォンやタブレット、PCなどの普及に伴い、Webブラウザ上で手軽にAR体験を提供できる技術が求められるようになりました。本記事では、JavaScriptを用いてWebブラウザ上でAR動画を実現する方法について、具体例とともに詳しく解説していきます。 初めに、代表的なWebARライブラリである「A-Frame」と「AR.js」を利用した基本的なサンプルコードを紹介し、その仕組みや動作原理、設定方法を順を追って説明します。また、マーカーを利用したAR体験の実装例をベースに解説します。 AR技術の基礎知識 ARは、現実の映像にコンピュータ生成の画像や動画、3Dモデルなどを重ね合わせる技術です。従来のVR(仮想現実)がユーザーを完全に仮想世界へ没入させるのに対し、ARは現実世界に仮想コンテンツを追加することで、現実と仮想の双方の情報を統合した体験を提供します。具体的な例として、スマートフォンのカメラで映した風景の上にナビゲーション情報を表示したり、博物館で展示物に関連する追加情報をオーバーレイ表示するケースが挙げられます。 Webブラウザ上でのAR実装には、以下のようなポイントが重要です。 ここで紹介する「A-Frame」と「AR.js」は、これらの要求を満たしつつ、比較的シンプルなコードで高度なAR体験を実装できる点が魅力です。 1. Webブラウザで手軽にAR動画!A-FrameとAR.jsを使った簡単なコード Webカメラを使用し、特定のパターンを持つ画像(Hiroマーカー)を認識することで、ARコンテンツ(動画)を表示するサンプルです。 コード解説 WebARライブラリ「A-Frame」と「AR.js」を使って、Webブラウザ上でAR動画を表示するサンプルコードを解説します。 1. HTMLの基本構造とスタイル設定 ページ全体の余白をなくし、シーン(a-scene)の高さを画面全体に広げることで、ユーザーにシームレスなAR体験を提供しています。これにより、スマートフォンでもPCでも違和感なく映像が表示されます。 2. JavaScriptライブラリの読み込み GitHub(https://github.com/aframevr/aframe)より、ダウンロードしてください。 GitHub(https://github.com/AR-js-org/AR.js)より、ダウンロードしてください。 3. ARシーンの記述 <a-scene> タグに arjs 属性を追加することで、Webカメラ映像の背景上にARコンテンツを表示できるモードに切り替えています。ここでは、以下の設定がされています。 4. マーカーと動画の設定 id="myVideo":idにmyVideoを指定します。loop="false":ループ再生をせず、1回だけ再生する設定。src="./video.webm":動画ファイルのパスを指定します。背景透過の動画を使用します。 preset="hiro":一般的な「Hiroマーカー」が認識された場合に内部のコンテンツ(ここでは動画)が表示されます。 指定された動画ファイル(video.mp4)がHiroマーカー上に3Dオブジェクトとして配置されます。 src="#myVideo":動画オブジェクトのidを指定します。width="1.28" height="2.160":動画のサイズを設定します。position="0 0 0":動画の位置を設定します。rotation="-90 0 0":動画の回転を設定します。 5. カメラの設定 シーン内にユーザーの視点が反映されるカメラを配置します。これにより、ユーザーのカメラ映像とARコンテンツがリンクし、動的な体験を実現します。 動作確認の手順 著作 VOICEVOX:ずんだもん 立ち絵:坂本アヒル 様 ツール:ずんだもんのプチ音声動画作成ツール Hiroマーカー Hiroマーカーは、ARコンテンツを現実空間に正確に配置するための視覚的な基準となるパターンです。一般に、白い背景に黒い図形が描かれたシンプルなデザインで、カメラや専用アプリが容易に認識できるようになっています。印刷物やスマートフォン、PC画面上で表示することで、ARライブラリがマーカーの位置や向きを検出し、その情報に基づいて仮想オブジェクトを配置します。 2. 画像認識AR(MindAR) 画像認識ARは、特定の画像(ポスター、広告、書籍の表紙など)を認識し、その画像に合わせてARコンテンツを配置する手法です。マーカーのような専用パターンではなく、実際に普段目にする画像を認識対象とするため、ユーザーにとって直感的な体験が得られます。 画像認識ARを実現するには、専用のライブラリ(例:MindAR、8th WallのWebARソリューションなど)を使用する方法があります。たとえば、MindARは軽量なWebARライブラリで、画像認識機能を備えており、複数のターゲット画像に対応できます。以下は、MindARを用いた基本的な実装例です。 動作確認 .mindファイルについて 「targets.mind」ファイルは、MindARライブラリにおける画像認識機能を実現するための重要な設定ファイルです。このファイルには、AR体験で使用するターゲット画像(認識対象となる画像)の情報が事前にエンコード・解析されたデータが含まれており、リアルタイムの画像追跡に必要な特徴量やマーカー情報が格納されています。 MindARが提供するオンラインジェネレーター:https://hiukim.github.io/mind-ar-js-doc/tools/compile 用意した認識マーカー用の画像をアップロードします。 「Download compied」ボタンで「targets.mind」をダウンロードできます。 3. AR動画を実装する際の注意点 AR動画の開発を進めるにあたって、いくつかの注意点があります。 1. デバイスの性能 ARはリアルタイムで映像を処理するため、使用するデバイスの性能が体験の質に直結します。低スペックのスマートフォンやPCでは、フレームレートが低下したり、遅延が発生する可能性があるため、対象とするユーザーの環境を考慮して実装や最適化を行いましょう。 2. 照明環境とマーカー認識 マーカー認識は、カメラの映像に依存するため、十分な明るさやコントラストが必要です。特に屋内や暗所での利用時には、正確な認識が難しくなる場合があるため、環境に合わせた調整や、場合によっては画像認識AR(例:MindARなど)の利用も検討してください。 3. ユーザーインターフェースの工夫 AR動画は従来の動画再生と異なり、ユーザーのカメラ操作や視線移動に連動するため、操作方法やインターフェースのデザインに工夫が求められます。使いやすさと直感的な操作性を両立させることで、初心者でもストレスなく利用できるAR体験を提供できます。 4. AR動画の使い方 AR動画は、さまざまな分野での活用が進んでおり、既に多くの現場で実用化されています。また、技術の進化とともに、今後さらに幅広い用途への展開が期待されています。以下に、現状の利用例と今後の可能性について解説します。 現在の活用事例 今後の展望 おわりに Webブラウザ上で実現できるAR動画技術は、従来のARアプリケーションに比べ手軽に導入できる点が大きな魅力です。A-FrameとAR.jsをはじめとするライブラリの登場により、開発の敷居が下がり、クリエイティブな表現の幅が格段に広がりました。また、WebXR APIなどの新技術の普及により、今後はよりリアルタイム性やインタラクション性に優れたAR体験が可能になると考えられます。 本記事で紹介したサンプルコードや解説、応用例を通じて、AR技術の基礎から応用までを幅広く学び、実際のプロジェクトへの展開に役立てていただければ幸いです。AR動画を活用した新たな表現方法は、今後のデジタルコンテンツ制作において、ますます重要な位置を占めることでしょう。 今後も技術の進化とともに、より高度で革新的なAR体験が登場することが期待されます。最新のライブラリやAPIのアップデート、そしてユーザーからのフィードバックを積極的に取り入れ、常に最適な体験を提供することが、AR開発における成功の鍵となります。 ぜひ、この記事をきっかけに自分自身のARプロジェクトを始め、創造性あふれる新たなコンテンツを生み出してください。ご質問や意見、実際の開発事例などがあれば、コミュニティと共有することで、更なる技術向上とイノベーションにつながるはずです。 PR広告 楽天ブックスでAR(拡張現実)の本を探す

【JavaScript】の【mapメソッド】を徹底解説

JavaScriptのmap()メソッドは、配列の各要素に対して関数を適用し、新しい配列を作成する強力なメソッドです。本記事ではmap()の基本から応用まで、豊富なサンプルコードを交えて解説します。forEach()やfilter()などの類似メソッドとの違い、パフォーマンスの考慮点、ネストされた配列の処理方法など、初心者から上級者まで役立つ内容を網羅。map()を活用して効率的なコードを書く方法。

【CORSエラー】JavaScriptにおける対策

JavaScriptでAPI通信を行う際、ブラウザはセキュリティ上の理由から異なるオリジン間のデータ共有を制限し、CORSエラーが発生することがあります。CORS(Cross-Origin Resource Sharing)は、サーバー側が明示的に許可した場合のみアクセスを認める仕組みです。この記事では、基本概念、エラー原因、プリフライトリクエストの流れ、そして対策方法を具体例と共に詳しく解説しています。

360°画像GLTF表示
360°画像GLTF表示
PC内のファイルも
表示できます。
戦闘っぽいデモ
戦闘っぽいデモ
モンスター同士が
戦います。
ずんだもんチャット
ずんだもんチャット
GeminiAPIを
使ったチャットボット
プチアニメ動画作成
プチアニメ動画作成
音声に合わせて喋る。
アイデアプロセッサ
アイデアプロセッサ
アイデアを整理する
ツール
テキストエディタ
テキストエディタ
MicroSofot製
高性能
面付シミュレーター
面付シミュレーター
ナンバリング計算
ナンバリング計算
Excel住所録データ
郵便番号自動補完ツール
Excel住所録データ
郵便番号自動補完ツール
集中線メーカー
集中線メーカー
CSSテキスト
エフェクトツール
CSSテキスト
エフェクトツール
3Dモデル作成
3Dモデル作成
2枚の絵から
glTFを作成する
glTFを回転GIF画像へ
glTFを回転GIF画像へ
OCRツール
OCRツール
画像からテキストを
読み取ります
画像コンバーター
画像コンバーター
画像を読み込み、
別形式で保存する。
QRコード
QRコード
読取・解析
ブックマーク
ブックマーク
WEBサイトを
登録/削除
メール2リンク
メール2リンク
メールを
起動するリンクを
作成します。
伝票OCRツール
伝票OCRツール
スキャン原稿から
データ生成できるか?
実験中
常時音声入力
常時音声入力
utf-8エンコーダー
utf-8エンコーダー
utf-8 テキストを
エンコード・
デコードする
郵便番号・住所検索
郵便番号・住所検索
郵便番号から住所
住所から郵便番号
タスク管理
タスク管理
テキストエディタ
テキストエディタ
自動保存・読込
正規表現検索
音声入力
音声入力
位置情報確認
位置情報確認
WebP画像変換
WebP画像変換
PSDオープン
PSDオープン
QRコード解析
QRコード解析
QRコード読み取り
QRコード読み取
QRコード作成
QRコード作成
鏡アプリ
鏡アプリ
URLマルチデバイス表示
スマホ・タブレット
ノートPCでの表示確認
URLマルチデバイス表示
スマホ・タブレット
ノートPCでの表示確認
旧暦カレンダー
旧暦カレンダー
glTF(3Dモデル)表示
glTF(3Dモデル)表示
プチアニメ
音声ファイルに
合わせてキャラが
喋る
プチアニメ
音声ファイルに
合わせてキャラが
喋る
単位変換
単位変換
タスク管理
タスク管理
デザイン分析ツール
デザイン分析ツール