字幕付きの音声ファイルをIIIFビューアで表示する

概要 字幕付きの音声ファイルをIIIFビューアで表示する機会がありましたので、備忘録です。 国立国会図書館 歴史的音源で公開されている「日本のアクセントと言葉調子(下)」を対象に、OpenAIのSpeech to textを使用しています。文字起こし結果には誤りが含まれていますので、その点はご注意ください。 以下は、Rampでの表示例です。 https://ramp.avalonmediasystem.org/?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json 以下は、Cloverでの表示例です。 https://samvera-labs.github.io/clover-iiif/docs/viewer/demo?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json 以下は、Aviaryでの表示例です。こちらについては、残念ながら今回使用したマニフェストファイルの形式では、文字起こしテキストは表示できませんでした。 https://iiif.aviaryplatform.com/player?manifest=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json 以下、これらのマニフェストファイルの作成方法について紹介します。 mp4ファイルの準備 以下の記事を参考に、mp4ファイルを取得します。 vttファイルの作成 OpenAIのAPIを使用して、文字起こしを行います。 f c a t w r l u r i o i d a t m e i n h n o s m f r f o t _ c o i e o i p f r d l s p l e = i i e e p e e n l p l = o n . a O e t = a n ( w i p = " u s o r e = w d e u i i n o h i _ t t m A p c i o f p e p I e l s _ o u ( o ( n i p f r t t r a ( e e i m _ r t p o n r l a v a i u t - e t t n O _ t . 1 , = t s p k p a " " _ c e e u u , v p r n y t d t a i A = _ i t t p I o m o " h t s p . ) , ) . 4 t g _ r " e p a w t a n " e t s , n h c v , r e ( i n " " p c O r t o P b i d E " o i N ) n n A s g I . = _ c " A r u P e t I a f _ t - K e 8 E ( " Y ) " ) a ) s f i l e : マニフェストファイルの作成 不完全なコードですが、以下のようなプログラムによって、マニフェストファイルを作成します。 ...

2024年7月10日 · 7 分 · Nakamura

Rampをカスタマイズする

概要 Rampのカスタマイズ方法に関する備忘録です。カスタマイズの結果、以下のように、UIの一部を日本語化し、メディアプレイヤーとメタデータおよび文字起こしを左右に並べて表示します。また、クエリパラメータtを使って、音声の再生開始時間を指定できるようにします。 例えば、以下のURLから、140秒時点から再生することができます。 https://ramp-iiif.vercel.app/?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json&t=140 以下がカスタマイズ前です。 セットアップ 以下の記事の参考にしてください。 カスタマイズ 音声の再生開始時間の指定 以下のマニュアルにおいて、startCanvasTimeプロパティが使えることがわかります。 https://samvera-labs.github.io/ramp/#!/IIIFPlayer そこで、以下のindex.jsファイルに対して、startCanvasTimeをクエリパラメータから取得する処理を追加します。 i i i c } c } R m m m o ; o e > p p p n c l i } r n c i } r a m , o o o i s e f e s o f e c a r r r m t n t u t t n r t t n d t t t p s l ( r u s ( e u D i o o m t e u p l r s t p t r O f c R R A r a t r a n t a u n M e u e e p t n p l r = a p r r . s m a a p i a u a u r a a n 0 r t e c c c f r r = m p r t r m ; e U n t t f o e a l s a l C a s p n R t D r n s m " . r ; a m . a d L . f O o f t s = h h a n s h r e = g r M m i U t a m v a s r { e o g R = ` t s s a = s e ( m t m f L $ p ( . s ( F < a E r f n { s ' g T n ' l A n l ' o / r = e c : i e i e t o p i e r m a o w o / i t m w ' a p f m e p m n / i ( e ) t e e a ' p U f n f ' U ) ( s n c r ' R i a - i = R p t t t e ; = L g k c i L { a U B ' a / > S . a o i S r R y ; c c e u m n f e a L I t o { a r u t - a m ( d - n r l r e c = r s ) ( d f c } a n o > c . } ' o i h / 1 t n h g r m g P m 9 ' t { P e s o ' ' a a 6 ) e a t t o ; ; r n . ) n r ( a t a i g t a ' r ' m f i { ' m t t ) s e t ) s ' C ) ( s h ; ( ) a ; w t u w ) n i s b i ; v n / . n a d $ i d s o { o o T w c w i . r . m l n a l e o f m o = c i p c { a g _ a s t . d t t i e a i a o n t o r n v a n t . } . C s d s a e l e e n a u m a v r n o r a c c / c s h h 3 h T ) r 5 ) i ; o 7 ; m o 1 e m 2 ( _ 8 ) m 0 } a / n m n a e n r i s f . e j s s t o . n j ` s ; o n " そして、app.jsに対して、startCanvasTimeプロパティを与えます。これにより、クエリパラメータから、メディアの再生開始時間を指定できます。 ...

2024年7月9日 · 4 分 · Nakamura

Rampをローカルで起動する

概要 Rampをローカルで起動してみましたので、備忘録です。 背景 Rampは以下のように説明されています。 Interactive, IIIF powered audio/video media player React components library. (日本語訳)インタラクティブな、IIIF対応のオーディオ/ビデオメディアプレイヤーReactコンポーネントライブラリ 以下のGitHubリポジトリでソースコードが公開されています。 https://github.com/samvera-labs/ramp 起動 以下で起動できました。 g p p i n n t p p m m c l i d o e n m e o h t t p s : / / g i t h u b . c o m / s a m v e r a - l a b s / r a m p 以下に記載があります。 ...

2024年7月8日 · 1 分 · Nakamura

URLの引数で指定したIIIFマニフェストに対して、Mirador 3のannotationsプラグインを試す

概要 URLの引数で指定したIIIFマニフェストに対して、Mirador 3のannotationsプラグインを試すことができるデモページを用意しました。 https://mirador-annotations.vercel.app/ iiif-contentまたはmanifest引数を使用することで、指定したIIIFマニフェストを対象にすることができます。 https://mirador-annotations.vercel.app/?iiif-content=https://dl.ndl.go.jp/api/iiif/1301543/manifest.json 本記事は、このデモページの作成に関する備忘録です。 背景 Mirador 3向けのアノテーション付与プラグインとして、mirador-annotationsがあります。 https://github.com/ProjectMirador/mirador-annotations 以下の記事で使い方の例を紹介しています。 そして、以下のデモページがすでに用意されていますが、URLの引数にIIIFマニフェストファイルを指定する機能は提供されていません。 https://mirador-annotations.netlify.app/ フォークと修正 URLの引数にIIIFマニフェストファイルを指定する機能の追加にあたり、上記のリポジトリをクローンしました。 https://github.com/nakamura196/mirador-annotations そして、以下の修正を加えました。 https://github.com/nakamura196/mirador-annotations/commit/18848ccb1fa51df821335ed76e7b9f4e974527d0 特に、以下の修正を加えています。 v v v i } a a a f r r r w ( i p m w m n a a i a d r n n n o a i d i w m f o f s s e w e . s s s p = t t u = ) s n = h e [ { ( w p ] { a ; U r m R a a L m n ( s i d . f o g e c e s u t t m ( I e ' d n i : t i . i m l f a o - n c c i a o f t n e i t s o e t n n ) t } . ' ) s ) ; e a r c h p P a a r r a a m m s s . ; g e t ( ' m a n i f e s t ' ) ' h t t p s : / / i i i f . h a r v a r d a r t m u s e u m s . o r g / m a n i f e s t s / o b j e c t / 2 9 9 8 4 3 ' これは、以下の実装を参考にしています。iiif-contentまたはmanifest引数でIIIFマニフェストファイルを参照するようでした。 ...

2024年7月7日 · 2 分 · Nakamura

mdx.jpのオブジェクトストレージとCantaloupe Image Serverを使ってIIIF画像を配信する

概要 mdx.jpのオブジェクトストレージとIIIFイメージサーバの一つであるCantaloupe Image Serverを使ってIIIF画像を配信する方法に関する備忘録です。 背景 以下の記事で、mdx.jpのオブジェクトストレージを使った画像の配信方法について紹介しました。 また以下の記事で、Cantaloupe Image Serverで、Amazon S3に格納した画像を配信する方法について紹介しました。 これらを組み合わせることにより、デジタルアーカイブにおけるIIIF画像配信コストの課題の解決を目指します。 方法 以下の記事で紹介したDocker版Cantaloupeを使用します。 以下のリポジトリから、ソースコードをダウンロードいただけます。 https://github.com/nakamura196/docker_cantaloupe_s3 同梱されている.env.sampleを.envファイルにリネームし、設定を変更します。 # C # # C C C C A A A A A a N m C N N N N w T d A T T T T s A x N A A A A L . T L L L L s O j A O O O O 3 U p L U U U U P O P P P P E U E E E E _ P _ _ _ _ S E S S S S 3 _ 3 3 3 3 S S S S S S O 3 O O O O U S U U U U R O R R R R C U C C C C E R E E E E _ C _ _ _ _ E E A S R B N _ C E E A D E C C G S P N E R I I O D S E O C I P S T N L N O _ _ = O T I K K O = N E E K T Y Y U = _ = P h I S t D T t = R p A s T : E / G / Y s _ 3 B d U s C . K m E d T x _ . N j A p M E = ポイントはCANTALOUPE_S3SOURCE_ENDPOINTです。ここに、https://s3ds.mdx.jpを与えて、取得したACCESS_KEY_IDやSECRET_KEY、作成したBUCKET_NAMEやREGIONを設定します。 ...

2024年7月7日 · 2 分 · Nakamura

Mirador 3でScroll Viewを使う

概要 Mirador 3でScroll Viewを使う方法についての備忘録です。 以下、「鹿児嶋征討記之内 高瀬口河通ノ戦争野津公聯隊旗を取返ス図(国立国会図書館所蔵)」を例としています。 このIIIFマニフェストは3つのキャンバス(画像)から構成されており、通常の表示方法(Single, 単一モード)では、画像ごとに表示されます。 これを3つ繋げて表示することを目指します。 デモ 以下からお試しいただけます。 https://nakamura196.github.io/mirador-multi-image/ IIIFマニフェストファイルについては、国立国会図書館で公開されているIIIFマニフェストファイルを一部変更しています。 変更前 https://dl.ndl.go.jp/api/iiif/1301543/manifest.json 変更後 https://nakamura196.github.io/mirador-multi-image/manifest.json 変更箇所として、今回の記事の目的であるScroll表示と直接関係がありませんが、画像が右から左に表示されるように、"viewingDirection": "right-to-left"を追加しています。 Miradorの設定 Mirador 2では事前設定なしにScroll Viewが使えましたが、Mirador 3のデフォルト設定では、Scroll Viewは無効化されているようでした。 https://projectmirador.org/embed/?iiif-content=https://nakamura196.github.io/mirador-multi-image/manifest.json そこで、Mirador 3の初期設定を以下のように修正します。 https://github.com/nakamura196/mirador-multi-image/blob/main/docs/index.html c } M o ; i n i w ] l w } r s d i , a i , a t : n { } n n s d d v d d , g d i e e i o c " o m u o d f f e r o m w a a w e a a w . n i s n g : B u u s v f r : i e a l l : i i a f : { r t t e g d [ e O S V [ w o s " p i i { e = r t j e d e r " I a n e w k ( { , d " B B : e c : , y a y o D r " : n " e P s f . f a c " i / a n r s g m u e o i ) a l l l n ; n t : l g i : " l f " , e e t i " s r n t u f } . e o , j , " s , { o n k " e , y : " g a l l e r y " } , { k e y : " s c r o l l " } ] , ポイントは、views: [{ key: "single" }, { key: "gallery" }, { key: "scroll" }]です。ここで、Scroll Viewを追加することで、以下のように選択肢として表示されるようになりました。 ...

2024年7月6日 · 5 分 · Nakamura

IIIF対応ビューアの一覧の調査例

概要 IIIF対応のビューアの一覧にあたり、調べてみた例を共有します。不足している点も多いかと思いますが、参考になりましたら幸いです。 Name URL Icon Mirador https://projectmirador.org/embed/?iiif-content= mirador3.svg Universal Viewer https://uv-v3.netlify.app/#?manifest= uv.jpg Annona https://ncsu-libraries.github.io/annona/tools/#/display?url= annoa.png Clover https://samvera-labs.github.io/clover-iiif/docs/viewer/demo?iiif-content= clover.png Glycerine Viewer https://demo.viewer.glycerine.io/viewer?iiif-content= glycerine.jpg IIIF Curation Viewer http://codh.rois.ac.jp/software/iiif-curation-viewer/demo/?manifest= icp-logo.svg Image Annotator https://www.kanzaki.com/works/2016/pub/image-annotator?u= ia-logo.png TIFY https://tify.rocks/?manifest= tify-logo.svg 参考 以下のIIIF 3.0 Viewer Matrix などが参考になりました。 https://iiif.io/api/cookbook/recipe/matrix/#basic-recipes

2024年7月4日 · 1 分 · Nakamura

Chromeでサイズが大きい動画が再生できない

概要 Chromeにおいて、サイズが大きい動画が再生できないことがありました。一方、Safariでは再生できました。 開発者ツールで確認すると、ダウンロードがキャンセルされていました。 ビューア部分は以下のようになっています。 < v s i v d u i e r d o c e e o c > o s n r t c r = o " l h s t = t " p c s o : n / t / r o o m l e s k " a . p a r w e s l . o l a d d a = s " . n j o p n / e f " i l s e t s y / l o e r = i " g w i i n d a t l h / : c 4 6 8 2 6 0 f p e x 4 ; a e h 8 e d i 9 g 2 h 6 t 0 : 3 4 4 6 6 7 5 8 p f x a ; 1 " 1 b w 0 i d d 6 t b h 2 = f " d 1 5 0 5 0 b % 0 " e 6 h 9 e 5 i . g m h p t 4 = " " 1 t 0 y 0 p % e " = > " v i d e o / q u i c k t i m e " t i t l e = " u n d e f i n e d " > このHTMLは、以下の記事で紹介した、Omeka S + IIIF Serverの組み合わせによって作成されたものです。 ...

2024年7月4日 · 2 分 · Nakamura

IIIFのCanvas URIなどを一括置換する際のコマンド

複数のIIIFマニフェストファイルに対して、Canvas URIを一括置換したい場合があります。 例えばカレントディレクトリ以下のJSONファイルに対して、www.dl.ndl.go.jpをdl.ndl.go.jpに置換したい場合のコマンドは以下です。-i ''オプションは macOS 特有の構文です。 f i n d . - t y p e f - n a m e " * . j s o n " - e x e c s e d - i ' s / w w w \ . d l \ . n d l \ . g o \ . j p / d l \ . n d l \ . g o \ . j p / g ' { } + 注意: このスクリプトはファイルを直接変更します。重要なデータに対して使用する前には、必ずバックアップを取るなどの対策をお勧めします。また、バイナリファイル(画像や実行ファイルなど)に対してテキスト置換を行うとファイルが壊れる可能性があるため、適用するファイルの種類には注意してください。 ...

2024年7月2日 · 1 分 · Nakamura

Omeka SのBulkImportを使用する際の設定例

概要 Omeka SのBulkImportを使ってデータの一括登録を行う際、登録方法の各種設定を行うことができます。 これはアップロードの都度、設定することもできますが、事前に登録しておいた設定を使用するようにすることで、作業者によるミスなどを軽減することができます。 ここでは、登録済みのアイテムに対して、IIIF画像を紐づける際の、一括登録用の設定例について紹介します。 アイテムの例 以下のように、dcterms:identifierにsampleを持つアイテムを作成しておきます。 設定 以下にアクセスします。 /admin/bulk/bulk-import 登録するフォーマットに合わせて、「CSV - Medias」または「OpenDocument spreadsheet (ods) - Medias」の編集アイコンをクリックします。 Importer タブにおいて、MapperをManualに設定します。これにより、登録時にマッピング結果を確認できるように、マッピングミスの有無などを確認できるようになります。 またProcessor タブにおいて、Identifier to use for linked resources or updateをdcterms:identifierに設定します。これにより、CSVやODSファイルにおいて、メディアを紐づけるアイテムをdcterms:identiferで指定できるようになります。 データ例 以下のようなデータを用意します。 iiif o:item dcterms:source https://dl.ndl.go.jp/api/iiif/3437686/R0000001/info.json sample https://dl.ndl.go.jp/api/iiif/3437686/R0000001/info.json CSVまたはODSファイルの項目の指定方法については、以下などを参考にしてください。 https://nakamura196.hatenablog.com/entry/2021/07/28/080952#アイテム マッピング表は以下にあります。 https://gitlab.com/Daniel-KM/Omeka-S-module-BulkImport/-/blob/master/data/mappings/fields_to_metadata.php 登録 Step 1/4: Reader において、ファイルを選択します。 (基本的には作業不要)Step 2/4: Mapper において、登録対象のリソースの数や、マッピング結果に問題がないかを確認します。 (基本的には作業不要)Step 3/4: Processor において、Identifier to use for linked resources or updateで先に設定した値が登録されているかを確認します。 (作業不要)Step 4/4: Confirmation において、画面右上の「Start import」ボタンを押します。 ...

2024年7月2日 · 1 分 · Nakamura

Omeka SのIIIF ServerモジュールでのCORSエラー

概要 Omeka SのIIIF Serverモジュールを使ってIIIFマニフェストを配信した際、外部のビューア等で以下のCORSエラーが発生しました。 A c c e s s t o f e t c h a t ' h t t p s : / / x x x / i i i f / 2 / 0 9 f d 2 9 d 5 - 8 4 9 7 - 4 d e f - a 6 4 d - c a 1 0 4 2 8 4 f 9 0 d / m a n i f e s t ' f r o m o r i g i n ' h t t p s : / / u n i v e r s a l v i e w e r . i o ' h a s b e e n b l o c k e d b y C O R S p o l i c y : N o ' A c c e s s - C o n t r o l - A l l o w - O r i g i n ' h e a d e r i s p r e s e n t o n t h e r e q u e s t e d r e s o u r c e . I f a n o p a q u e r e s p o n s e s e r v e s y o u r n e e d s , s e t t h e r e q u e s t ' s m o d e t o ' n o - c o r s ' t o f e t c h t h e r e s o u r c e w i t h C O R S d i s a b l e d . ...

2024年7月2日 · 3 分 · Nakamura

LEAF Writer: Image Viewerの使い方

概要 LEAF Writerでは、以下のように、テキストと画像を並列表示する機能を提供します。画像のページをおくると、テキストも連動して動作する機能も提供されています。 このImage Viewer部分に画像を表示するための、TEI/XMLの記述例を紹介します。 方法 以下のように、pbタグを指定します。 https://github.com/kouigenjimonogatari/kouigenjimonogatari.github.io/blob/master/xml/lw/01.xml 具体的には、以下です。 < p b c o r r e s p = " # z o n e _ 0 0 0 5 " f a c s = " h t t p s : / / d l . n d l . g o . j p / a p i / i i i f / 3 4 3 7 6 8 6 / R 0 0 0 0 0 2 2 / 0 , 0 , 3 4 4 5 , 4 7 0 6 / f u l l / 0 / d e f a u l t . j p g " n = " 5 " / > pb要素のfacs属性に指定された画像が、Image Viewer部分に表示されるようでした。 ...

2024年6月29日 · 1 分 · Nakamura

RDF、TurtleやJSON-LD、およびIIIFマニフェストファイルなどの関係を理解する

概要 IIIFマニフェストがJSON-LDで記述されていることを確認するため、他のフォーマットに変換してみましたので、備忘録です。 RDFと、JSON-LDやTurtleなどのファイルフォーマットの関係、およびJSON-LDによって記述されているIIIFマニフェストファイルとの関係など、参考になりましたら幸いです。 対象 今回は、NDLデジタルコレクションで公開されている以下のマニフェストファイルを対象にします。 https://dl.ndl.go.jp/api/iiif/3437686/manifest.json 変換 EASY RDF Converterを使用します。 https://www.easyrdf.org/converter 以下のように、IIIFマニフェストファイルのURLを指定して、Input FormatにJSON-LD、Output FormatにTurtleを指定します。 結果、以下のように変換されました。 @ @ @ @ @ @ @ @ @ @ @ < < < < < p p p p p p p p p p p h ) ) h h h h r r r r r r r r r r r t a n n n n d r r f t a n r t a n r e e t a n r t a n r e e e e e e e e e e e e e t s s < < < < < < < < < < < < < < < < ; s s _ _ _ _ _ _ _ _ _ _ _ ; c d d o t s d t s d x x t s d t s d x x f f f f f f f f f f f p < 0 0 h h h h h h h h h h h h h h h h 0 0 : : : : : : : : : : : : f f a p n 0 f p n 0 f i i p n 0 f p n 0 f i i i i i i i i i i i i i s h : : t t t t t t t t t t t t t t t t : : g g g g g g g g g g g r s s f s s : s s s : s f f s s : s s s : s f f x x x x x x x x x x x : t a h t t t t t t t t t t t t t t t t h m e e e e e e e e e e e i : : : : 0 h : : 0 h : : : : 0 h : : 0 h : : : / t t a p p p p p p p p p p p p p p p p a e n n n n n n n n n n n g l s l / : a l / : a l h w / : a l / : a l h w n x d r f e d n d o r / p t s s s s s s s s s s s s s s s s s s t i i i i i i i i i i i h a e o / R s a / C s a e i / R s a / C s a e i s s c d o x c s o a d d : r R : : : : : : : : : : : : : : : : S a d d d d d d d d d d d t b e g d a C b d a I b i d d a C b d a I b i d 0 d : f a i 1 1 a : f l i a / e d 2 2 2 2 2 3 3 3 3 3 4 s e A o l n a e l n m e g t l n a e l n m e g t : : s f f 1 : p : . / b n / q a 0 2 4 6 8 0 2 4 6 8 0 l l . g n l . v a l h h . g n l . v a l h h < : : : : : < n i u g d d d d d d d d d d d d d d d d u t < s < n e v n a g t n e v n a g t < < h < h < d i t e l l l l l l l l l l l l l l l l e a h " o h d a " d s e " 6 d a " d s e " 6 h h t < < < < h < t h l i i s . . . . . . . . . . . . . . . . n L t 校 t l ; s 校 l A 3 4 8 l ; s 目 l A 1 4 8 t t t h h h h t h t t . f o n n n n n n n n n n n n n n n n c a t 異 < t . e 異 . ; n " 7 9 . e 次 . ; n 9 7 9 t t p t t t t t t p t g . n ( d d d d d d d d d d d d d d d d e b p 源 h p g s 源 g n ^ 0 0 g s " g n " 0 0 p p : t t t t p t : p o i L l l l l l l l l l l l l l l l l s e s 氏 t s o 氏 o o ^ 6 o ^ o o ^ 6 : : p p p p : p / : . o a . . . . . . . . . . . . . . . . l : 物 t : . ( 物 . t x . . ( ^ . t ^ . / : : : : : / j / b g g g g g g g g g g g g g g g g ( s / 語 p / j 語 j a s ; j x j a x ; p / w / p a e o o o o o o o o o o o o o o o o / . s / p < p t d p < s p t s i w u r / w w / p l . . . . . . . . . . . . . . . . _ ( d : d / h 卷 / i : / h d / i d i w r w x w p d u w w a i j j j j j j j j j j j j j j j j : l 巻 / l a t 一 a o s a t : a o : i w l w m w u f s . w p / " p p p p p p p p p p p p p p p p g . 一 / . p t " p n t p t s p n s f . . w l w r s e w . i p 国 / / / / / / / / / / / / / / / / e n " d n i p ^ i s r i p t i s t . w o . n . l . f 3 w / r 立 a a a a a a a a a a a a a a a a n d ^ l d / s ^ / i / s r / r i 3 r w s w . o u . 3 i e 国 p p p p p p p p p p p p p p p p i l ^ . l i : x i ( n i : i i ( i o . g 3 . 3 o r l o . i s 会 i i i i i i i i i i i i i i i i d . x n . i / s i g i / n i n o / . c . r g i r o i e 図 / / / / / / / / / / / / / / / / 1 g s d g i / d i _ i / g i _ g a r d o o o g n g r f n 書 i i i i i i i i i i i i i i i i 8 o d l o f d : f : ; f d f : p g c r m r s c g / t 館 i i i i i i i i i i i i i i i i . : . . / l s / g / l . / g ; i / g g d i . n / 3 a i i i i i i i i i i i i i i i i ) j s g j 3 . t 3 e 3 . 3 e 2 t f c c s 1 4 t N f f f f f f f f f f f f f f f f p t o p 4 n r 4 n 4 n 4 n p 0 e 2 2 c / 9 3 i a / / / / / / / / / / / / / / / / ; / r . / 3 d i 3 i 3 d 3 i r 0 r 0 a 0 e m 9 7 o t 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 j i j i 7 l n 7 d 7 l 7 d e 1 m 0 f 0 l s a 9 6 n i 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 a n p m 6 . g 6 4 6 . 6 4 s / s 0 3 e e n # / 8 / o 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 / g / g 8 g 8 3 8 g 8 6 e X / 0 m r s > 0 6 2 n 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 i a / 6 o . 6 6 o 6 n M > 0 . 1 e v / 2 / # a 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 i ; p l / . / ) / . / ) t L 1 1 2 n i d / m M l 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 i i r j c r j c a S / / / t c o 2 a a 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 f g a p a ; a p a ; t c r > e s e a 2 n n D / / / / / / / / / / / / / / / / _ o o n / n n / n i h d x / s p - i i i r r r r r r r r r r r r r r r r l a / g a v g a v o e f i 1 # # r f f e a a a a a a a a a a a a a a a a i i n e p a e p a n m - f . > > d e e t n n n n n n n n n n n n n n n n c p d / i s / i s / a s 1 f s s g g g g g g g g g g g g g g g g e m l 1 / / 2 / / 2 # c n / - t t L e e e e e e e e e e e e e e e e n h d > i 3 > i 1 # > h s > s . > i / / / / / / / / / / / / / / / / s ? c i > i 9 > e # y j b 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 e v / i i > m > n s ; r > > > > > > > > > 0 1 2 3 4 5 6 . e i f f a t o a > > > > > > > h r i / / # a n r t b i 3 3 > x > y m = f 4 4 - , l G - 3 3 n > e l 7 7 s J t o 6 6 # A ; R g 8 8 > P e o 6 6 A c . / / N o p c c " r n a a ^ d g n n ^ & > v v x m a a s e s s d t / / : a 3 1 s d > 9 t a > r t ) i a ) n P ; g r ; e ; f i x = d c n d l _ p o r t a & i d e n t i f i e r = o a i : d l . n d l . g o . j p : i n f o : n d l j p / p i d / 3 4 3 7 6 8 6 > ; RDF/XMLにも変換してみます。 ...

2024年6月28日 · 21 分 · Nakamura

mirador-sync-windowsのMirador 4版のリポジトリを公開しました。

概要 以下の記事で、mirador-sync-windowsのMirador 4(3)版を作成したことを紹介しました。 今回は、本プラグインのリポジトリを公開したので、備忘録です。 リポジトリ 以下で公開しています。 https://github.com/nakamura196/mirador-sync-windows デモページ 以下からお試しいただけます。 https://nakamura196.github.io/mirador-sync-windows/ GitHub Pagesでの公開に向けて、設定した内容は以下です。 webpack 以下のファイルを一部変更しました。 https://github.com/nakamura196/mirador-sync-windows/blob/main/webpack.config.js 具体的には、以下です。publicPathについて、developmentの場合は、相対パスにしました。これにより、basePathによる問題に対処しました。 r e t } u ; r o } d } d m e p ] n u , e , e o n l , . t f p p v h p s ] v d t u n n { c p i a u S o o t , t e r g e e o u l t b e t r a o : y i w w n t e h p l r : t t o : n ( f : n : u i v : i / l ' s c H R i a b c e t c d : d [ : o t e g { m p l P r r 4 : e e ' n m a , e a i a : u 4 m ' v . [ f l c : t c t e 4 [ o e e / i W t h P h { , 4 / v l d g e R ' . a : , d a o e . b e d j t i l p m p p f e o h o s - m o l a r m i : p t s e / u c e o n t / o n s g k s . ( i ' u t r i P h j _ o , r ' c n l W s _ n c , / s u e ' d s e i g b , i . - n i p r m m d n a n o a e ( c a d p x [ { k m e ' . ] P e , j ) t l , = s , e u = ' m g ' = ] p i d , l n e " a ( m d t ) o e e , / v : d e i l p s o a t p t ' m h ) e . , n j t o " i n ? ( _ _ d i r n : a m e , ' , ' d e m o / s r c / i n d e x . h t m l ' ) } ) , GitHub Actions GitHub Actionsを使ったGitHub Pagesの利用にあたり、以下のようなymlファイルを用意しました。 ...

2024年6月27日 · 3 分 · Nakamura

Mirador 4プラグイン開発:任意の角度で画像を回転する

概要 Mirador 4において、任意の角度で画像を回転するプラグインを作成しました。 https://github.com/nakamura196/mirador-rotation-plugin 以下で挙動をご確認いただけます。 https://nakamura196.github.io/mirador-rotation-plugin/ 背景 Mirador 3向けに本プラグインを開発していましたが、2024/3/15にMirador 4がプレリリースされました。 https://github.com/ProjectMirador/mirador/releases/tag/v4.0.0.alpha-1 Mirador 3の最新版であるv3.3.0は2021年のリリースだったため、使用されているライブラリ等も古くなっていましたが、今回の更新で、開発がしやすくなりました。 工夫 任意の角度で画像を回転するにあたり、Mirador 4をそのまま使うと、以下のように、角度の変更に対して、画像の回転が追いつかないケースがありました。 https://www.youtube.com/watch?v=zJKWCTA9rjw そこで以下の記事で述べたように、画像の回転や拡大・縮小を遅延なく行うための機能を追加したMiradorを使用しています。 具体的には、openseadragonのsetRotationなどで用意されているimmediatelyパラメータをMiradorから設定できるようにしました。 https://openseadragon.github.io/docs/OpenSeadragon.Viewport.html#setRotation ! 今回はMirador本体にも手を加えましたが、プラグイン側でこのような設定がすでにできるかもしれません。引き続き調査したいと思います。 参考 90度単位で画像を回転させるプラグインとしては、以下もあります。 https://github.com/ProjectMirador/mirador-image-tools こちらは回転だけでなく、さまざまな画像を操作を可能にします。 まとめ Miradorの利用にあたり、参考になりましたら幸いです。

2024年6月27日 · 1 分 · Nakamura

カスタマイズしたMirador 4をnpmパッケージとして公開する

概要 カスタマイズしたMirador 4をnpmパッケージとして公開する機会がありましたので、備忘録です。 Fork 以下の公式サイトからリポジトリをForkします。 https://github.com/projectmirador/mirador 以下のようになります。 ブランチを作成する クローンし、ブランチを作成します。 g c g i d i t t m c i c l r h o a e n d c e o k r o h u t t t p - s b : / f / e g a i t t u h r u e b - . a c d o d m - / i n m a m k e a d m i u a r t a e 1 l 9 y 6 - / p m r i o r p a e d r o t r y 以下のように出力されます。 ...

2024年6月27日 · 4 分 · Nakamura

Mirador 4の拡大・縮小・回転の挙動を確認する

概要 Mirador 4の拡大・縮小・回転の挙動を変更する必要があり、その変更方法に関する備忘録です。 セットアップ 以下により、ローカルでMirador 4を起動します。 g c p p i d n n t p p m m m c i l r i s o a t n d a e o r r t h t t p s : / / g i t h u b . c o m / p r o j e c t m i r a d o r / m i r a d o r ポート4444で起動します。 ...

2024年6月26日 · 10 分 · Nakamura

zenodoで資料を公開する

概要 zenodoの使い方を学ぶにあたり、資料を登録してみましたので、備忘録です。登録した資料に付与されたDOIは以下です。 https://zenodo.org/doi/10.5281/zenodo.12508032 DOI DOIについては、最新のバージョンにアクセスできるものと、各バージョンに付与されるものがあり、上記のDOIは前者の者です。バージョン1は以下です。 https://zenodo.org/doi/10.5281/zenodo.12508033 バージョンについては、以下の記事も参考にしてください。 バージョン ファイルの追加や更新を行わない限り、バージョンを変更する必要はなさそうでした。PDFをアップロードした際にDOIが付与され、その後にメタデータを編集しても、バージョンに変更はありませんでした。 このメタデータの更新については、画面右下の「Technical metadata」で確認できました。バージョン1が作成されたのは6/23ですが、6/24に更新されていることが確認できます。 エクスポート JSON-LD いくつかのフォーマットでエクスポートできますが、JSON-LDによる出力もサポートされていました。 { } " " " " " " ] " ] " } " " " ] " } " " " " @ @ @ i n c { } , a { } , p " " , d d t " , i " " " , c s l u c i t d a r " " " " ] " " u " " " " ] " " u @ n a a e 2 n a @ n o i i r o d y e m e n g f a { } , @ @ t n g f a { } , @ @ b t a t t m 0 L l t a n z c l n " p n e a a i a f " " i t h a i a f " " i t l y m e e p 2 a t y m t e e " t : e t " t m v m f @ n d y o m v m f @ n d y i p e P M o 4 n e p e e " n : e " i : o e e i i t a " p r e e i i t a " p s e " u o r - g r e " n : s x " : f r " n l l y m : e " " n l l y m : e h " : b d a 0 u n " : t e " t h i " " : N y i p e " : : N y i p e " e : l i l 6 a a : S " " h " t " e A : a N a e " " : a N a e " " : r " i f " - g t " i 2 : t : t h r I " m a t " : h [ " m a t " : h " " Z s i : 2 e e " J z . t p t " P [ N e m i : t " N e m i : t " : O e h e 1 " N L a e 4 " p " s t : を a " e o " t P a " e o " t P r n e d [ " : a a p " 7 h s h : p 作 k : " n " T p e k : " n " T p e { g o d " m n a : t : t / s " 成 a : " O h s r a : " O h s r a d " : { e g n M t / t / : h ・ m " : r e : s m " : r e : s n o : " u e " B p / p d t 利 u S " g / u S " g / i " " : a s 2 " s z : / t 用 r a N [ a U n r a N [ a U n z " 2 g e . , : e i s p す a t a n n o " a t a n n o " a 2 0 " e " 4 / n / . c s る , o k i i r , o k i i r t 0 2 j " 7 / o s o h : ツ r a z v c r a z v c i 2 4 p , c d c r e / ー S u m a e i S u m a e i o 4 - n M r o h g m / ル a " u t r d a " u t r d n - 0 " B e . e / a d 紹 t , r i s . t , r i s . " 0 6 , " a o m 1 . o 介 o a o i o o a o i o , 6 - , t r a 0 o i " r " n t r r " n t r - 2 i g . . r . , u , " y g u , " y g 2 4 v / o 5 g " , / " , / 3 T e r r 2 r , o 0 , o 0 " 0 c e g 8 P g f 0 f 0 , 1 o c " 1 r / 0 0 : m o , / e 1 T 0 T 0 0 m r z s 0 o - o - 0 o d e e . k 0 k 0 : n s n n 5 y 0 y 0 0 s o t 2 o 0 o 0 9 . 1 d a 8 " 1 " 1 . o 2 o t 1 - - 1 r 5 . i 8 8 7 g 0 1 z 2 2 7 / 8 2 n e 4 4 6 l 0 5 D n 5 5 5 i 3 0 i o - - 1 c 3 8 g d 7 7 + e " 0 i o 9 9 0 n 3 t . 2 2 0 s 3 a 1 5 5 : e " l 2 " " 0 s , D 5 , , 0 / o 0 " b c 8 , y u 0 / m 3 4 e 3 . n " 0 t , / " l , e g a l c o d e " , これをEASY RDF ConverterでRDF/XMLに変換した結果は以下です。schema.orgを中心に使用されていることがわかります。 ...

2024年6月25日 · 44 分 · Nakamura

Mirador 2のプラグインの挙動を確認する

概要 Mirador 2のプラグインの挙動を確認するリポジトリを作成しました。 https://github.com/nakamura196/mirador2-plugins-demo 以下のURLからお試しいただけます。 https://nakamura196.github.io/mirador2-plugins-demo/ サンプルデータを含む動作例は以下です。 https://nakamura196.github.io/mirador2-plugins-demo/?manifest=https://nakamura196.github.io/mirador2-sync-windows/data/examples/org.json;https://nakamura196.github.io/mirador2-sync-windows/data/examples/inf.json 本リポジトリを作成した目的は、Mirador 2向けに開発されたプラグインをMirador 3向けに改修するための挙動確認です。 プラグイン mirador-sync-windows 以下の記事で紹介したmirador-sync-windowsを有効にしています。 こちらについては、以下の記事でM3版を試作しています。 mirador-disable-plugin UCLA LibraryによってMirador 2向けに作成された以下のプラグインを有効にしています。 https://github.com/UCLALibrary/mirador-disable-zoom こちらについても、以下の記事でM3版を作成しています。 https://youtu.be/RN2V4b7IYoI まとめ Mirador 2のプラグインの挙動確認にあたり、参考になりましたら幸いです。引き続き、プラグインの追加などを行いたいと思います。

2024年6月25日 · 1 分 · Nakamura

ズーム操作を無効化するMirador 3(4)向けプラグインの開発

概要 Mirador 3(実際には、Mirador 4)向けに、ズーム操作を無効化するプラグインを作成しました。 https://github.com/nakamura196/mirador-disable-zoom/ 以下が動作デモです。 https://youtu.be/RN2V4b7IYoI 以下のURLからお試しいただけます。 https://nakamura196.github.io/mirador-disable-zoom/ 本プラグインは、UCLA LibraryによってMirador 2向けに作成された以下のプラグインを参考にしています。 https://github.com/UCLALibrary/mirador-disable-zoom 今回は、本プラグインの開発によって気がついた点をメモします。 targetの指定 targetによって、プラグインのボタンを設置する場所を指定することができました。今回は、WindowTopBarPluginAreaを指定することで、ウインドウ毎のバーに直接アイコンを表示することができました。 i i i i i e ] m m m m m x ; p p p p p p { } { } o o o o o o , , r r r r r r t m c m } t c m m } m } c } t t t t t t a o o a ) a o o a , a ) o , r d m p e r m d p u p e , n t { M M t c g e p S n g p e D p S n f r i i r o e : o t a e o : i d t a i a a g r r a n t n a b t n s a a b g n s e a a n s : ' e t l : e ' p t t l : s t d d s t a n e e n a a e e e l a W o o l ' d t T d ' t d t W T d { a c i r r a m O d : o : W : d c i o : t t n D D t i p ' P i ' h n P i i d i i i r e , M r g n M , T d r g o o o s s o a n i o e d i o o o e n n w a a n d S r p t o r P w p t s s C b b s o e a s W w a r : s W , o l l r a d : i T d o : i f n e e f D d o n o o p a n r f Z Z r i r r ( d p r s c ( d o i o o o s a D s o B D : t s o m g o o m a g i t w a i i t w m m b o s a C r s { o a C ' } M l n a t o P a n t o m f e e V b e n l b s e n i f r n / Z i l , f u l . , f r r o u t o e e i g e u i a o m I r o w Z { g i Z p { g d m t a m e o ( n o d ( o e n P r o w s A o a w s r ' m s l ' m i t r m t i t m / l u , , n a e M e n a d i p f a g d t a e W d t i r l r t i o e ' n i o e s a u o i n w , , u n w , t d g m o I I d I / o i n = d { t o d { e r n s e w s s ' [ } w m , } w d ; ) i , ) i s i M p n n r s i l = d = d c t r u > o > o / / a g w w s e d i ( I ( I t s n { d { d a r s t s D / } } e r i M ) ) / c s i . . a / a r d d c s b a i i t t l d s s i a e o a a o t Z r b b n e D l l s o i e e ' s m s Z Z ; e ' a o o l ; b o o e l m m c e E E t Z n n o o a a r o b b s m l l ' M e e ; e d d n u I t e f f m a a ' l l ; s s e e , , https://github.com/nakamura196/mirador-disable-zoom/blob/main/src/index.js ...

2024年6月23日 · 5 分 · Nakamura