toriRでuploadする音源ファイルのタイムスタンプを一括して変更する方法

toriRでは音源のタイムスタンプを基準にしています。そのため、ファイルスタンプを一括して変更したくなります。その方法を書いてみました。コマンドラインを使います。

toriRでuploadする音源ファイルのタイムスタンプを一括して変更する方法

準備

MacOSXの場合

Macは基本がUNIXベースなので、デフォルトで使えます。アプリケーションのutilitiesに入っているterminalを開いてください。

Windowsの場合

WindowsでもLinuxが使えます。デフォルトでは入っていないので、google に聞いてインストールしてターミナルを開いてください。キーワードは”Windows Linuxインストール”などで出てくると思います。多分、ubuntuのインストールの記事が多いと思います。

以下はOSXでもWindows/ubuntuでも同じだと思います。ディレクトリは適宜読み替えてください。

原理

toriRで利用するファイルの時刻はLastModified(最終変更)のタイムスタンプです。これを指定時刻に変更するため、次のLinuxコマンドを使います。どちらの表記方法でもokです。


$ touch -t 201804011200.00   a.wav
$ touch -d "2016-9-20 20:30" b.wav
オプション説明
-t指定した時刻に、「アクセス時間」「終戦時間」を更新する。
時間は、「CCYYMMDDhhmm.SS」形式で指定。
「CC」は、西暦の最初2桁。
「YY」は西暦の最後2桁。
「SS」は秒を指定。(秒は省略可能)
-d日時を指定する。“2016-9-20 20:30”のような形式

コマンドの準備

次のスクリプトをテキストファイル(ファイル名:update-timestamp.sh)として準備してください。-dオプションを前提としています。

コマンドはgithubにあります。

コマンドの実行権の追加

terminalで実行権を付与してください。


$ chmod +x update-timestamp.sh
 使い方
$ ./update-timestamp.sh a.wav 230102 123456

音源ファイル(WAV)のファイル名を666形式に変更する。

音源ファイルのファイル名を666形式と呼ぶファイル名に変更すると便利です。今回はこのファイル名に記された時刻情報を一括変換で使うことにします。

666形式とは、録音年月日と録音開始時刻、録音終了時刻をそれぞれ6桁の数字で表してものです。年は2桁で表しています。例として、2023年1月2日の01:23:45から、12:34:56まで録音したファイルがあれば、次のようなファイル名です。


230102_012345-123456_XXX.wav

ICレコーダのファイ名とフォルダ構造を分析して自動でこの666形式に変更するスクリプトもありますが別の記事に書くつもりです。

タイムスタンプの変更(録音終了時間の場合)

terminalでタイムスタンプ変更コマンドを生成します。update-timestamp.shutil666ディレクトリに入っているとします。やっているのは666形式のファイル名の年月日と録音終了時刻をawkで得ています。


$ cd (WAVデータの入っているディレクトリ)
 実行コマンドリストを生成します。充分にチェックしてください。
$ ls *wav |  awk -F[_-] '{ printf "~/util666/update-timestamp.sh %s %s %s\n",$0, $1,$3}'

  次のsh -Cにパイプで渡して文字列をコマンドとして実行します。
$ ls *wav |  awk -F[_-] '{ printf "~/util666/update-timestamp.sh %s %s %s\n",$0, $1,$3}'| sh -C

  変更できたか確認します。
$ stat 230512_061734_062610_H6_ノジコ_2_αX24.wav 
  File: 230512_061734_062610_H6_ノジコ_2_αX24.wav
  Size: 148574672 	Blocks: 290192     IO Block: 4096   regular file
Device: 1,17	Inode: 83847444    Links: 1
Access: (0644/-rw-r--r--)  Uid: (  501/   osaka)   Gid: (   20/   staff)
Access: 2023-05-12 06:26:10.000000000 +0900
Modify: 2023-05-12 06:26:10.000000000 +0900
Change: 2023-11-20 17:45:50.252420878 +0900
 Birth: 2023-05-12 06:26:10.000000000 +0900

  成功、Modifyが変更されているのがわかります。

これをtoriRのuploadでドラッグアンドドロップすることで自動的にタイムスタンプが取り込まれます。この時に、ICレコード選択でTimeStamp=STOPを選んでください。

タイムスタンプの変更(録音開始時間の場合)

666形式のファイル名なら

$ ls *wav | awk -F[_-] '{ printf "~/util666/update-timestamp.sh %s %s %s\n",$0, $1,$2}'

にしてください。これをtoriRのuploadでドラッグアンドドロップすることで自動的にタイムスタンプが取り込まれます。この時に、ICレコード選択でTimeStamp=STARTを選んでください。

以上です。

Article Info

Articles