Es-durの曲を吹くのが苦手。だけど好きな曲は多い。うーん…

2021年06月04日 12時00分 正午の月齢:23.7  月名:真夜中の月  潮汐:小潮 月齢:23.7[真夜中の月] 潮汐:小潮
(最終更新日:2021年06月20日)
4年前に投稿 | フルート | 1件のコメント

2分ぐらいで読めます。

「Es-dur」つまり変ホ長調の曲を吹くのがとても苦手なのです。同じように♭が3個つく「C-moll」つまりハ短調も当然苦手なのです。♭は多くても2個までだなぁ。

ところが変ホ長調やハ短調の曲って、どことなく自分に合うみたいで実は好きな曲が多いんですよね。たとえば「大不正解」「夜に駆ける」、ほかにも「残酷な天使のテーゼ」など。

で、先生いわく、タイプの人とタイプの人がいて、だいたいどちらかが苦手というものらしい。たしかに♯だったら3個でも4個でも、まぁ5個でも、♭よりかはスムーズに吹けるのですよ。ということで「♯タイプ人間」確定です。

たぶんこれは、そう、今から40年以上前…ヤマハ音楽教室に通っていた幼少期の記憶。エレクトーンの黒鍵の3つ並んでいるところを「フィス」「ギス」「ベー」と習ったんですよ。(「フィス」「ギス」は♯の読み方なのに、なぜか「ベー」だけ♭な読み方ですが、ハ長調の次にヘ長調を習った流れからですねたぶん。)

そんなこともあって、このレバー

G#レバー

つるんとしたフルートの管体に唯一飛び出た異色の存在「G#レバー」ですが、コイツを「A♭」として指が動いてくれないんです。どうしてもレバーの名前のとおり「G#」って思ってしまう。さらに逆作用(多くのキーは押さえると穴を閉じるけれどG#レバーは押さえると穴が開く)のせいで苦手感がさらに倍。A♭と同じ音であるG#を使いまくる♯3個の「ワタリドリ」「ゆずれない願い」はちゃんと指が動いて吹けるんですホントに不思議なもので。

とどめはEs(ミ♭)の運指。コイツは低音・中音・高音で運指が異なるので、いつも吹いてる途中で「あれ?」ってなるのです。まぁ練習が足りないって言ってしまえばそうなんだけどさー。

[2021年版] チャレンジタッチのタブレット(チャレンジパッド)をAndroid化改造する。

2021年05月31日 12時00分 正午の月齢:19.7  月名:更待月  潮汐:中潮 月齢:19.7[更待月] 潮汐:中潮
(最終更新日:2021年06月02日)
4年前に投稿 | できるかな | 2件のコメント

8分ぐらいで読めます。

進研ゼミの通信教育「チャレンジタッチ」タブレットの中身はAndroidなので、解約後に使い道がなければひと手間かけることで高性能ではないけれどタブレットとして再利用することができます。

もう5年以上前にいちどAndroid化をしたことはあったのですが、知人からの依頼でふたたび作業する機会がやってきました。が、セキュリティがきつくなって、どうも以前のように簡単にはいかないようなのです。先人の知恵を拝借しながらAndroid化することができたので、備忘録として手順をまとめておきますネ。

目標

  • ブラウザによってウェブサイトの閲覧ができるようにする
  • YouTubeを観ることができるようにする
  • 一般的なファイル(MP4・PDFなど)が開けるようにする

これが達成できたら、当分はおもちゃとして使えるはず。ではさっそくやってみます。

とても参考にしたサイトは「【2020年最新版】進研ゼミチャレンジタッチをAndroid端末化する」です。ちょこちょこ引用させてもらいますね。

必要なもの

  • チャレンジパッド(今回依頼されたのはチャレンジパッド2です。Android5だったのでたぶん。)
  • Windows10 64bitパソコン(32bitでもいいのかもしれないけれど使えるのかわからない)
  • USB mini-Bケーブル(端子の高さ3mm・幅7mm)

    このUSBケーブルは最近あまり使われていないものなので、持っていない人多いかな。

 

チャレンジパッドの初期化

  1. ホームボタン(前面にある家マークのボタン)と電源ボタン(側面にある果物みたいなマークのボタン)を同時に押し続ける。
  2. 「システム復旧モードに入ります」と表示されたら、ホームボタンのみを押し続ける。
  3. 「工場出荷状態に戻しますか?」と出るので、音量の+キーを押して「はい」に合わせ、電源ボタンを押せば初期化される。
  4. 初期化が終わったら電源入れて「スタートまず最初に押そう」という表示を長押ししてつかみ、画面上の×に引きずり込んで消してしまう。
  5. ホーム中央下のボタンを押せば設定画面に入れるので、まずWi-Fiをオンにして、アクセスポイントに接続する。
  6. 「ディスプレイ」→「明るさのレベル」→「最大」、「スリープ」→「30分経過後」、「スクリーンセーバー」→「オフ」に設定しておく。
  7. 「タブレット情報」→「ビルドバージョン」を7回連打すると、開発者モードが開放されるので、戻って「開発者向けオプション」→「スリープモードにしない」、「USBデバッグ」→「ON」にする。

パソコン側の作業

「【2020年最新版】進研ゼミチャレンジタッチをAndroid端末化する」では、

3、Android Studioをインストールする

いきなり話が吹っ飛びすぎて、ここで断念して引き返す人もいるかもしれないが、基本市販のAndroidのようにはさせてくれないので、ここからAPKを手動でインストールしていくのが基本である。adbコマンドさえ使えるようになればいいので、Android Studioのインストールは全部適当にハイハイ言っていればよい。

https://developer.android.com/studio/install?hl=ja

インストールが完了したら、「コマンドプロンプト」を開いて、「adb」と打ってみて、コマンドガイドが出ればOK。

とあるのですが、このAndroid Studioがやたらと大容量で、英語だらけで、10年前のスペックのわがパソコンにはキツイので、別のソフトを入れてチャレンジパッドを操作することにしました。

「ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3」というのを使います。

adb

「XDA Mirror」の部分を押すとダウンロードされるので、その後セットアップを開始してください。「y」→「Enterキー」でどんどん進み、聞かれたことは全部肯定的に進んでいけばわけのわからないうちにインストール完了です。

パソコンとチャレンジパッドをつないでみる

USBケーブルでパソコンとチャレンジパッドをつないでみます。チャレンジパッド側の「USBオプション」を「メディアファイルを転送」「MTP転送」といったモードに変更しておきましょう。

次にパソコン側のコマンドプロンプトを立ち上げます。スタートメニューを右クリックしてから、「コマンドプロンプト(管理者)」をクリックします。するとユーザーアカウント制御(UAC)が表示されるので「はい」をクリックします。コマンドプロンプトが見当たらないときは、「Windowsマーク(田)」と「R」を同時に押し、出てきたダイアログ(「ファイル名を指定して実行」)に「cmd」と入力し、「Ctrl」+「Shift」キーを押しながら「OK」ボタンをクリックすればたぶんイケるはず。

コマンドプロンプトの黒い画面が起動したら、

adb devices

と入力しEnterを押します。ここで「unauthorized」と表示されてしまうときは、チャレンジパッドに

usbdebug

のようなダイアログが出ていると思うので、「このパソコンからのUSBデバッグを常に許可する」にチェックを入れて「OK」を押します。うまくいくと、3つ目のコマンドのように「********** device」と表示されるはずなので、これでチャレンジパッドがADBコマンドを受け付ける準備が完了です。

コマンドプロンプト

アプリのapkファイルを入れていく

まず、提供不明アプリをインストールできるように、コマンドプロンプトで下記のように入力します。コピーして貼り付けてEnter押したらいけるハズ。

adb shell content update --uri content://settings/secure --where 'name=\"install_non_market_apps\"' --bind value:i:1

エラーが出なければ、端末上何も変わってなくても、内部で提供元不明アプリの許可がされているようです。

エラーが出るならこちらを実行してください。(チャレンジパッド3ではこちらのコマンドのみ有効らしい。)

adb shell settings put secure install_non_market_apps 1

さっそく何かインストールしてみましょう。Firefox 88.1.4 for Androidをダウンロードします。一般的な設定ではたぶん「ダウンロード」というフォルダにダウンロードされるはずなので、その前提で解説しますね。

ダウンロードされたファイル名は「Firefox Browser fast private safe web browser_v88.1.4_apkpure.com.apk」でした。こんな長い名前はイヤなので、「ff.apk」にファイル名を変更してやりましょう。

これから次々とアプリを入れていくので、まずはダウンロードフォルダをカレントディレクトリにします。コマンドプロンプトには

C:\Users\**********>

と表示されていると思う(「**********」の部分はユーザーごとに異なる)ので、>に続いて

cd C:\Users\**********\Downloads

という感じで入力すると、

C:\Users\**********\Downloads>

となるはず。そこに続けて「adb install ff.apk」と入力します。

C:\Users\**********\Downloads>adb install ff.apk

パソコンとチャレンジパッドが正しくつながっていて、処理も順調だと、

C:\Users\**********\Downloads>adb install ff.apk
3657 KB/s (55645772 bytes in 14.857s)
pkg: /data/local/tmp/ch.apk
Success

みたいな表示が出て、「Success」が出たらそのアプリはインストール完了。

ホームランチャーのインストール

チャレンジパッドにFirefoxは入ったけれど、このままではアプリをホーム画面から起動できないのでなんだかなぁ…ということでホームランチャーアプリをインストールします。

いろいろ試した中からもっとも使いやすそうだった「Apex Launcher Classic」を入れてみましょう。ダウンロードが完了するとダウンロードフォルダに「Apex Launcher Classic_v3.4.5_apkpure.com.apk」というファイルがあると思うので、「ap.apk」に名前を変更します。コマンドプロンプトに「adb install ap.apk」と入力し、

C:\Users\**********\Downloads>adb install ap.apk

「Success」が出たら成功。このアプリをデフォルトのホーム画面にします。これで普通の感覚でホーム画面にアプリのショートカットを配置することができるようになりました。

その他のアプリのインストール

同様に、「入れたいアプリのapkファイルを検索」→「apkファイルのダウンロード」→「シンプルな名前にファイル名を変更」→「adb install **.apkコマンドでインストール」で次々と入れていきます。ときどき[INSTALL_FAILED_OLDER_SDK] というエラーが出るのですが、それはアプリのヴァージョンが新しすぎることが原因だと思うので、古いヴァージョンのものを探してインストールすればだいたい入ると思います。YouTubeアプリはインストールはできたのですが、起動するには「Google Play開発者サービス」が必要と言ってくるので探してインストールしたけれど結局起動させてもすぐに落ちるので使えないまま。YouTubeはFirefoxから観てもらうことにしました。再生はスムーズでとくに問題ありませんでした。アドオンで広告も消せるし、これはこれでいいかな。

  • Apex Launcher Classic
  • Firefox

以外に、

  • Google Chrome
  • Adobe Acrobat Reader
  • VLC Player
  • Facebook
  • Instagram
  • 気象庁レーダー

をインストールして作業を終了です。

Wi-Fi中継器 TP-Link RE200が感動的。生活が変わった。

2021年05月29日 12時00分 正午の月齢:17.7  月名:居待月  潮汐:中潮 月齢:17.7[居待月] 潮汐:中潮
4年前に投稿 | ウェブ・IT関係 | コメントはありません

2分ぐらいで読めます。

わが家の大豪邸(…嘘です普通の庭付き一戸建て)は2階北西側の押入の中にルーターや回線終端装置やNASなどが入っています。家の中のほとんどはWi-Fiの電波が届くのですが、対角線上に位置する1階南東の浴室は2.4GHzも5GHzもとても電波状態が悪くて不安定なのです。ドアのあたりにスマートフォンを置けばOKだけど、窓際に置けば接続が切れるくらいのギリギリな環境。

たかがお風呂の時間、されどお風呂の時間。家の中のあちこちに人間&猫がウロウロしているのでお風呂とトイレは安らぎのひととき。YouTubeからお気に入りの音楽を流して過ごしたいって思いませんか? 思うでしょ。

そんなわけで電波状況改善のため、有線LANがある2階東のわが部屋にアクセスポイントを追加しようかと考えていたところ目に留まったのがTP-Link RE200。コンセントに直接刺すタイプのWi-Fi中継器です。Amazonでの評価も高くてそのわりに値段が安いので、早速購入してわが部屋の南端のエアコン用電源コンセントに取り付けてみました。この位置はちょうど浴室の真上になります。効果はどうかな…

TP-Link RE200

なんてスバラシイ!! がっつりとルーターからの電波を中継してくれて接続が切れる不安は全くありません。最近よく聞いているのは、たとえばコレ。

実はALTIMAを知ったのがつい先月くらいのことで、「灼眼のシャナⅢ」の深夜に放送(再放送?)しているのを見て一発で心をつかまれたわけですが、いやなんでもっと早く出会わなかったのかっていうくらい世紀末に青春を送った世代にはキュンキュンくるサウンドなのです。だってどう考えてもm.o.v.eとfripSideのいいとこ取りみたいな存在だからね。

でまぁ、こんなの聴きながらの入浴はとてもいい感じなので、TP-Link RE200によって生活は変わる。幸せになれます。きっと。

無線業務日誌PHPスクリプト「WebLogBook」のダークモード。

2021年05月20日 21時00分 正午の月齢:8.7  月名:九日月  潮汐:小潮 月齢:8.7[九日月] 潮汐:小潮
4年前に投稿 | アマチュア無線 | コメントはありません

1分ぐらいで読めます。

WEBで無線業務日誌(ログ)を管理するPHPスクリプト「WebLogBook」のダークモード用CSSを作ってみました。

サイト自体に切り替えの仕組みを入れようかとも考えたけれど、あまり必要なさそうなので早々にあきらめて、CSSをまるっと差し替える仕様にしたのです。

weblogbook darkmode

今お使い(使っている人って自分以外にいるのか知らないケド)のCSSファイルと差し替えるだけで、黒基調のダークモードになります。白っぽい画面がまぶしすぎるときにお使いくださいませ。

あと、交信件数が増えて複数ページになるときにページ遷移すると、スクロールバーが出たり消えたりしてサイト全体が左右にガクガクして美しくないので、常にスクロールバーの領域を確保するために

html {
overflow-y: scroll;
}

を追加しています。

WordPressで「ブログ村」の新着記事サムネイルにアイキャッチ画像を表示させる。

2021年05月17日 12時00分 正午の月齢:5.7  月名:六日月  潮汐:中潮 月齢:5.7[六日月] 潮汐:中潮
4年前に投稿 | WordPress | 4件のコメント

12分ぐらいで読めます。

今回は、WordPressを使っている人で「ブログ村」の新着記事サムネイルに画像が表示されない人のための内容です。

いくつかのブログポータルサイトに登録しているのですが、そのうちのひとつに「にほんブログ村」があります。新着記事の自動連携を設定していて、記事の公開とほぼ同時に反映してくれるのですが、あるときからブログ村の仕様が変わって連携されないようになりました。記事の内容に関する連携はしばらくして解決したのですが、画像だけが表示されない状態になってしまいました。

  • 2020年8月の内容
    202008
  • 2020年9月の内容
    202009

2020年8月までは画像が表示されていたのに、2020年9月からサムネイル画像が表示されなくなっています。これがブログ村に登録されている全部のブログではなく、特定のブログだけに発生しているものだからよけいに気になります。別に画像が表示されていなくても支障ないけれど…なんだか寂しい。やっぱり画像を表示させたいっ!

ということで、WordPressを使っている人で同じような症状に悩んでいる人は、ぜひ試してみてください。

参考にしたのは、

実際に設定した方法は以下のとおりです。

[WordPress管理画面]→[外観]→[テーマエディター]から今使っているテーマの[テーマヘッダー(hearder.php)]を選択する。(ここの記述はテーマによって異なるのですが、大事なのは<head>タグを見つけることです。)

<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" media="screen">
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/print.css" media="print">
<link rel="shortcut icon" href="<?php bloginfo('template_directory'); ?>/images/favicon.ico" type="image/x-icon">
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>">

<head>から</head>の間のどこかに、以下の内容

<?php if (has_post_thumbnail()) : ?>
<meta property="og:image" content="<?php the_post_thumbnail_url(); ?>" />
<?php else: ?>
<meta property="og:image" content="<?php bloginfo('template_directory'); ?>/images/no-eyecatch.png" />
<?php endif; ?>

を挿入する。今回は<head>の3行下に入れたけれど、別にここじゃなくても大丈夫だと思います。ピンク色の文字の部分はアイキャッチ画像がないときに代用される画像のURLを記述してくださいね。この例ではWordPressの関数を使っているので「<?php」で始まっていますが、もちろん普通に「http://」「https://」で始まるURLでOKです。

<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width,initial-scale=1">
<?php if (has_post_thumbnail()) : ?>
<meta property="og:image" content="<?php the_post_thumbnail_url(); ?>" />
<?php else: ?>
<meta property="og:image" content="<?php bloginfo('template_directory'); ?>/images/no-eyecatch.png" />
<?php endif; ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" media="screen">
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/print.css" media="print">
<link rel="shortcut icon" href="<?php bloginfo('template_directory'); ?>/images/favicon.ico" type="image/x-icon">
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>">

アイキャッチ画像があるときはその画像、ないときは代用される画像を表示してくれます。

ほら、こんな感じで画像が出るようになりましたー。

202105

その後、ブログ村の[マイページ]→[記事管理]→[記事メンテナンス]と進み、それぞれの記事の[記事再取得]を押すと過去の記事の画像を取得してくれます。

にほんブログ村サポートのページには、OGPの設定が必要なブログサービス一覧として

OGPの設定が必要なブログサービス一覧

2019/04/01 10:40

下記ブログサービスをご利用されている場合は、設定や設定変更をすることによりOGPが取得できるブログサービスになります。

と書かれていたので、WordPress以外でも同じような症状で困っていたら同じような方法(全く同じとは言い切れないけれど)で解決するかも。

とりあえず、これが最低限の解決方法なのですが、もう少し調べてみましょう。

上記の方法では5行追加しただけですが、もっとしっかりしたOGPの設定がありました。これを丸ごと<head>から</head>の間に記述すればいいようです。試していないので、実際どうなるのかは何とも言えないですけど。

<meta property='og:locale' content='ja_JP'>
<meta property='og:site_name' content='<?php bloginfo('name'); ?>'>
<meta property="og:type" content="blog">
<?php
if (is_single()){
if(have_posts()): while(have_posts()): the_post();
echo '<meta property="og:title" content="'; the_title(); echo '">';echo "\n";
echo '<meta property="og:description" content="'.mb_substr(get_the_excerpt(), 0, 100).'">';echo "\n";
echo '<meta property="og:url" content="'; the_permalink(); echo '">';echo "\n";
endwhile; endif;
} else {
echo '<meta property="og:title" content="'; bloginfo('name'); echo '">';echo "\n";
echo '<meta property="og:description" content="'; bloginfo('description'); echo '">';echo "\n";
echo '<meta property="og:url" content="'; bloginfo('url'); echo '">';echo "\n";
echo '<meta property="og:type" content="blog">';echo "\n";
}
$str = $post->post_content;
$searchPattern = '/<img.*?src=(["\'])(.+?)\1.*?>/i';
if (is_single()){
if (has_post_thumbnail()){
$image_id = get_post_thumbnail_id();
$image = wp_get_attachment_image_src( $image_id, 'full');
echo '<meta property="og:image" content="'.$image[0].'">';echo "\n";
} else if ( preg_match( $searchPattern, $str, $imgurl )){
echo '<meta property="og:image" content="'.$imgurl[2].'">';echo "\n";
}
}
?>

またheader.phpではなく、functions.phpに書くっていうのもアリのようです。最近はこの方法が主流なのかな。

からの引用です。ページごとに出力がコントロールされているようですね。

以下を丸ごとfunctions.phpに追記してください。これも試していないので、実際どうなるのかは何とも言えないですけど。

//headにOGPを出力

add_action('wp_head','my_meta_ogp');
function my_meta_ogp() {
if( is_front_page() || is_home() || is_singular() ){
global $post;
$ogp_title = '';
$ogp_descr = '';
$ogp_url = '';
$ogp_img = '';
$insert = '';

if (is_front_page() || is_home()) { //フロントページまたは投稿インデックスページの場合
$ogp_title = get_bloginfo('name');
$ogp_descr = get_bloginfo('description');
$ogp_url = home_url();
} elseif(is_singular()) { //投稿ページまたは固定ページの場合
setup_postdata($post);
$ogp_title = $post-&gt;post_title;
$ogp_descr = mb_substr(get_the_excerpt(), 0, 100);
$ogp_url = get_permalink();
wp_reset_postdata();
}

//og:type
$ogp_type = (is_front_page() || is_home()) ? 'website' : 'article';

//og:image
if (is_singular() &amp;&amp; has_post_thumbnail()) {
$ps_thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full');
$ogp_img = $ps_thumb[0];
} else {
$ogp_img = '●アイキャッチが無い場合に表示されるOGP画像のパス●';
}

//出力するOGPタグ
$insert .= '<meta property="og:title" content="'.esc_attr($ogp_title).'">' . "\n";
$insert .= '<meta property="og:description" content="'.esc_attr($ogp_descr).'">' . "\n";
$insert .= '<meta property="og:type" content="'.$ogp_type.'">' . "\n";
$insert .= '<meta property="og:url" content="'.esc_url($ogp_url).'">' . "\n";
$insert .= '<meta property="og:image" content="'.esc_url($ogp_img).'">' . "\n";
$insert .= '<meta property="og:site_name" content="'.esc_attr(get_bloginfo('name')).'">' . "\n";
$insert .= '<meta property="og:locale" content="ja_JP">' . "\n";

echo $insert;
}
}

あと、プラグインで設定する方法もアリだとは思うのですが、むやみにプラグインを入れるのもサイトが重くなるなどの副作用が考えられます。このあたりはサイト運営者個々の考え方しだいですが、これくらいの改造度なら自分で手を加えるほうが絶対いいと思うなー。

JARLに6か月入会したけれど、引き続き会員継続してみる。

2021年05月16日 18時00分 正午の月齢:4.7  月名:五日月  潮汐:中潮 月齢:4.7[五日月] 潮汐:中潮
4年前に投稿 | アマチュア無線 | コメントはありません

1分ぐらいで読めます。

2020年12月7日にJARLに入会してまもなく6か月経過するので、会員継続の案内がきました。

当初は「QSLカードの交換は郵送やeQSLでいいかなー」と思っていたけれど、てきぱきとした交信の中ではやっぱり「カードはビューロー経由で」みたいなやりとりのほうが圧倒的にラク。お互いにネ。

というわけで、また6か月継続してみます。

JARL会員ページから手続きをしようと思ったけれど、JARL会員ページに入る認証IDがわからない…

認証IDは、JARL NEWSの宛名ラベル及び会員証(転送手数料領収書)の宛名部分に印字されている数字です。
(例:123456)

って、宛名ラベルなんてすぐに捨てるから、次のJARL NEWSが届くまでどうしようもないっすわ。

コンビニで手続き決定です。

Translate »