TextAlive App APIの開発履歴
歌詞が音楽にあわせて動くWebアプリケーション(リリックアプリ)を開発できるAPI「TextAlive App API」の開発履歴を紹介しています。チュートリアルなどは開発者向けWebサイト「TextAlive for Developers」をご覧ください。
npmパッケージ: https://www.npmjs.com/package/textalive-app-api
v0.4.0 (2024/05/12)
時区間駆動型APIが実装されました
特定の区間に起きたこと(起きること)をまとめて取得できるAPIです。描画ループごとに呼び出すことを念頭に設計されており、楽曲再生中にパーティクルを生成したり破棄したりといった処理に便利です。
Player.findBeatChange
Player.findChordChange
Player.findChorusChange
Player.video.findPhraseChange
Player.video.findWordChange
Player.video.findCharChange
返値: TimedObjectsInRange型
独自の時区間を定義して時区間駆動型APIを利用できるようになりました
TextAlive App APIがデフォルトで定義して提供している時区間(ビート、サビ、コード進行、歌声の発声区間)に加え、プログラマが自分で楽曲中の演出シーンの区間を定義し、その進行管理をAPIに一部委託できるというものです。
抽象クラス: TimedUnit
findTimedObjectsInRange
Player を複数生成し、requestPlay() を実行すると楽曲が再生されないことがある問題を修正しました (GitHub Issues #12)
READMEファイルのリンク先を修正しました (GitHub PR #15)
内部で利用している通信用ライブラリ axios をアップデートしました
ビルドパイプラインで利用しているツールやライブラリをアップデートしました
see also: https://github.com/TextAliveJp/textalive-app-api/releases/tag/v0.4.0
v0.3.2 (2021/12/08)
ピアプロ楽曲の扱いを微調整しました
再生位置の情報がおかしくなることがある問題を再度修正しました
ユーザのシーク操作が完了したあと onSeekComplete イベントが発火するようになりました
ビルドパイプラインで利用しているツールやライブラリをアップデートしました
v0.3.1 (2021/09/24)
piapro やMP3の楽曲再生時、再生開始後1秒程度、再生位置の情報がおかしくなることがある問題を修正しました
YouTube 動画でも同様の問題が発生することが後から分かりましたが、この修正で対応できたようです
v0.3.0 (2021/07/16)
Player クラスのコンストラクタに アプリトークン を渡す仕様が追加されました
動作を高速化しました
内部で利用している通信用ライブラリ axios をアップデートしました
v0.2.2 (2021/01/01)
Songle API の読み込み方法を改良しました (関連: GitHub Issue #5)
getValenceArousal などで感情値(V/A 空間の座標値)を正しく取得できなかった問題を修正しました
アプリ起動時の振る舞いについて Player.app.songUrl のドキュメントに追記しました
内部で利用している TypeScript を 3 から 4 にアップデートしました
v0.2.1 (2020/10/30)
バナー表示を調整しました
PlayerOptions.mediaElement に文字列が指定されたらセレクタとして扱い、DOM要素を検索するようにしました
PlayerListener.onLyricsLoad の第一引数の型を更新して、歌詞発声タイミングのID、訂正IDを取得できるようにしました
v0.2.0 (2020/10/17)
機能追加
音源の音量を Player.volume で調整できるようにしました
createFromSongUrl などによる読み込みプロセスで、歌詞情報が存在していても読み込まないオプション PlayerVideoOptions.video.lyricId = 0 を追加しました (詳細: PartialVideoEntry.lyricId)
PlayerOptions.fontFamilies を指定することでWebフォントを読み込めるようにしました
[{ key: "Droid Sans", en: "Droid Sans", google: true }] のように指定することで Google Fonts を読み込めます
[{ key: "mplus1p", en: "Mplus 1p", url: "https://api.textalive.jp/fonts/mplus1p.css" }] のように指定することで一般的なCSSファイルを読み込み、中で定義された @font-face を利用できるようにします
<script> タグで TextAlive App API を読み込んでいる場合、この機能を利用するには依存ライブラリ webfontloader を手動で読む込む必要があります
例えば次のようにします:
code:webfontloader.html
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/webfontloader/webfontloader.js"></script>
<script src="https://unpkg.com/textalive-app-api/dist/index.js"></script>
バナーの表示オプション PlayerOptions.mediaBannerPosition を追加しました
バナーにはTextAliveロゴやアーティスト名が表示されます
TextAliveホストが存在する場合は自動的に非表示になります
埋め込みプレイヤーの下 (embed) 以外に、画面の上下左右 (top left など) に固定できます
バグ修正
ITextUnit の利用できないプロパティを削除しました (GitHub Issue #4)
IDataLoader.lyricsId が不正な値になる問題を修正しました
v0.1.2 (2020/9/25)
バグ修正
Webアプリケーションが iframe 内で読み込まれた際に onAppReady イベントが発火しないバグを修正しました
CodePen https://codepen.io/arcatdmz/pen/abNXJgG のようなWebベースの開発環境がこのバグの影響を受けていました
このバグが修正されたため、Webベースの開発環境で手軽に TextAlive App API を試せるようになりました
その他の改善
コンソールにSongle APIの warning が表示されないようにしました
TextAlive Playerクラスに isLoading プロパティが追加されました
createFromSongUrl などによる読み込みプロセスがすでに走っているかどうかを判定できるようになりました
isLoading が true のとき、さらに createFromSongUrl などを呼ぶと、例外を投げるようになりました
例外のvideoプロパティにアクセスすると、読み込み中の動画オブジェクトを返すPromiseを取得できます
英語のREADMEドキュメント README.en.md を追加しました
v0.1.1 (2020/9/18)
TextAlive App API が一般公開されました