投稿記事

いらにか 2023/03/20 23:20

【Mes】MS Wordアドイン奮闘記【絡まる技術】

どうも、いらにかです。



































ようやく、MesのWordアドインの技術的課題がひとつクリアできました。

Wordの縦書きでも動きます。








本当に色々あって半年近くも苦戦した課題でした。
紆余曲折をざっくり要約すると


  1. MesはMicrosoft Wordとの連携が目標のひとつだった
  2. 連携するためにはWordのアドイン開発が最適そうだった
  3. Mesのコアライブラリと標準的なアドイン開発テンプレがバーションのせいでうまく動かなかった
  4. 紆余曲折あってWordのアドインをBlazorWebAssemblyで実験開発
  5. 紆余曲折合ってゴニョゴニョした結果、MesのコアライブラリをそのままWordアドインで呼び出しつつ、MesToolsの一部コードを流用して、台本形式でシナリオを表示できるようになった

という感じです。
わかる人向けに言えば、WebアドインとしてBlazorWebAssembly(C#+JS)でSPAで構築して、既存のMesコアライブラリ(.NET7のクラスライブラリ)を直接引用することでライブラリの型情報がそのまま使えるいい感じになっています。




まだ、実験的な課題の大きな壁がひとつブレイクスルーしただけですが、
此処から先は「便利になるよう改良していく」作業がメインなので
作り直すことは(ほぼ)無いはずです。


この実験が失敗するとMesのコアライブラリをC#で書き直した意義が6割減るので、
本当に狙っていた姿で動かせて肩の荷がようやくひとつ降りました。




ここから余談

Mesでは、あえてテキストの解析・加工に機能を限定し、専用エディタを独自で実装することを極力避けています。
というのも、ユーザーは使い慣れたエディタ(メモ帳とかWord)以外を強○的に選択させられるとストレスが発生します。
どれだけ高機能でも、代替ソフトという位置づけにいると、この不快感が拭えないかぎりソフトウェアは普及しません。
というわけで、Mesは連携ソフトウェアとして「既存のエディタ+Mes」という付加的ポジションを意識しています。
しかし、ソフトウェアが分離していると連携にも限界があります。
ユーザによっては「エディタと一体化してほしい」という欲求も生まれてきます。


なので、Microsoft Word(またはGoogle Docs)との連携は実験的な目標の一つでした。
Wordなら文章の校正や色々と便利な機能が使えるので、実質的に高機能なエディタを手に入れたも同然になります。


WordアドインをWebAssemblyを使ったアドインにしたことで、OfficeOnlineでも簡単に導入して動かせるようです。

C#やPowerShellから利用できるコアライブラリ、
データの加工等に特化したMesTools(Windowsアプリ)、
エディタと台本表示が一体化したWordアドイン。

この3つを軸に「(音声作品に特化した)シナリオ記述の体験向上」のためにどういうワークフローモデルが作れるかがこれからの課題になってきます。


そのためにはクローズドβでユーザーを集めて、様々な意見や知見を蓄えなきゃなぁと思っています。

【 みちくさびゅあーを支える 】プラン以上限定 支援額:160円

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:160円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

いらにか 2023/03/16 19:30

【前祝】みちくさびゅあー感謝祭🎉【4周年】

どうも、いらにかです。


お陰様で2019年にリリースされたみちくさびゅあーは4月で4周年を迎えます。


過去の記事たち

1周年(を目前にしたポエム)
https://iranika.hatenablog.com/entry/2020/02/24/003944

2周年の記事
https://iranika.hatenablog.com/entry/2021/04/02/220140

3周年の記事
https://ci-en.net/creator/10765/article/612110


去年から4月1日〜4月9日までをʙɪʀᴛʜᴅᴀʏウィークとして、感謝祭を開くことにしました。
(某偉大なソフトウェアにあやかって)


特定の日ではなく、この期間に何かしらやればいいというのはやはり凄く都合が合わせやすいです。ほんと便利。


さて。
今年のみちくさびゅあー感謝祭に向けて去年から色々と計画をしていましたが、諸事情により一部は延期という決断になりました。
機会というのは時と運の重ね合わせなのかなと感じています。


というわけで、
今年は去年よりも規模を縮小しての開催になります。


道草恋歌の歌会開催のお知らせ

道草恋歌
https://michikusa-renka.glideapp.io/


お陰様で、道草恋歌も投稿数が300以上となり、そろそろ歌留多くらい作れそうな勢いです😊


さて。


みちくさびゅあー感謝祭では、ばっくやーど漫画を引用元とする歌会を開催します。


形式は短歌でも俳句でも何でもOKです。とにかく自由。
投稿は4/1~4/9の期間です。
注意点として、投稿部門は「ばっくやーど数コマ部門」に設定して、投稿してください。



また可能であれば、解説欄にその話数を記載するか、みちくさびゅあーのシェア用URLを貼り付けてもらえると助かります。
(必須ではありませんが解釈の一助になるのであると助かります)

※シェア用URLは各話の下の青いTwitterボタンから取得できます。
※以下は300話の場合のシェア用URL。このURLの末尾の数字を話数に書き直してもOKです。
https://movue.iranika.info/index.html#/?page=300



歌会に投稿された中から、いらにかの独断と偏見で選出した歌を4月末までに発表する予定です。



皆様のご参加をお待ちしております。


※あくまで参考までに過去のばっくやーど数コマ部門の作品をいくつか。

https://twitter.com/happy_packet/status/1636281632134168576?t=UQ8TJSGqqTIaMW8gJXxe8w&s=19

https://twitter.com/happy_packet/status/1636281999588732928?t=mi9j3jXd13U0WTZfcGojwg&s=19

https://twitter.com/happy_packet/status/1636282617850105856?t=e2-KnwJ3LQmA8Mix2ThPsw&s=19



末筆

感謝祭の期間中にも記事を投稿する予定です。

その他にもTwitterで#みちくさびゅあー感謝祭のタグを付けて情報発信する予定です。

感謝祭の期間中、みちくさびゅあーを使って好きな話数をTwitterでシェアしたりと盛り上げていただけると助かります。

では、また。

( ᐛ )و🎉

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

いらにか 2023/03/12 03:57

【Mes】進捗とか【久しぶり】

いらにかです。

Mesの進捗について、前回の記事からだいぶ経ってしまいました。

【近況報告】MeSの進捗【Ver0.3開発中】

Twitterでは進捗をちょこちょこと小出しにツイートしたりしてましたが、振り返りも兼ねてVer0.3の頃からどうなったのかまとめます。


まず、C#でコアライブラリを書き直した

Ver0.3の頃はコアライブラリはRustで実装されていました。
実験的要素を含めて色々な理由で初期はRustを採用していましたが、Ver0.5を書いている途中でC#に書き直す方針転換しました。

理由はいくつかありますが、PowerShellで扱いやすいようにしたいという欲求が一番の理由でした。
C#ならクラスライブラリをdllとして吐き出すだけで、PowerShellからインポートして各種クラスを手軽に使える。
CLI(というかコマンドレット)を実装するときにC#なら簡単にできる。
WindowsアプリはMicrosoft Store経由で簡単にアップデート機構を組み込める。

とまぁ、色々な理由でC#で書き直すことにしました。
Ver0.5の移植はすぐ終わりましたが、その後にコアライブラリの大枠の設計変更は発生してそこに時間が少し取られました。

現在のコアライブラリはMesBuilderというビルダーを経由して、テキストを様々に加工できるようになっています。
このMesBuilderは基本的にフラットレイヤー(糖衣構文)→パースレイヤー(解析)という順序でMesのデータを生成するのですが、このレイヤーの分離が非常に重要な存在です。
フラットレイヤーはMesの表現力を高めるためのレイヤーで、例えば以下のような置換処理をやっていたりします。

太郎「これはサンプルのセリフだ」
↓(変換後)
@太郎
これはサンプルのセリフだ

要はパースレイヤーで解析可能な形に変換してくれます。
こうすることで、パースレイヤーはシンプルな文を処理することだけに専念できるためチューニングがしやすくなりました。

現在策定を勧めているMes言語のVer1.0仕様では、指定した範囲に特定のデコレータを一括付与する以下のような構文があります。

(@太郎){{
これはサンプルのセリフだ

こんなふうに囲った範囲のテキスト各行にデコレータを付与するぞ
}}
↓(変換後)
@太郎
これはサンプルのセリフだ

@太郎
こんなふうに囲った範囲のテキスト各行にデコレータを付与するぞ

言語の機能拡張はほぼフラットレイヤーで実装できるので、パースレイヤーに複雑性を持ち込ませない作りになり、機能拡張とメンテナンスがとてもしやすくなりました。
そして、パースレイヤーは拡張メソッドで追加記述できるので独自のオレオレ変換機能を作ったりしやすくなっています。
いずれ自分が欲しい機能をユーザが独自実装して、利便性が高いものならPull Request送ってもらってコアライブラリに組み込んだりしやすいようになっています。
(まだ最新のC#版コアライブラリは一般公開していないので、まだ先の話ですが)


MesToolsというWindowsアプリをストアで限定公開始めました

一部の関係者だけにMesToolsというWindowsアプリを試験提供し始めました。

まだまだ開発途中なので一般公開できるレベルではないですが、開発しながらMicrosoftストア経由でアップデート運用していく実験も兼ねて先行公開しています。

現状だと実験的なエディタとデータの変換処理(CSV等)のみですが、一応こんな感じのエクセルにデータを貼り付けて台本が生成できたりします。


ゆくゆくセリフのデータ等をクリップスタジオに簡単に流し込めるように整備したり、ボイスドラマや漫画向けの台本テンプレを用意したりする予定です。



Mesの言語仕様の整理とドキュメントのメンテナンス

実は実験的な機能実装などもあるので、ドキュメントよりもコアライブラリのほうが仕様を先行している現状があります。

https://docs.google.com/document/d/12EHzhasXu9RgVpwRYsbSNeKxrcPz_hFJHPN8WPXpfKo/edit?usp=sharing

ただ、ドキュメントは仕様を詳細に作っているので、Mesの記述をパッと覚えるのには不向きかなと思いました。
現在策定を進めているver1.2が終わったら、下記をブラッシュアップしたようなクイックスタートガイド例文を作ろうと考えています。


== 場面1     //==でシーンが区切られる


@ニカ		//@はキャラ名を指す
$駅前の音	//$は音響コメントを指す
!正面		//!はサウンドポジションを指す
#待たされた感じで言う	//#は汎用コメント(ト書き)
&00:00:05.000 --> 00:00:10.039	//&は字幕用のタイミング情報(WebVTT推奨)
あ、キタキタ。女の子二人を待たせるなんて、失礼だぞ。  //セリフ


@花子
!正面
そういうニカちゃんも、ついさっき来たばかりじゃないですか。


@ニカ
$少し離れてヒソヒソ声になる
こういう時は待たせた弱みに漬け込んで、ランチを奢らせるのがだな…


@花子
前回もそうやって奢らせてたじゃないですか。今日はだめです。
#ちょっと叱る感じで(デコレーターは後置もOK)


@花子
それにしても久しぶりですね。この三人で会うのは何年ぶりでしたっけ?


@ニカ
確か、最後に会ったのは富山に海鮮丼食べに行ったときだから、二年ぶりだね。

終わりに

MesToolsがもう少し機能豊富になって安定したら一般公開する予定です。
基本的には有償公開になると思いますが、MicrosoftStoreは無料トライアル期間みたいなものが設定できるので購入前にお試しできるようになるはずです。

もし要望とかなにかあればこの記事にコメントか、TwitterのDMで連絡ください。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

いらにか 2023/03/11 21:32

【学びの咀嚼】にかちゃんのAIイラストをTweetするBot 他

どうも、いらにかです。

前回に引き続き、今回も「学びの咀嚼」です。
道徳的な観点抜きで純粋に学びを咀嚼するので、非道徳な文章で執筆する可能性があります。
なので、記事の一部は有料公開になります。

フォロワー以上限定無料

無料プランに入るとモチベーションを支援できます

無料

【 みちくさびゅあーを支える 】プラン以上限定 支援額:160円

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:160円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

いらにか 2023/01/10 18:30

【学びの咀嚼】語順による意識のターゲットスコープ 他

どうも、いらにかです。
1月9日に誕生日を迎えて、おじいちゃんにまた一歩近づきました(遠いけど)

さて。
今回から始まる「学びの咀嚼」は、摂取した学びを自己解釈を含めて整理した雑記です。
たぶん月次でまとめます。

道徳的な観点抜きで純粋に学びを咀嚼するので、非道徳な文章で執筆する可能性があります。
なので、記事の一部は有料公開になります。

■もくじ
語順による意識のターゲットスコープ
AIイラストあれこれ

フォロワー以上限定無料

無料プランに入るとモチベーションを支援できます

無料

【 みちくさびゅあーを支える 】プラン以上限定 支援額:160円

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:160円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

3 4 5 6 7 8 9

月別アーカイブ

記事を検索