「Repete Plus」をアップデートしました。(version 5.8)

「Repete Plus」をアップデートしました。(version 5.8)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
語学教材のフレーズごとに自動的に間隔をあけて再生できます。

App Storeはこちら

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog

変更点

待ち時間を秒数指定で再生している場合は、区切りに到達すると指定した秒数を待って再生を続けます。再生速度を変更しても、指定秒数だけ待つ仕様です。待ち時間3秒ならば、再生速度が0.5でも3秒待ちます。しかし、従来のバージョンでは、バックグラウンド再生の際に秒数指定での待ち時間が適切なものになっていませんでした。待ち時間3秒指定で再生速度が0.5のとき、6秒待つことになっていました。
今回のアップデートで、その点を修正しました。


今回のアップデートでは、審査にずいぶん時間がかかりました。ここ最近は、あっさりと審査が終わっていたのでまいりました。

最初の審査

どうやったらいいかわからない。ボタン押しても何も起こらない。というコメントおよび再生関連ボタンを赤く囲ったスクリーンショットとともにメタデータリジェクト。
メタデータリジェクトとは、アプリの修正を行って再提出する必要はないが、アプリの情報・説明が足りないので、補足説明を提出する必要があるというものです。
RepeteおよびRepete Plusでは、Apple Musicが始まるずっと前のiOS 6時代のミュージックアプリと同じ要領で操作できるようにしようと考えて設計しました。その頃は、開始時点ではなにもない再生画面があり、選曲ボタンを押して選曲画面を開いて内蔵ライブラリから曲を選ぶというかたちは一般的なものでした。
音楽や映像のストリーミングが一般的になった現在、再生アプリの最初の画面では、楽曲あるいは映像のサムネイルが並び、そこから選んで再生するのが一般的です。
Repete Plusでは、初回は再生ボタンを押してもなにも起こりません。昔なら、そこから選曲ボタンを探して押してくれたかもしれません。しかし、いまとなってはそっけなさすぎです。
そこで、選曲せずに再生ボタンを押した場合は、「選曲ボタンを押して、オーディオファイルを選んでください」とメッセージを追加しました。
修正を行ったので再提出。

二度目の審査

しばらく間があって、再び審査が行われました。
どうやったらいいかわからない、そして、動画デモをつけてくださいというコメント。
はい。わかりました。
操作方法を示す動画デモを作成開始しました。
Premiere Elementsを急遽購入して作成。
テロップ作成・位置調整がやりやすそうと考え、奮発しました。
動画作成完了。
しかし、取り込んだiPhone動画部分の前後に乱れが生じました。選曲画面を開いている場面のはずが一瞬閉じていたり、プログレスバーが痙攣していたり。
原因究明は時間がかかりそうなので、iMovieで作成し直し、送信しました。
今回の用途ではiMovieで十二分に間に合いました。

審査のコメントで、他にSiriショートカットについて記述がありました。
Siriショートカットを使用しているようだけども、アプリ内に「Siriに追加」ボタンはないの?とのこと。
以下の回答を送りました。
Siriショートカットは、iPhoneの設定 > Siriと検索 > Repete Plus > ショートカットから登録してもらっています。アプリ内に「Siriに追加」ボタンはありません。
これで通るのか、それともアプリ内に「Siriに追加」ボタンが必須なのかはわからないのですが、ひとまず現状を報告しました。

三度目の審査

あっさりと審査通過しました。
「Repeteと統合しなさい」とか「Siriに追加」ボタン追加しなきゃダメといわれるかとおそれていたので、すっと通ってほっとしました。


語学学習を助ける「Repete Plus」をよろしくおねがいします。

「Repete」をアップデートしました(version 4.0)

iPhone/iPadアプリ「Repete」(レペテ)(旧「語学学習支援プレイヤー」)をアップデートしました。(version 4.0)

「Repete」(「語学学習支援プレイヤー」)は、語学学習の手助けをするオーディオプレイヤーです。ファイルの無音部分を分析し、流れる言葉が一区切りしたところで、あいだをおいて再生します
リピーティングに便利なオーディオプレイヤーです。

変更点

待ち時間を秒数指定で再生している場合は、区切りで指定した秒数を待って再生を続ける仕様になっています。再生速度を変更しても、指定秒数だけ待つこととなっています。待ち時間3秒ならば、再生速度が0.5でも3秒待ちます。しかし、バックグラウンド再生の際に、秒数指定での待ち時間が適切なものになっていませんでした。(待ち時間3秒指定で再生速度が0.5のとき、6秒待つことになっていました)
今回のアップデートで、その点を修正しました。


Repeteでは、仮想的にオーディオファイルを分割してそれぞれの区間を無音部分を付加したAVPlayerItemにしています。バックグラウンド再生時には、itemの終端に到達すると次のitemの再生が行われるようになっています。
再生速度変更機能を追加した際に、待ち時間秒数指定のときは付加無音時間の変更が必要であると認識し、実装したつもりでしたが実装できてませんでした。 
今回、再生速度変更まわりを見直していて、実装忘れに気づいて修正した次第です。

「Repete Plus」をアップデートしました。(version 5.7)

「Repete Plus」をアップデートしました。(version 5.7)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
語学教材のフレーズごとに自動的に間隔をあけて再生できます。

App Storeはこちら

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog

変更点

バージョン5.6で、オーディオエディター(波形図画面)の≡マークボタン、?マークボタンを押すと強制終了する不具合が生じていました。
今回のアップデート(バージョン5.7)で修正しました。

バージョン5.6から開発環境がアップデートされて、言語もSwift 4.2からSwift 5.0に変更になりました。

文字と画像(💧マーク)混在テキスト


文字と画像を混ぜて説明文を表示する際の処理で、従来は問題がなかった箇所でエラーが発生していたので、修正しました。
エラー発生箇所

let distance = message.distance(from: message.startIndex, to: range.lowerBound)

ここはSwiftの初期に文字数カウントがややこしかったさいの名残なのか、Swiftの理解が足りなかったのか、わざわざややこしい書き方をしていたので、単純な書き方に変更することで、エラーは消失しました。

よろしくおねがいします。

「Repete Plus」をアップデートしました。(version 5.6)

「Repete Plus」をアップデートしました。(version 5.6)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
語学教材のフレーズごとに自動的に間隔をあけて再生できます。

App Storeはこちら

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog

変更点

iOS 12.3にアップデートすると、選曲ボタンを押したときに2回め以降、選曲画面が開かなくなる不具合が発生していました。
今回のアップデートで、その不具合を修正しました。

よろしくおねがいします

「Repete」をアップデートしました(version 3.9)

iPhone/iPadアプリ「Repete」(レペテ)(旧「語学学習支援プレイヤー」)をアップデートしました。(version 3.9)

「Repete」(「語学学習支援プレイヤー」)は、語学学習の手助けをするオーディオプレイヤーです。ファイルの無音部分を分析し、流れる言葉が一区切りしたところで、あいだをおいて再生します
リピーティングに便利なオーディオプレイヤーです。

変更点

iOS 12.3にアップデートすると、選曲ボタンを押したときに2回め以降、選曲画面が開かなくなる不具合が発生していました。
今回のアップデートで、その不具合を修正しました。

よろしくおねがいします

林鵞峰『改元物語』について

江戸時代初期の改元事情について記した『改元物語(改元格)』という記録があります。
林鵞峰が記したものです。林鵞峰は、林羅山の息子で『本朝通鑑』などの歴史書の編纂を父とともに行いました。
『改元物語(改元格)』には元和から延宝までの改元について記されています。
幕府側から見た改元事情がわかります。

たとえば、正保改元について、改元物語に以下のような記述があります。

寛永二十年ノ冬、後光明天皇即位アリ、一年號三帝ニ渉ル例ナシトテ、明年十二月改元アリテ正保ト號ス、此時諸家ノ勘進スル所數多アリトイヘドモ、大猷公御前ニテ御裁斷アツテ、
仰ニ曰、年號ハ天下共ニ用フルコトナレバ、武家ヨリ定ムベキコト勿論也、公家武家ノ政ハ正シキニ若ハナシ、正シクシテ保タバ大吉也ト議定シタマフ…

改元物語より

一年号三帝にわたる例がないとして、正保への改元が行われました。
徳川家光が「年号は天下で用いるものだから武家が定めるのは当然である。公家・武家の政治は正しいことにまさるものはない。正しくて保てば大吉である」と述べています。
このように、江戸時代初期の改元についての事情が記されています。

『改元物語(改元格)』は、所功 著『年号の歴史』で翻刻されており、読むことができます。
ネット上にないのか調べたところ、国文学研究資料館の電子資料館にある古事類苑の歳時部に引用されていました。

古事類苑データベース

本文1,000巻、洋装本で51冊(60冊版もあり)、和装本で350冊にのぼる『古事類苑』は、その完成から約1世紀が経とうとしている今なお、日本最大規模の地位を保ち続けている百科事典です。

国文学研究資料館 古事類苑データベースより

歳時部 > 年號 > 年號通載
に大化から始まる各年号が表示され、元和から延宝にかけて関係する史料として『改元物語』が引用されています。
他の史料として『續史愚抄』『元秘別録』などがひかれています。

関連

戦国・江戸元号並べ – nackpan Blog
「戦国・江戸元号並べ」攻略のヒント – nackpan Blog
町田明広『島津久光=幕末政治の焦点』を読みました – nackpan Blog

2019年3月開発状況

2019年3月。

RepeteおよびRepete Plusのアップデートを行いました。
Siriから起動して再生できるようになりました

アップデート以前から、Siriに「Repete(レペテ)」もしくは「Repete Plus(レペテプラス)」と呼びかけると、アプリが起動することはできました。これは、特に何も実装せずともiOS側で処理してくれていました。
起動するだけでなく、再生開始するとなると、手を入れる必要があります。

Apple Documentation

SiriKit – Apple Developer
Siriの紹介。
4つの大項目。Siri Kit、Siriショートカット、ショートカットApp、SiriKitのドメインとインテン。
documentationへのリンクなど。

Domains and Intents – SiriKit – Human Interface Guidelines – Apple Developer
Siriのヒューマンインターフェイスガイドライン

Sire ShortcutsはiOS 12から登場。

Siriは、ユーザーの日課とAppを賢く組み合わせて、必要な時に便利なショートカットを提案できるようになりました。Shortcuts APIを使用すると、ロック画面、検索、Siriの文字盤から直接、Appに関連したタスクをすばやく実行することができます。ユーザーは、自分の声でショートカットを実行したり、新しいショートカットAppを使って自分だけのショートカットを作成することができます。

SiriKit – Apple Developer より

ショートカットApp。WorkflowというアプリがAppleに買収されて、ショートカットAppとなっています。

ユーザーは、複数の手順を組み合わせたカスタムのショートカットを作成することができ、そこにAppに組み込まれているショートカットを組み合わせることもできます。1回タップしたりSiriに話しかけたりするだけでそのショートカットを実行することができます。

SiriKit – Apple Developer より

Siriショートカットの実装には、NSUserActivityを用いる方法とIntentを用いる方法があります。

SoupChefというAppleのサンプルで、実装の様子がわかります。
SoupChefでは
「チーズ入りのクラムチャウダーふたつ」
「レッドペッパーのトマトスープひとつ」
といった注文をSiriにアプリ内で登録します。

登録の際には、覚えやすい単純な言い回しを録音します。
そのあと、Siriに登録した言い回しで呼びかけることで、処理を実行できます。

登録の際に、「チーズ入りのクラムチャウダーひとつ」と「チーズ入りのクラムチャウダーふたつ」は別個のショートカットとして登録する必要がありました。  
「二杯のクラムチャウダー」としてみたときに「ニーハイクラムチャウダー」と認識され、Siriショートカットの開発前に期待してたほど聞き取ってくれるわけではないのだとわかりました。数量を聞き取ってくれるものかと思っていたので残念でした。

今回は、NSUserActivityを用いて実装しました。

Siriにフレーズを登録し、そのフレーズで呼びかけることで、アプリが起動し再生が開始できるようになりました。

Siriによるオーディオの再生について

2019年3月。RepeteおよびRepete Plusに、Siriから起動して再生する機能を加えるアップデートを行いました。

そのさいに、Siriによるオーディオの再生について現状できることを調べました。
Siri を使って音楽や Podcast を再生する – Apple サポート

Siri を使って音楽や Podcast を再生する。
Appleのサポートページ。
「音楽を聴く」の項目の説明。

Apple Music に登録していれば、Apple Music を丸ごと全部楽しめます。カタログ全体にアクセスして、Apple Music プレイリストもすべて (自分で作ったものも) 聴くことができ、ラジオステーション、Beats 1 のエピソード、あなたのためだけの「パーソナルミックス」も全部楽しめます。
そして Siri に頼んで、アーティスト名やアルバム名で検索し、再生中の曲を操作できます。流れている曲の情報も教えてもらえます。 
Apple Music に登録していなくても、Siri でミュージックライブラリの曲 (iTunes 購入した曲や iTunes Match の曲) を再生できます。

「音楽を聴く」の大項目には6つの項目があります。

 * 曲やアルバムを探して再生する
 * 曲をチャート別に探して再生する
* 音楽をライブラリやプレイリストに追加する
* ラジオやステーションを再生する
* 再生中の曲をコントロールする
* 再生中の曲について調べる

iPhone XR Max +  iOS 12で実際やってみたところ、

「〈アーティスト名〉をかけて」
「〈アーティスト名〉の〈アルバム名〉をかけて」
「〈アーティスト名〉の〈曲名〉をかけて」
などで再生できました。
「クラシックをかけて」
手持ちのクラシックがかかりました。
「楽しい曲をかけて」
だと、「そのためには、Apple Musicに登録する必要があります。」
となりました。(自分は現在Apple Musicに登録してないです。かつては登録していましたが、Amazon Prime登録時に退会してしまいました。)

 * 再生中の曲をコントロールする
 * 再生中の曲について調べる

の項目がありますが、再生中だと、「Hey Siri」と呼びかけてもなかなか反応してくれません。器楽曲だと反応してくれることありました。歌ものだと全然反応してくれません。ボリュームを絞ると、反応してくれました。
なかなか反応してくれない間、脇の棚にあるiPad Proの方が頻繁に反応。
iPhoneのAmazon Musicを開き再生中に、Alexaで試してみました。こちらだと再生中でも結構呼びかけに応えてくれました。