2018年4月22日日曜日

windows10 最大化表示されない 原因は仮想デスクトップにあり

通常、前の画面を最大化で閉じた場合、次に表示されるときは最大化した状態で表示される。
今回、win10のタスクバーに表示させたChromeが最大化表示されないことがあった。

結果として、仮想デスクトップ(デスクトップ2)で開いていたChromeを閉じることでこの問題は解消した。
最大化表示されなくて困っている人で仮想デスクトップを使用している方はこれが原因かもしれない。

2018年1月28日日曜日

合唱における発声方法まとめ

はじめに

合唱における発声練習方法についてまとめました。
訳あってPDF形式です。
閲覧は以下からどうぞ


ダウンロード

GoogleDriveからダウンロードできます。


ちょっと解説

発声方法について体系的にまとめました。
基本的にはPDFファイルにまとまっていますが、主要な部分を一部紹介します。
以下、PDFからの切り抜き

__ここから__

第1章                 発声は要素分解すれば簡単に直せる

第1節              発声の基本

 
1:発声の基本

1は発声の基本を模式的に表したものです。声は大きく分けて、息を送る、声帯を振動させる、口で音を変化させる(母音や子音をつける等)という3つの過程を通して発せられます。また、耳によるフィードバックによって息・声帯・口が再調整され次の音へと進んでいきます。
また、これらの4つをトレーニングすることによって発生の改善が可能です。まずは、全体に目指す方向性を下から順に大きく説明していきましょう。

声にエネルギーを供給するもの。息(空気の流れ)が声帯の振動に変換され、声になる。そのため、大きい音を出すためには多量の息が必要になる。また、声帯の間隔を広げた状態でも多量の息を流すことで、安定性を保ちつつ小さな声を出すことができる。
目標: 音量の大小によらず、安定的に多量の息を送れるようになること

声帯
息を振動(声)に変換するもの。喉に2本ついている。開閉・張力・密度(声帯筋)の動きによって制御できる。声帯同士の距離により息もれや衝突による喉声の原因となる。張力と密度の変化によって声の高さや声質を変える事ができる。狭い空間に様々な役割の筋肉が密集しており、扱いが難しい。
目標: ぞれぞれの役割を理解し、開閉・張力・密度の変化を適切に扱えるようになること

振動(声)に母音や子音を付けるなど、音を変化させるもの。主に軟口蓋と舌根のコントロールによって行われる。軟口蓋は鼻呼吸と口呼吸を切り替えるもの。軟口蓋が完全に上がった状態=鼻と肺の接続が完全に切れて口と肺が繋がった状態。また、軟口蓋が完全に下がった状態=口と肺の接続が完全に切れて鼻と口が繋がった状態。つまり、軟口蓋が上がっていない場合は声が口から出ないか出ても小さな声になる。さらに、声を作るには舌の形により母音を加える必要があるため、息が母音のついた声に変りきらず無駄になる。舌根が上がっている場合、口内で反射・合成される音が減り不十分な母音のまま口外へ声が出る。
目標: 軟口蓋を完全に上げ続けられるようになること、舌根を適切に下げ続けられるようになること

 声を聞き分け、歌い方にフィードバックを行うもの。逆に、耳で聞き分けられないものは歌い方にフィードバックできない。このため、歌のレベルは耳のレベル以上にはならない。歌が上手くなるには必ず耳を鍛える必要がある。
目標: どの発声のときにどの声になるかを複数の原因の場合においても正確に聞き分けられるようになること

第2節              発声の目標、理想の発声

発声を練習して歌が上手くなりたいという人はたくさんいますが、歌を歌う人ひとりひとり求める声の目標は違ってきます。では、発声における目標や理想の発声とはどんなものなのでしょうか。合唱においては声をそろえる事が半ば絶対条件と言えるため特徴的な声を使える場面は少ないですが、曲によっては喉声のような普段は敬遠される表現が求められることもしばしばあります。音楽の合唱という分野だけをとっても声には多様な表現が求められるのです。このため本質的には、声が落ちるのはよくないとか、喉声はだめ、ということはありません。結局はその曲にふさわしい表現が出来ているかということなのです。たまたま、合唱の世界では落ちる声や喉声による表現が合う曲が少ないのです。本練習方法は、落ちる声や喉声を改善するような内容となっていますが、最終的には様々な本練習方法を糧に様々な表現方法を身に着けて欲しいと考えています。このため、最終的な目標な次のような内容になると考えます。
目標: 自由度の高い声

 これは、あらゆる表現に声を自在に変えて対応できるということです。実は声というのは骨格などの遺伝的要素よりも普段の話し方の癖による影響が大きいようです [1]。このことから、発声においてどの要素の違いが声のどんな違いを作るかを正確に理解することで、ある程度の範囲において声は自在に変えられるものだと考えられます。本練習方法では、声を作る要素を口・声帯・息の大きく3つの要素に分解して考え、ひとつひとつの要素を正確に習得することで、これらの要因による声の変化を自在にコントロールできるように練習を進めていきます。

第3節              練習の進め方

本練習方法において一番大事なことは、ひとつひとつの技術を曖昧にせずにきっちりと身に着けることです。このためには、歌に関わる体の動作を正確に知り、歌い方をひとつずつ丁寧に正確に理想の歌い方に変える必要があります。このとき、毎回すべてを意識して行うことは難しいため、意識的に練習したことを今度は無意識でも出来るようにしていくことが大切です。本練習方法は、口・声帯・息・耳、の4つで構成されています。これらの要素をすべて使わなくては発声を行えないため、これらの要素はどれかひとつ欠けていても決して上手くなりません。そのため、どの要素もバランスよく学ぶ必要があります。
基本的な進め方としては、まず軽く1周を通してから、次の節にまとめた 2:発声が上手く行かない基本パターンを参考にして下さい。ここで、自分に足りない要素を確認しながら各章の解説を読んで練習します。この際、ひとつずつの練習をできるようになるまで繰り返し何度も練習することが大切です。ひとつひとつは初心者でも簡単に取り組める練習内容ですが、簡単に行えることと身に着けて自分の物とすることは全く別のことです。このため、腰を据えてじっくりと練習を進める必要があります。

第4節              発声が上手く行かない基本パターン

 
2:発声が上手く行かない基本パターン
※特に記述が無い要素は適切に行われている前提です。例えば、「口 軟口蓋 下がっている」の行において「すぐに落ちる音、ピッチが低めに出る音」とありますが、息が少ない場合にも同様の事が起こる場合があります。

2に発声が上手く行かない基本パターンをまとめました。発声が上手く行かない場合に重要なのは原因を正しく分析・認識することです。この表は発声に関わる基本的な要素を表しているため、通常の発声で上手く行かない場合、必ずこの表のどこかに問題があるはずです。自分の声とこの表とを比べてみて、どこに問題がありそうか自分なりに確かめて見ましょう。自分に足りない部分を見つけて各章の解説を見ることでひとつひとつ自分の技術を向上させていきましょう。また、この表を意識することで、普段の自分の声の原因をより具体的・体系的に考えられるようになります。この表を通して相手へのアドバイスも自分へのアドバイスも曖昧なものから具体的なものにできるように工夫するといいでしょう。


この表が本練習方法の心臓部です。発声に困ったとき何度も見返して発声を具体的・体系的に身に付けましょう。自分の発声をしっかりと把握することが調子に左右されない上手さへと繋がります。
__ここまで__

興味がある方はPDFをダウンロードしてみてみてください。


Pythonスクレイピングによるfreemlの過去ログ取得方法

始めに

Pythonを使ってスクレイピングをしてfreemlの過去ログをダウンロードするスクリプトを組んだので紹介します。
ちなみに同じようなスクレイピング用のスクリプトをRubyでも組んだことがありますが
Pythonが圧倒的に使いやすいです。
Rubyでのスクレイピングでは以下の様な問題があります。
・解説サイトによって書き方のばらつきが多くコードが読みにくい
・エラーで通信が頻繁に終了する
・HTMLの解析関数にバグが多い(Pythonにバグがないとは言っていない)
※HTMLに関しては、バグ以前にスクレイピング先のサイトのHTMLが適切に書かれていない場合も多いため、どちらが原因とは言えない


プログラム

プログラムは以下の通りです。
__ここから__
import requests #http通信
from bs4 import BeautifulSoup #HTML解析
from urllib.parse import urljoin #URL解析
import re #正規表現
import time #スリープ


# メールアドレスとパスワードの指定(自分のfreemlのパスワード)
# 例↓
# USER = "test@test.com"
# PASS = "testpass"
USER = "id"
PASS = "password"

# ダウンロード開始番号
# 例:[MLの名前:0814]のメールからダウンロードを開始したい場合814を記入
startNum = 1

# ダウンロード数(ダウンロード開始番号から数えて何通分ダウンロードするか)
dlNum = 200

# ダウンロード先フォルダ
# このフォルダはあらかじめ作らないとエラーになる
dlFolder = "./Data/"


# セッションを開始
session = requests.session()

# ログイン
login_info = {
    "email":USER,
    "password":PASS,
    "back":"index.php",
    "mml_id":"0"
}

# action
url_login = "https://www.freeml.com/ep.umzx/grid/General/node/SpLoginProcess"
res = session.post(url_login, data=login_info)
res.raise_for_status() # エラーならここで例外を発生させる

# ページ遷移
res = session.get("https://www.freeml.com/ep.umzx/grid/User/node/HomeFront")
res.raise_for_status()

# ページ遷移、このページからスクレイピングスタート
# 「MLの名前」の部分は必要に応じて変えること
res = session.get("https://www.freeml.com/MLの名前/" + str(startNum))
res.raise_for_status()

#ループ、スクレイピングページ数指定
for i in range(0, dlNum):
title = BeautifulSoup(res.text, "html5lib").select(".mlc_text_14 > span")[0].string #タイトル取得
title = re.sub(r'[\\|/|:|?|.|"|<|>|\|*|\n|]', '-', str(title)) #ファイルネームに使えない文字列を除去

dateAndTime = BeautifulSoup(res.text, "html5lib").select(".table_bg > table > tbody > tr")[2].td.string
dateAndTime = re.sub(r'[\\|/|:|?|.|"|<|>|\|]', '-', str(dateAndTime)) #ファイルネームに使えない文字列を除去

mailNum = BeautifulSoup(res.text, "html5lib").select(".table_bg > table > tbody > tr")[3].td.string
mailNum = re.search('([0-9]+)', mailNum)[0]
contents = BeautifulSoup(res.text, "html5lib").select(".mlc_text_area1")[0].p #.stringを使うと上手く処理されないため正規表現を使用
contents = re.sub(r'<[^>]*?>', '', str(contents)) #正規表現によりタグを削除
print(str(dateAndTime) + "  " + str(title) + "  " + str(mailNum))
f = open(str(dlFolder) + str(dateAndTime) + "  " + str(title) + "  " + str(mailNum) + ".txt", "w") # 書き込みモードで開く

#環境依存文字に対応
contents = contents.replace('\ufffd', '1')

f.write(str(contents)) # 引数の文字列をファイルに書き込む
f.close() # ファイルを閉じる
nextUrl = BeautifulSoup(res.text, "html5lib").select(".mlc_link_area2 > .link_right")[1].a.attrs["href"]
# ページ遷移
res = session.get("https://www.freeml.com" + nextUrl)
res.raise_for_status()

# 10回ごとに2秒スリープ、サーバー負荷を軽減
if i % 10 == 0:
time.sleep(2)
__ここまで__


過去のMLを遡って解析する機会があったので組んでみました。
何かの活動でMLを使用している場合、それを遡ることで今までの流れや工夫に気づくことができると思います。
ぜひ活用してください。

もう迷わない!パソコン内のデータ管理方法

フォルダ管理に悩んでいる人は必見!
Windowsのある機能を利用するだけで簡単にファイル管理ができるようになります。


初めに、さまざまなサイトや雑誌でパソコン内のデータ(フォルダ)管理方法について紹介されていますが、要点をまとめると次の様になっている。
・データフォルダの階層を深くしすぎない
・定期的な断捨離
・フォルダに日付を必ずつける

これを意訳すると以下の通りになる。


・階層の深いフォルダは探せないから階層はできるだけ浅くしろ
・昔のファイルが邪魔して今のファイルが探しにくいから片付けろ
・人間の記憶は時系列に従って保存さてるからそれに合わせろ

…これではそのままだが。


今回、今あるPC環境(Windows10)のままでこれらを実現する方法を考案した。
まずは以下に用意したフォルダ構成のサンプルをご覧いただきたい。

----- ここからフォルダ構成 -----

マイドキュメント(皆さんが保存したい場所)
┣2017年度 (検索用フォルダ1)
┃ ┣仕事
┃ ┣ピアノ
┃ ┣プログラミング
┃ ・ ┣Python
┃ ・ ┗VBA

┣2016年度 (検索用フォルダ2)
┃ ┣仕事
┃ ┣ピアノ
・ ・
・ ・

┣総合 (検索用フォルダ0)
┃ ┣17~12 演奏会
・ ・
・ ・

┣データフォルダ (データフォルダ、基本的なデータはすべてここに保存する)
┃ ┣171204 プログラミング練習2 Python
┃ ┣171010 Hello world VBA
┃ ┣170909 演奏会 ピアノ
┃ ┣170101 プログラミング練習1 Python
┃ ┣161212 Hello world Python
┃ ┣160909 演奏会 ピアノ
・ ・
・ ・

┗バックアップフォルダ (「データフォルダ」の形式で扱えないファイルをこちらに保存)
  ┣音楽
  ┣Studio One
  ┗VisualStudio

----- ここまでフォルダ構成 -----

それでは順番に説明していこう
まず、「2017年」、「2016年」、「総合」の3つは”検索用フォルダ”だ。

図:データフォルダにてPythonのタグのついたフォルダを検索した画面










ここで、子フォルダを検索しないように「現在のフォルダー」を選択した状態で「検索条件を保存」をクリックすると検索用フォルダを作成することができます。(※データファイルの場所を移動すると検索条件が変わってしまうため作り直す必要がある、このファイルはXML形式で記述されており、Saved Search File Formatから仕様を確認できる)

これで「2017年」フォルダから「データフォルダ」内の「Python」タグのついた2017年のフォルダすべてを簡単に検索することができる。

図:「2017年」フォルダ内


図:上のPythonフォルダをクリックしたところ、通常のフォルダを開くのと同じ感覚で「データフォルダ」内を検索できることがわかる



同様に、「総合」フォルダでは、検索条件を変えることで年を跨いで検索をかけることができる。
「2017年」、「2016年」、「総合」の3つの”検索用フォルダ”は直接データを保存しないものの、このように、保存されたデータへワンクリックでアクセスすることができる。


続いて、データフォルダだ。
もうお気づきかもしれないが、このデータフォルダの特徴はあらゆる種類のファイルを一元的にフラットに管理できることだ。
個々のデータフォルダの名前は「日付 名前 タグ」で構成される。
ここで、いくつもの関連項目があればタグは増やしても構わない。
(※Windowsのフォルダ名の文字数は最大255文字)
また、今のWindowsのフォルダ形式(NTFS)ではひとつのフォルダに理論上無限(HDDの容量上限)までフォルダを作成することが可能であるため、フォルダ数の上限は気にする必要がない。
イメージとしてはGooglePhotoのようなものが近いかもしれない。


最後に、バックアップフォルダだ。
これは上記の形式での保存に対応しきれないもののフォルダだ。
例えば音楽ファイルはiTunesやMediaGoなどの音楽管理ソフトが管理するし、Studio One(DTMソフト)では細かい保存先まで指定できない。Visual Studio(細かく保存先を指定できるが)などでファイル管理をソフトウェアに任せているものが挙げられる。


どうだっただろうか、この方法を使えば、日付での管理方法とフォルダ毎での管理方法のいいとこどりができる上に、次の年のフォルダを作るだけで毎年増えすぎて何が何だか分からなくなったフォルダの整理をする必要もない。
唯一タグ付けが面倒に感じるかもしれないが、逆にそれにだけ気を付ければあとには特別なファイル管理は必要ないのだ。
もし年末のデータ整理でファイルの管理が面倒になった方は参考にしていただきたい。

練習スケジュール作成ソフト Excelマクロ

はじめに

サークルや部活で練習スケジュールを作成して時間を管理したい。
そんな要望に応えるのがこのツールです。

エクセルのマクロを使用して、組み立てた練習日程をカラーで表示し
練習メニュー毎の時間も集計することができます。

実際にある練習に用いたサンプルを用意しました。
↓出来上がりの外観は以下のようになっています。

(Excel画面のスクリーンショット)


(PDF出力後ブログ掲載用に画像ファイルに変換)


主な機能

・スケジュールの自動描画
・講師入り時間入力
・備考欄
・総時間計算
・作成日表示
・バックアップ作成機能
・スケジュール表の開始時間と終了時間の変更
など



Excelファイルのダウンロード

GoogleDriveからダウンロードできます。


使い方

<スケジュール作成編>
1.「スケジュール入力」シートを選択し、サンプルに沿って入力します。


2.「スケジュール作成」ボタンをクリックします。
このとき、マクロが有効になってない場合はマクロを有効(ファイル->オプション->セキュリティ センター->セキュリティ センターの設定->マクロの設定 より変更可能)にしてください。

3.「スケジュール出力」シートを選択すると、既にスケジュールが作成されています。


<設定変更編>
1.「設定」シートを選択し、サンプルに沿って入力します。

設定では、練習内容の色設定、講師の色設定、描画時間範囲設定、完成時の横幅設定ができます。それぞれの用途に合わせて設定してください。

2.スケジュールを作成した際に設定が反映されます。


<バックアップ作成 編>
1.スケジュールが作成できたら、「スケジュール入力」シートを選択して、「バックアップ作成」ボタンをクリックします。

2.「20180114 171652(年月日時分秒 表記)」という名前の新しいシートが作成され、現在「スケジュール出力」シートに書かれている内容が書き込まれます。

2018年1月14日日曜日

年間カレンダー作成ソフト Excelマクロ

一年の始まり、カレンダーを使って年間の予定を立てたい...
なんて方もいると思います。
Excelのマクロを使って年間カレンダー(万年カレンダー)を自動で作成する
ツールを作ったので紹介していきたいと思います。

↓出来上がりの外観は以下の様になっています。
(Excel画面のスクリーンショット)
(PDF出力後ブログ掲載用に画像ファイルに変換)


主な機能

・カレンダー始めの年月の指定
・祝日の入力
・予定の入力
・バックアップ作成機能


Excelファイルのダウンロード

GoogleDriveよりダウンロードできます。


使い方

<カレンダー作成 編>
1.「設定入力」シートを選択してカレンダー開始年月と祝日を入力します。
祝日は日本の祝日カレンダーなどを利用すると良いでしょう。


2.「カレンダー作成」ボタンをクリックします。
このとき、マクロが有効になってない場合はマクロを有効(ファイル->オプション->セキュリティ センター->セキュリティ センターの設定->マクロの設定 より変更可能)にしてください。

3.「スケジュール出力」シートを選択すると、既にカレンダーが作成されています。


<スケジュール入力 編>
1.「<カレンダー作成 編>」を終えた後で、「スケジュール入力」シートを選択して、「内容」部分にスケジュールを入力します。


2.「スケジュール作成」ボタンをクリックします。

3.「スケジュール出力」シートにスケジュールが書き込まれます。


<バックアップ作成 編>
1.カレンダーが作成できたら、「スケジュール入力」シートを選択して、「バックアップ作成」ボタンをクリックします。

2.「20180114 171652(年月日時分秒 表記)」という名前の新しいシートが作成され、現在「スケジュール出力」シートに書かれている内容が書き込まれます。


2018年1月12日金曜日

疲れ目に!ホットアイマスク徹底検証

最近、パソコンでの作業が多かったため、疲れ目やそれによる視力の低下が感じられました。
その対策として、いくつかのホットアイマスクを試して、最強のホットアイマスクを決めるべく、比較検討してみました。


■エントリー1番:  蒸気でホットアイマスク


最近はじめて使用しましたが、目が疲れているときの使用に本当に効きます。感覚としては、血流が良くなって目全体の疲労が取れる感じ。就寝前に使うと次の日の朝に起きても目の調子が良い事に気が付きます。

メリット:
・効果は約10分程で丁度いい(気持ちいい)
・使い捨てで衛生的
・付け心地◎

デメリット:
・使い捨てのため、高い


■エントリー2番:  あずきのチカラ

あずきのチカラ目もと用
あずきのチカラ目もと用
posted with amazlet at 18.01.11
桐灰化学
売り上げランキング: 1,483

メリット:
・適度な重みが◎
・何度も使えて経済的

デメリット:
・レンジでチンが面倒
・時間が5分と短い


■エントリー3番:  電気アイマスク


メリット:
・USBから電気を取るので繰り返し使える◎
・温める時間が15分と30分で選べる
(自分が買った時には15、30分でしたが、今Amazonで売っているものはさらに改良が加えられている様です。)

デメリット:
・コードが邪魔
・ラベンダーの香りがキツイ
(他の方のレビューを見ると新しい製品では改善されていそうです。)


■結論

全く個人的な見解ですが、着け心地だけを考えれば「蒸気でホットアイマスク」に軍配があがります。
しかし、経済性と加熱時間を考えると最近のUSBアイマスクの性能が一歩二歩勝っています。
まずは蒸気でホットアイマスクを試してみて、ホットアイマスクで目の疲れを取ることに魅力を感じた方はUSBホットアイマスクを検討してはいかがでしょうか?