※ m4a 形式のボイスメモの修復方法は、以下の記事をご覧ください。
再生できないiPhoneのボイスメモの修復方法

※当方で修復作業を引き受けることも可能です。
こちらのフォームからご連絡をお願いいたします。

--------

PCM録音」もしくは「PCM録音Lite」という iPhone および Android 用のアプリで録音している人は多いと思います。
このアプリは、録音形式を wav もしくは m4a (AAC) から選ぶことができます。

最近、この wav 形式で録音したファイルが壊れて再生ができなくなってしまい、修復して欲しいという依頼が時々入るようになりました。
このようなファイルを自分で直したいと思っている方は多いと思うので、本記事では、その修復方法を公開したいと思います。

多くの破損ファイルは、「data」というチャンクのデータ長がゼロクリアーされているなどして、不正な値になっているのが原因です。
ここに正しい値を入れてあげることで、再生可能となるケースが大半です。

Windows PC を使って、以下の手順を試してみてください。
Mac でも、0xED 等のバイナリエディタを使えば修復可能です。)


1. バイナリエディタのダウンロード

・多くのバイナリエディタが出ているので、好きなものを選んでダウンロードしてください。ここでは、世界的に人気のある HxD というエディタを使うことにします。

http://mh-nexus.de/en/downloads.php?product=HxD の Japanese と書かれたリンクをクリックします。

・zip から setup.exe を取り出し、クリックしてインストールします。


2. 修復したいファイルを取り出す

・iTunes などでファイルを取り出し、「ダウンロード」フォルダ(例)に置いてください。

http://ko-yasui.com/home/pcmrecorder/ に取り出し方の詳細があります。

・ここでは取り出したファイルが 20150114_201458.wav という名前だとします。
(念のため、別の場所にコピーしてバックアップを取っておくことをお勧めします。)


3. ファイルをバイナリエディタで開く

Ctrl + F (コントロールキーを押しながらFキーを押す) を押すと検索ダイアログボックスが現れるので、data と入れて検索ボタンを押します(下記図を参照)。



・見つかった「data」の次の4つの数字の部分が「00 00 00 00」となっていることを確認します(下記図の赤丸部分)。



※(PC に詳しい方向け)
この「00 00 00 00」の次の値「F3」が「0x00001000」というアドレスから始まっていることを確認してください。


4. ファイルのサイズ(バイト)を取得

・エクスプローラーで「ダウンロード」フォルダを開き、ファイルの上で右クリックしてプロパティを表示します。

・ファイルのサイズ(下記図の赤丸部分、ディスク上のサイズではない方)をメモ用紙などに記録します。ここではその値を「426,618,112」(例)とします。




5. ファイルのサイズを16進数に変換

電卓を開き、「表示」メニューから「プログラマ」を選びます。

・前項で取得した値(例: 426,618,112)をキーボードで入力します(下記図参照)。



・左側の「16進数」と書かれた部分をクリックします。表示が変わったことを確認します(下記図参照、例: 196DAD00)。



・「-」(マイナス)を押し、「1000」と入力し、「=」(イコール)を押します。

※(PC に詳しい方向け)
この「1000」という値は、第3項で取得した値です。

・表示された値をメモします(下記図参照、例: 196D9D00)。



※(PC に詳しい方向け)
この値が、「data」というチャンクの正しいデータ長(16進数)になります。
ファイルには、RIFF や FLLR といったチャンクもありますが、こちらが壊れるケースは少ないようです。


6. 16進数を並び替える(リトルエンディアンに変換)

・前項で取得した値を、2桁ずつ区切って4つに分けます。この際、不足している部分は 0 もしくは 00 で補います

例1: 196D9D00 ならば 19 6D 9D 00 (そのまま4つに分けた)
例2: 96D9D00 ならば 09 6D 9D 00 (最初の 9 に 0 を補って 09 にした)
例3: 6D9D00 ならば 00 6D 9D 00 (1つ目に 00 を補った)
例4: D9D00 ならば 00 0D 9D 00 (1つ目に 00 を、2つ目の 9 に 0 を補った)
例5: 9D00 ならば 00 00 9D 00 (1つ目と2つ目に 00 を補った)

・上記の4つの値の順番を入れ替えます

例1: 19 6D 9D 0000 9D 6D 19
例2: 09 6D 9D 00 は 00 9D 6D 09 に
例3: 00 6D 9D 00 は 00 9D 6D 00 に
例4: 00 0D 9D 00 は 00 9D 0D 00 に
例5: 00 00 9D 00 は 00 9D 00 00 に


7. 値をバイナリエディタで入力して保存

・前項で得た値(例: 00 9D 6D 19)をバイナリエディタで「00 00 00 00」という部分に入力(上書き)します(下記図の赤丸部分)。



Ctrl + S (コントロールキーを押しながらSキーを押す) を押して、上書き保存します。

・ファイルを再生して、無事に復旧できたことを確認してください。

※参考文献
WAV ファイルフォーマット
http://www.kk.iij4u.or.jp/~kondo/wave/

-----------------

いかがでしょうか。
うまく復旧できましたでしょうか?

もし、不明な点があれば、気軽にコメントやメッセージをどうぞ。

大事なファイルを確実に修復したいなどのご要望があれば、当方で修復を行うことも可能です。
機密の保持には万全を尽くします。

下記から、気軽にご連絡ください。
https://docs.google.com/forms/d/1Zhe29WmqtjUhrqsZn-TnvXOqWtuZjFokXchUPr9c59w/viewform?usp=send_form
AD

再生できないiPhoneのボイスメモの修復方法

テーマ:
この記事は「破損した m4a 音声ファイル(再生できないボイスメモ)の修復記録」の続きです。

------------

※ wav 形式のファイルの修復方法は、以下の記事をご参照ください。
壊れて再生できない「PCM録音」(ボイスメモ)ファイル (wav 形式) の修復方法

※当方で修復作業を引き受けさせて頂くことも可能です。
こちらのフォームからご連絡をお願いいたします。

------------

iPhone / iPod で録音した大切なボイスメモ。
ファイルサイズは何MBとそれなりにあるのに、再生ができない状態になってしまうことがあります。

Apple 純正のボイスレコーダーの他、App Store から入れた録音アプリでも、生成されたファイルが再生できなくなることがあります。

これは、m4a (mpeg ファイルの音声専用フォーマット) ファイルのヘッダーが壊れてしまっていることが原因です。
修復方法としては、音声データ部分 (AAC 形式) を抜き出して、それをデコードし、再エンコードしてやります。

Windows PC を使って、以下の手順で修復を行ってみてください。


1. faad.exe のダウンロード
http://rarewares.org/aac-decoders.php を開き、FAAD2v20100614 CVS snapshot for Win32 の Download (225kB) をクリックします。
・zip から faad.exe を解凍して取り出します。ここでは、ダウンロード フォルダに置くものとします。

2. faac.exe のダウンロード
http://rarewares.org/aac-encoders.php を開き、FAACv1.28 Binary for Win32 の Download (191kB) をクリックします。
・zip から faac.exe を解凍して取り出し、上記1と同じフォルダに置きます。

3. バイナリエディタのダウンロード
・多くのバイナリエディタが出ているので、好きなものを選んでダウンロードしてください。ここでは、世界的に人気のある HxD というエディタを使うことにします。
http://mh-nexus.de/en/downloads.php?product=HxD の Japanese と書かれたリンクをクリックします。
・zip から setup.exe を取り出し、クリックしてインストールします。

4. 修復したいファイルを同じディレクトリに置く
・iTunes などで取り出したボイスメモファイルをコピーして、上記1と同じフォルダに置きます。ここでは修復したファイルが 20140615 163625.m4a という名前だとします。

5. ファイルをバイナリエディタで開く
Ctrl + F (コントロールキーを押しながらFキーを押す) を押すと検索ダイアログボックスが現れるので、mdat を入れて検索ボタンを押します(下記図を参照)。

・次にファイルの先頭から mdat の t までを選択します(下記図を参照)。

・選択部分を、Delete キーを押して削除します。
Ctrl + S (コントロールキーを押しながらSキーを押す) を押して、上書き保存します。

6. faad.exe によるデコード
・コマンドプロンプトを開きます(ウィンドウズキー + R で開いたダイアログに cmd とタイプして OK ボタンを押す)。
cd Downloads とタイプして、ダウンロード フォルダに移ります。
faad.exe "20140615 163625.m4a" とタイプ(実際の m4a ファイル名を入れてください)して、Enter キーを押します。
・デコードが十数秒ほどで完了します(下記図を参照)。20140615 163625.wav という名前の wave ファイルが生成されているはずです。


7. faac.exe によるエンコード
faac.exe -b 160 -o repaired.m4a "20140615 163625.wav" とタイプして、Enter キーを押します。
・エンコードが数分で完了します(下記図を参照)。repaired.m4a という名前の m4a ファイルが生成されているはずです。

・repaired.m4a を再生して、無事に復旧できたことを確認してください。


いかがでしょうか。
もし、不明な点があれば、気軽にコメントをどうぞ。


大事なファイルを確実に修復したいなどのご要望があれば、当方で修復を行うことも可能です。
機密の保持には万全を尽くします。

下記からご連絡ください。
https://docs.google.com/forms/d/1Zhe29WmqtjUhrqsZn-TnvXOqWtuZjFokXchUPr9c59w/viewform?usp=send_form
AD
iPhone 5 の充電ケーブル(ライトニングケーブル)を Apple 社の公式サイトで買うと、1980円もしてしまう。
かといって、サードパーティの非公認商品を買って、iPhone が壊れてしまったという話も聞き、どうするべきか迷っていた。

しかし、Amazonでいろいろ研究した結果、これはいいと思って、下記の商品を思い切って3個購入した。

HanyeTech製 iphone5 USBケーブル/Lightning USBケーブル iPhone5 ipad mini 新型ipad ipod 対応
¥178

予定より早く届いたこともうれしかったが、実際に使ってみて、Apple社の正規品と外見上も変わらないし、iPhone 5 に挿した際の感触も正規品と変わらないことに驚いた。

以前、他社の商品を買った際は、差し込む際に力が必要だったりということがあった。
この製品は今年の春に出た商品だと思われるが、改良を重ねてきたらしく、本物と変わらない出来になっていると思った。

車、会社、寝室と3箇所で充電できるようになったので、とても満足しています (^^)
AD

iOS ver 6.1.4 (iPhone 5) で使えるフォント一覧

テーマ:
iPhone 用アプリを開発して、iOS で使えるフォントって何種類あるんだろうと疑問が湧いたので調べてみることにした。
以下のようなコードを実機上で実行し、ログを取得してみた。
実機は iOS ver 6.1.4 (iPhone 5) である。

NSArray *familyNames = [[UIFont familyNames] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
int i = 0, j = 0;
for (NSString *familyName in familyNames)
{
NSLog(@"%d. %@", ++i, familyName);
NSArray *fontNames = [[UIFont fontNamesForFamilyName:familyName] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
j = 0;
for (NSString *fontName in fontNames) {
NSLog(@" %d-%d. %@", i, ++j, fontName);
}
}


フォントは、ファミリー名が61種類、それぞれのファミリー名に属するフォントの種類(フォント名)は全部で199種類であった。
以下はその一覧:

1. Academy Engraved LET
1-1. AcademyEngravedLetPlain
2. American Typewriter
2-1. AmericanTypewriter
2-2. AmericanTypewriter-Bold
2-3. AmericanTypewriter-Condensed
2-4. AmericanTypewriter-CondensedBold
2-5. AmericanTypewriter-CondensedLight
2-6. AmericanTypewriter-Light
3. Apple Color Emoji
3-1. AppleColorEmoji
4. Apple SD Gothic Neo
4-1. AppleSDGothicNeo-Bold
4-2. AppleSDGothicNeo-Medium
5. Arial
5-1. Arial-BoldItalicMT
5-2. Arial-BoldMT
5-3. Arial-ItalicMT
5-4. ArialMT
6. Arial Hebrew
6-1. ArialHebrew
6-2. ArialHebrew-Bold
7. Arial Rounded MT Bold
7-1. ArialRoundedMTBold
8. Avenir
8-1. Avenir-Black
8-2. Avenir-BlackOblique
8-3. Avenir-Book
8-4. Avenir-BookOblique
8-5. Avenir-Heavy
8-6. Avenir-HeavyOblique
8-7. Avenir-Light
8-8. Avenir-LightOblique
8-9. Avenir-Medium
8-10. Avenir-MediumOblique
8-11. Avenir-Oblique
8-12. Avenir-Roman
9. Avenir Next
9-1. AvenirNext-Bold
9-2. AvenirNext-BoldItalic
9-3. AvenirNext-DemiBold
9-4. AvenirNext-DemiBoldItalic
9-5. AvenirNext-Heavy
9-6. AvenirNext-HeavyItalic
9-7. AvenirNext-Italic
9-8. AvenirNext-Medium
9-9. AvenirNext-MediumItalic
9-10. AvenirNext-Regular
9-11. AvenirNext-UltraLight
9-12. AvenirNext-UltraLightItalic
10. Avenir Next Condensed
10-1. AvenirNextCondensed-Bold
10-2. AvenirNextCondensed-BoldItalic
10-3. AvenirNextCondensed-DemiBold
10-4. AvenirNextCondensed-DemiBoldItalic
10-5. AvenirNextCondensed-Heavy
10-6. AvenirNextCondensed-HeavyItalic
10-7. AvenirNextCondensed-Italic
10-8. AvenirNextCondensed-Medium
10-9. AvenirNextCondensed-MediumItalic
10-10. AvenirNextCondensed-Regular
10-11. AvenirNextCondensed-UltraLight
10-12. AvenirNextCondensed-UltraLightItalic
11. Bangla Sangam MN
11-1. BanglaSangamMN
11-2. BanglaSangamMN-Bold
12. Baskerville
12-1. Baskerville
12-2. Baskerville-Bold
12-3. Baskerville-BoldItalic
12-4. Baskerville-Italic
12-5. Baskerville-SemiBold
12-6. Baskerville-SemiBoldItalic
13. Bodoni 72
13-1. BodoniSvtyTwoITCTT-Bold
13-2. BodoniSvtyTwoITCTT-Book
13-3. BodoniSvtyTwoITCTT-BookIta
14. Bodoni 72 Oldstyle
14-1. BodoniSvtyTwoOSITCTT-Bold
14-2. BodoniSvtyTwoOSITCTT-Book
14-3. BodoniSvtyTwoOSITCTT-BookIt
15. Bodoni 72 Smallcaps
15-1. BodoniSvtyTwoSCITCTT-Book
16. Bodoni Ornaments
16-1. BodoniOrnamentsITCTT
17. Bradley Hand
17-1. BradleyHandITCTT-Bold
18. Chalkboard SE
18-1. ChalkboardSE-Bold
18-2. ChalkboardSE-Light
18-3. ChalkboardSE-Regular
19. Chalkduster
19-1. Chalkduster
20. Cochin
20-1. Cochin
20-2. Cochin-Bold
20-3. Cochin-BoldItalic
20-4. Cochin-Italic
21. Copperplate
21-1. Copperplate
21-2. Copperplate-Bold
21-3. Copperplate-Light
22. Courier
22-1. Courier
22-2. Courier-Bold
22-3. Courier-BoldOblique
22-4. Courier-Oblique
23. Courier New
23-1. CourierNewPS-BoldItalicMT
23-2. CourierNewPS-BoldMT
23-3. CourierNewPS-ItalicMT
23-4. CourierNewPSMT
24. Devanagari Sangam MN
24-1. DevanagariSangamMN
24-2. DevanagariSangamMN-Bold
25. Didot
25-1. Didot
25-2. Didot-Bold
25-3. Didot-Italic
26. Euphemia UCAS
26-1. EuphemiaUCAS
26-2. EuphemiaUCAS-Bold
26-3. EuphemiaUCAS-Italic
27. Futura
27-1. Futura-CondensedExtraBold
27-2. Futura-CondensedMedium
27-3. Futura-Medium
27-4. Futura-MediumItalic
28. Geeza Pro
28-1. GeezaPro
28-2. GeezaPro-Bold
29. Georgia
29-1. Georgia
29-2. Georgia-Bold
29-3. Georgia-BoldItalic
29-4. Georgia-Italic
30. Gill Sans
30-1. GillSans
30-2. GillSans-Bold
30-3. GillSans-BoldItalic
30-4. GillSans-Italic
30-5. GillSans-Light
30-6. GillSans-LightItalic
31. Gujarati Sangam MN
31-1. GujaratiSangamMN
31-2. GujaratiSangamMN-Bold
32. Gurmukhi MN
32-1. GurmukhiMN
32-2. GurmukhiMN-Bold
33. Heiti SC
33-1. STHeitiSC-Light
33-2. STHeitiSC-Medium
34. Heiti TC
34-1. STHeitiTC-Light
34-2. STHeitiTC-Medium
35. Helvetica
35-1. Helvetica
35-2. Helvetica-Bold
35-3. Helvetica-BoldOblique
35-4. Helvetica-Light
35-5. Helvetica-LightOblique
35-6. Helvetica-Oblique
36. Helvetica Neue
36-1. HelveticaNeue
36-2. HelveticaNeue-Bold
36-3. HelveticaNeue-BoldItalic
36-4. HelveticaNeue-CondensedBlack
36-5. HelveticaNeue-CondensedBold
36-6. HelveticaNeue-Italic
36-7. HelveticaNeue-Light
36-8. HelveticaNeue-LightItalic
36-9. HelveticaNeue-Medium
36-10. HelveticaNeue-UltraLight
36-11. HelveticaNeue-UltraLightItalic
37. Hiragino Kaku Gothic ProN
37-1. HiraKakuProN-W3
37-2. HiraKakuProN-W6
38. Hiragino Mincho ProN
38-1. HiraMinProN-W3
38-2. HiraMinProN-W6
39. Hoefler Text
39-1. HoeflerText-Black
39-2. HoeflerText-BlackItalic
39-3. HoeflerText-Italic
39-4. HoeflerText-Regular
40. Kailasa
40-1. Kailasa
40-2. Kailasa-Bold
41. Kannada Sangam MN
41-1. KannadaSangamMN
41-2. KannadaSangamMN-Bold
42. Malayalam Sangam MN
42-1. MalayalamSangamMN
42-2. MalayalamSangamMN-Bold
43. Marion
43-1. Marion-Bold
43-2. Marion-Italic
43-3. Marion-Regular
44. Marker Felt
44-1. MarkerFelt-Thin
44-2. MarkerFelt-Wide
45. Noteworthy
45-1. Noteworthy-Bold
45-2. Noteworthy-Light
46. Optima
46-1. Optima-Bold
46-2. Optima-BoldItalic
46-3. Optima-ExtraBlack
46-4. Optima-Italic
46-5. Optima-Regular
47. Oriya Sangam MN
47-1. OriyaSangamMN
47-2. OriyaSangamMN-Bold
48. Palatino
48-1. Palatino-Bold
48-2. Palatino-BoldItalic
48-3. Palatino-Italic
48-4. Palatino-Roman
49. Papyrus
49-1. Papyrus
49-2. Papyrus-Condensed
50. Party LET
50-1. PartyLetPlain
51. Sinhala Sangam MN
51-1. SinhalaSangamMN
51-2. SinhalaSangamMN-Bold
52. Snell Roundhand
52-1. SnellRoundhand
52-2. SnellRoundhand-Black
52-3. SnellRoundhand-Bold
53. Symbol
53-1. Symbol
54. Tamil Sangam MN
54-1. TamilSangamMN
54-2. TamilSangamMN-Bold
55. Telugu Sangam MN
55-1. TeluguSangamMN
55-2. TeluguSangamMN-Bold
56. Thonburi
56-1. Thonburi
56-2. Thonburi-Bold
57. Times New Roman
57-1. TimesNewRomanPS-BoldItalicMT
57-2. TimesNewRomanPS-BoldMT
57-3. TimesNewRomanPS-ItalicMT
57-4. TimesNewRomanPSMT
58. Trebuchet MS
58-1. Trebuchet-BoldItalic
58-2. TrebuchetMS
58-3. TrebuchetMS-Bold
58-4. TrebuchetMS-Italic
59. Verdana
59-1. Verdana
59-2. Verdana-Bold
59-3. Verdana-BoldItalic
59-4. Verdana-Italic
60. Zapf Dingbats
60-1. ZapfDingbatsITC
61. Zapfino
61-1. Zapfino

iOS のバージョン、端末、国別シェア

テーマ:
iOS 向けのアプリを作るにあたって、いったいどのバージョンの iOS や端末、言語を重視して作るべきだろうかという疑問は必ず湧いてくる。
いろいろ探した結果、以下のページに2013年5月現在の見事な統計が載せられていた。

Mobile Hardware Statistics (iOS)
http://stats.unity3d.com/mobile/index-ios.html

1. iOS バージョン

iOS 6.1: 77.8%
iOS 6.0: 11.4%
iOS 5.1: 8.0%
iOS 5.0: 1.5%
iOS 4.3: 1.3%
Others: 0.1%

これを見れば iOS 6.0 以上は 89.2%、すなわち約9割とすごいパーセンテージになっている。
Android ではこうはいかないだろうなと思う。
新しく作るアプリは、最低サポートバージョンを 6 にしても、取りこぼしユーザーは10分の1しかないので、問題はないと思われる。

2. iOS 端末

iPhone 5: 14.8%
Phone 4S: 17.7%
iPhone 4: 15.4%
iPhone 3GS: 2.5%

iPad 4: 6.1%
iPad 3: 7.7%
iPad 2: 16.2%

iPad Mini: 5.6%

iPod Touch 5th: 2.4%
iPod Touch 4th: 9.3%

Others: 2.3%


iPhone に限ってみる限り、iPhone 4 以上の Retina ディスプレイデバイスが大半を占めているのが分かる。

3. 国別

United States: 25.2%
China: 11.2%
United Kingdom: 8.7%
Russian Federation: 4.3%
Germany: 3.6%
Japan: 3.3%
Canada: 3.1%
France: 2.9%
Australia: 2.7%
Italy: 2.3%
Others: 32.6%


これを見ると、日本は世界のわずか30分の1しか占めていない
もし、英語をサポートすれば市場はぐんと大きくなる
それにプラスして中国語をサポートすれば、日本の4倍近い大きさの市場がターゲットに入ることになる。

今回調べてみて、改めて驚かされた数値の数々であった。