人気ブログランキング |

python2.7 プログラミング作法

python プログラミング作法
 リストなど変数に代入するのは、参照のコピーでしかない。
 これは、関数、メソッドの呼び出しで引数を渡すのも同じこと。
 渡したつもりで、参照がコピーされただけなので、メソッドの中で引数が変化すれば参照元も変化して見える。
 これを知らなければ、
>>> a=[1,2,3]
>>> b=a
>>> b
[1, 2, 3]
>>> b[1]=11
>>> a
[1, 11, 3]
>>> b
[1, 11, 3]
>>>

 という、不可解な現象に悩むことになる。
 これは、bには、aから[1,2,3]への参照と同じ参照が渡されるだけだからだ。
 これだけ見ると、どうしてこうゆう仕様になっているのか不思議だが、メソッドの引数渡しでもこの動きはあって、
def func_a(rec):

rec[1]=22

a=[1,2,3]
print a
func_a(a)
print a

ーーーー
[1, 2, 3]
[1, 22, 3]

 からわかるとおり、メソッドの受け取った引数recはローカル変数かと思いきや、参照しか渡されていないので、メソッドの中で引数を変更すると、メインルーチン側でも変数が変化していることがわかる。

 そうすると、メソッドと上位ルーチン間での引数、リターン値のやり取り方法にいくつか方法が考えられる。
import time

def func_a(rec):

rec[1]=rec[1]+1
return rec

def func_b(rec):
rec2 = rec[:]
rec2[1]=rec2[1]+1
return rec2

def func_c(rec):

rec[1]=rec[1]+1

def func_d():

rec[1]=rec[1]+1

# way 1
start = time.time()
a=[1,2,3]
for i in range (int(1e6)):
r=func_a(a)
r1=func_a(r)
r2=func_a(r1)
print r2
stop = time.time()
elapsed= (stop - start) * 1e3
print ("elapsed_time:{0}".format(elapsed) + "[ms]")

# way 2
start = time.time()
a=[1,2,3]
for i in range (int(1e6)):
r2=func_a(func_a(func_a(a)))
print r2
stop = time.time()
elapsed= (stop - start) * 1e3
print ("elapsed_time:{0}".format(elapsed) + "[ms]")

# way 2-1
start = time.time()
a=[1,2,3]
for i in range (int(1e6)):
r2=func_b(func_b(func_b(a)))
a=r2
print r2
stop = time.time()
elapsed= (stop - start) * 1e3
print ("elapsed_time:{0}".format(elapsed) + "[ms]")

# way 3
start = time.time()
a=[1,2,3]
for i in range (int(1e6)):
func_c(a)
func_c(a)
func_c(a)

print a
stop = time.time()
elapsed= (stop - start) * 1e3
print ("elapsed_time:{0}".format(elapsed) + "[ms]")

# way 4
start = time.time()
rec=[1,2,3]
for i in range (int(1e6)):
func_d()
func_d()
func_d()

print rec
stop = time.time()
elapsed= (stop - start) * 1e3
print ("elapsed_time:{0}".format(elapsed) + "[ms]")



結果
[1, 3000002, 3]
elapsed_time:1574.20301437[ms]
[1, 3000002, 3]
elapsed_time:1273.03004265[ms]
[1, 3000002, 3]
elapsed_time:2094.46501732[ms]
[1, 3000002, 3]
elapsed_time:1342.04602242[ms]
[1, 3000002, 3]
elapsed_time:1299.40485954[ms]

 一番早いのは、way4の、グローバル変数をメソッドの中でそのまま変更する方法。
 だがこれは何やってるのかソースの可読性が悪い。
 一番遅いのは、way2-1のループの中に代入がある方法。
 普通は、way1の、引数とリターンを使う方法。

 以上で分かるように、出来るだけ、値のコピーをしないほうが速度が向上する。
 
 pythonの解析サイトで、「代入が参照なので、気をつけるように」というのはよく解説されていることだが、どうしてそうなっているのかの理由まで言及しているところが見当たらない。
 現象としては、「代入文の右辺が左辺に影響される」という現象がよく言われるのだが、実はこれは副作用ではないかと思う。
 やりたかったのは、メソッドへの引数をコピーなしに渡したい、ということではなかったかと思う。
 代入文で右辺が左辺に影響されるというのは、バグを誘発する要因でしかないが、メソッドへの引数がコピーなしに渡せるというのは思想だと思う。
 それだけに、その思想は理解しないと、変数のスコープが曖昧だというデメリットばかりが目にについてしまう。
 
 先ほどの実験でも、なるべく値のコピーを発生させないようなコーディングのほうが早いというのが見て取れた。
 引数渡しは、変数がグローバルかローカルかというのより上位の概念のようで、変数名にかかわりなく、参照がコピーされるだけだ。
 
 プログラミング作法としては、メソッドの中の引数は、ローカルではなくグローバルのつもりでアクセスすることが必要だし、必要ない中間の変数をやたらと生成しないようにするほうが良い。
 
 

# by studio_do | 2019-12-31 19:58 | 機械室から | Comments(0)

SAB JAM マンドリン編

2019年11月に逝去された、井上三郎氏が残された教則ビデオのうち、マンドリンの部を一覧にしました。 新しいものから古いものへと並んでいます。
|(52) Moonshiner Jam 201905 15 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of B - YouTube
|(52) Moonshiner Jam 201905 14 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of A - YouTube
|(52) Moonshiner Jam 201905 13 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G 通 - YouTube
|(52) Moonshiner Jam 201905 12 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G - YouTube
|(52) Moonshiner Jam 201905 11 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G - YouTube
|(52) Moonshiner Jam 201905 10 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G - YouTube
|(52) Moonshiner Jam 201905 09 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G - YouTube
|(52) Moonshiner Jam 201905 08 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of G - YouTube
|(52) Moonshiner Jam 201905 07 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 06 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 05 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 04 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 03 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 02 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) Key of D - YouTube
|(52) Moonshiner Jam 201905 01 How To Play Bluegrass #05 Will the Circle Be Unbroken (Mandolin) ごあいさつ - YouTube

# by studio_do | 2019-11-25 23:32 | 音楽 | Comments(0)

python2.7 treeviewを使ったsambaクライアント

linux on androidのchroot環境では、カーネルの改変がやりにくいため、cifsをインストールするなどカーネルをいじるインストールが困難。
ファイルシステムが追加できないので、sambaクライアントの実装が出来ない。
 
samba自体は、ただn通信プロトコルであって、pythonでモジュールがある。
あとは、ファイルブラウザを作れば、sambaクライアント程度は実装出来そう。
 
python2.7 treeviewを使ったsambaクライアント_d0010259_14582412.png
というこで、作ってみた。
pythonには、ttkモジュールにtreeviewウィジェットがあってファイル一覧が簡単に実現できる。
pythonのsambaには、
pysmb
pysmbc
の2つがある。 ここで使ったのは簡単な、pysmbcのほう。


# by studio_do | 2019-09-30 15:11 | 機械室から | Comments(0)

ギターのコードを考えるソフトを考えた

ギターのコードを考えるソフトを考えた_d0010259_07381200.pngギターの練習をするときに、コードの押さえ方を本を見て覚えるとか、押さえにくいコードを押さえられるように練習するとかすると思うのだが、それよりは押さえられるコードを自分で考えた方が役に立つ。
 
で、コードを考えるソフトを作ってみた。

Windows用であるが、開発はlinux/Python。
考えたいコードをクリックすると、使える音が仮想指板上に示されるので、「どこが押さえられるかな?」と考える。
考えたコードは、テキストファイルにして自分用のコードブックとして編集できる。
特徴的なのは、ダイアトニックモードであって、そのキーのダイアトニックコードを表示できる。
ジャズのややこしいコードが出てきたとき、「これはダイアトニックなのか、転調してるのか?」と悩む
のに使う。
ウクレレとか、テナーギター(ビオラ、テナーバンジョー、マンドセロ)、マンドリン、ドブロに対応しているので、マンドリンでジャズをやりたいときに、C6ってどう押さえるなどと悩むのにも使える。
 

ギターのコードを考えるソフトを考えた_d0010259_07382488.pngギターのコードを考えるソフトを考えた_d0010259_07381814.png

# by studio_do | 2019-07-05 07:51 | 音楽 | Comments(0)

初心者ギタリスト 右手が硬直する理由のいろいろ

練習ではちょっとはマシに弾けるんだけど、本番になると右手が硬直して震えてしまい、特に指弾きが出来ないという理由について経験から書いてみます。
 
普通はメンタルなものなので、リラックスすることを心がけよ、と言われてしまいますが、ある程度のメカニズムはあるもんです。
 
1)本番の時だけ、ズボンの右のポケットに財布が入っている。
 寝間着で練習している時と違って、本番ではズボンの右ポケットが何かで膨らんでいて、ギターの角度が寝かせ加減になってしまっているかもしれません。
 こうなると、右手の小指側の腱が緊張して、手が震えやすくなります。
 練習の時とギターの角度が同じかどうか確認しましょう。
 
2)右手の親指が、ニュートラルな位置に無い。
 右手の初期ポジションが4弦側にずれているなど原因で、親指を6弦に置くために、筋肉を使って指を6弦側に持ち上げる必要があった場合、緊張でその筋肉が暴れることがあります。
 そうなると、リラックスしては弾けなくなるので、右手のポジションを見直します。
 
3)右手のポジションを固定するために、薬指、小指を立ててボディや1弦に当てている場合。
 ピック弾きのとき、手首をブリッジにおく癖のひとが指引きをやろうとする場合、位置を固定するために小指などをボディに突き立てたり、1弦を小指で抱き込んだりして固定しようとすると、手の平の筋肉が緊張し、震えることがあります。
 特にアーチトップで顕著だと思います。
 
4)緊張している。
 失敗するんじゃないか?、この間は失敗したじゃないか。
というループに入り込むと、なかなか抜けだせません。
 リラックスすることが必要なので、リラックスした状態をホームポジションとして演奏が出来るように、ギターの位置、右手のポジションを見直します。
 
 結局、ギター系弦楽器の右手の基本である、
「手をブランブランとさせて、どこにも力を入れず、肘関節だけの力で、右手を弦の上に載せた形がホームポジション」というのを忠実に見直すことが必要です。
 これはピックでも指でも同じ。
 しっかりした音を出すのに、力強くピッキングするのは必要ですが、定常的にどこかが緊張しているのはよくありません。


# by studio_do | 2018-06-17 18:09 | 音楽 | Comments(0)

スマホ、タブレットのビデオカメラ マイク音量調節

androidのビデオカメラで大音量のライブを録画したい時、音が割れてしまうことがあります。
マイクの音量を下げたくても、なかなかやり方が分かりませんでしたが、こんな方法で実現できます。

ビデオカメラの裏でwifi経由のadb shellからalsa_mixerを設定します。

1.対象機のrootをとる。
 自己責任で。

2.alsa_mixerがあるかどうか調べる。 対象機の端末エミュレータ上で。。
shell@android:/ # find / -name alsa*
/system/lib/hw/alsa.audio_policy.rk101.so
/system/lib/hw/alsa.default.so
/system/lib/hw/alsa.audio.primary.rk101.so
/system/xbin/alsa_aplay
/system/xbin/alsa_ctl
/system/xbin/alsa_amixer  <-ありました。
 
 この端末エミュレータ上でalsa_mixerを設定しても、カメラが表に出るときに再設定されちゃいますので音量調整出来ません。

3.対象機のIPアドレスを調べる
iwconfig
ifconfig wlan0


4.USBケーブルで対象のandroidとつなぐ。
 →なにかdeviceを繋がないと、adbコマンドが効かないため。

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ adb tcpip 5555
restarting in TCP mode port: 5555
kodera@kodera-dynabook-Satellite-K33-220C-W:~$ adb connect 192.168.1.23:5555
connected to 192.168.1.23:5555

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ adb devices
List of devices attached
DCOKCT048632 device
192.168.1.23:5555 device

ここまで来たらUSBケーブルを抜いて大丈夫

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ adb shell
shell@android:/ $


5.音量設定
su
alsa_amixer sget ADC
 デフォルト値を調査
shell@android:/ # alsa_amixer sget ADC
Simple mixer control 'ADC',0
Capabilities: cvolume cswitch penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 127
Front Left: Capture 90 [71%] [161.25dB] [on]
Front Right: Capture 90 [71%] [161.25dB] [on]


alsa_amixer sset ADC 85,85
shell@android:/ # alsa_amixer sset ADC 85,85
Simple mixer control 'ADC',0
Capabilities: cvolume cswitch penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 127
Front Left: Capture 85 [67%] [142.50dB] [on]
Front Right: Capture 85 [67%] [142.50dB] [on]

これでやっと音量調整できました。
とっても大変。。。


# by studio_do | 2018-02-24 11:01 | 機械室から | Comments(0)

可変角度タブレットスタンドの自作

可変角度タブレットスタンドの自作_d0010259_21345499.jpg
8インチタブレット ASUS MemoPad HD8のスタンドを作りました。
 
タブレットスタンドは色々市販されてますけど、背中につっかい棒をして角度を維持するものがほとんど。
キーボードをつけてタイピングするときに、このタイプだと、膝の上や新幹線のテーブルなど平らでないところや奥行きの短いところでは使いにくいです。
 
普通のノートパソコンのように可変角度のヒンジを持ったものが欲しかったので作りました。
可変角度タブレットスタンドの自作_d0010259_21393739.jpg
 
材料は、100均のA4クリップボードです。
可変角度タブレットスタンドの自作_d0010259_21371658.jpg


これを、手持ちのbluetoothキーボードに合わせて、半分程度にカットし、クリップに針金ハンガーで適当に背もたれを作って重量バランスの当たりをつけます。
可変角度タブレットスタンドの自作_d0010259_21372710.jpg

大丈夫そうならヒンジ部の設計をします。
角度可変のヒンジには、トルクヒンジを使います。
トルクヒンジの選定には、ヒンジやさんの便利なツールがあります。



これにタブレットの短辺のサイズ、重さを入れると最適なヒンジを紹介してくれます。
僕は、紹介されたHG-MF25を2つ使いました。
これは、0.245Nm(一つ分)のトルク値です。
支えられる重さは、0.245/9.8=0.025kgを1mの腕の先にぶら下げられます。
 
短辺12cmのタブレットの重心位置6cmで支えられるのは、100/6を乗じて416gです。
実際の重さが370gなので、2つ使った上で安全率をかんがえるとこんなもんかな、という感じ。

可変角度タブレットスタンドの自作_d0010259_21400749.jpg


可変角度タブレットスタンドの自作_d0010259_21373519.jpg

こんな感じでネジ止めします。 干渉するビスは、ビスカッターで切断します。
可変角度タブレットスタンドの自作_d0010259_21361126.jpg
可変角度タブレットスタンドの自作_d0010259_21360165.jpg



ボードへのタブレットの固定は、M3ネジのスペーサなどで現物合わせで適当に。
可変角度タブレットスタンドの自作_d0010259_21333782.jpg
可変角度タブレットスタンドの自作_d0010259_21330734.jpg
こんな感じで角度可変が出来ます。




# by studio_do | 2017-11-10 22:22 | 機械室から | Comments(0)

Asus memo pad HD8でlinuxを使う

Asus memo pad HD8でlinuxを使う_d0010259_20452565.png
1.序章
 タブレットでlinuxを使うといえば、Debian norootがお手軽ですが、これはルート化不要なだけあって、例えばudevadmなどができません。
 一旦ルート化してしまったら、complete linux installerのほうが良いでしょう。
 こちらは本物のsuが効きます。 
 Asus Memopad HD8(ME180)にlinuxのデスクトップ環境を入れて日本語入出力ができるまでについて書きます。  

2.動作原理
 ubuntu 13.10などのimgファイルがダウンロードでき、losetupコマンドでそのimgファイルにファイルシステムが構築されます。
 マウントポイントを示して既存のディレクトリをいくつか入れ替えてubuntu、debianなどを動かしています。
 表示系は、android側でXserverアプリをインストールして127.0.0.1:0を通してネットワーク経由でXsarverを使います。 

3.ルート化
 iRootとか、KingRootなどのking系は、やめておきましょう。
 手軽にルート化できますが、ネット経由でどこかのサーバにつながってないとsuできない怪しいソフトです。
 僕はKey Root Masterを使いました。
 これは、無理やりインストールされるルート管理ソフトが怪しいだけで、これは無効にできます。
 そのあと、自分でルート管理ソフトを入れてください。
 ルート化は、自己責任で。 

4.complete linux installerのインストール
 ubuntu、debian、fadoraなどのいくつかのディストリビューションが示されますが、僕が使ったのはubuntu-13.10.LARGE.ext4です。
 SMALLでは空き容量が小さすぎ、LARGEのext2はzipが壊れてます。 
 Xserver XSDLもインストールしてください。
 ターミナルエミュレータは入ってますよね。
 comlete linux installerのデフォルトとしては、表示系にVNCを使うようになってますけど、DPIが合わなかったのでXserverを使ってます。
 これは、Debian norootでやってた方法なので雰囲気は同じです。 
 ダウンロードしたzipファイルを任意のディレクトリに解凍しておき、complete linux installerに教えます。
Asus memo pad HD8でlinuxを使う_d0010259_20363656.jpg
 SSLは使わないのなら不要。
 VNCは一応チェックを入れておきます。
 あとは、液晶のピクセルサイズを調べておきます。
 1280x736などですね。

5.起動
 先にXserver XDSLを起動しておき、そのあとで、complete linux installerを起動します。
 コマンドラインで、
# ext DISPLAY=127.0.0.1:0
# startkde
としておき、Xserver XDSLに画面を切り替えるとlinuxのデスクトップが出てくるはず。
 以降、ubuntu13.10のLARGEを前提にしますね。
Asus memo pad HD8でlinuxを使う_d0010259_20373331.jpg


6.初期設定
 デスクトップが起動するのがわかったら、Xserverは一旦終了しておき、端末エミュレータでしばらく作業します。

 レポジトリの書き換え
 このままでは、レポジトリが古くてapt-get updateができませんので、/etc/apt/sources.listを書き換えます。
 このソフトが制作された時期がだいぶ昔になってしまってパッケージがおいてあるサーバが変わってしまったので、接続先のサーバを書き換えます。
http://old-releases.ubuntu.com/ubuntuに2行とも書き換えてください。
 apt-get updateしてエラーがでなければOK。

 必要なパッケージをインストールしまくり
apt-get update
apt-get upgrade
apt-get install gedit
apt-get install fonts-vlgothic
 日本語入力は時代と共に主流が変わってますけど、僕はfcitx-mozcにしてます。
apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5
im-config -n fcitx

7.日本語環境の整備
 ここまでは、rootユーザで起動してます。
 rootのままでは、mozcサーバが起動しません。
 このディストリビューションでは、ubuntuというユーザが予め設定されてます。
 exitで終了させてから
Asus memo pad HD8でlinuxを使う_d0010259_20402785.jpg

 念の為、タブレット自体をリブートしてから、Xserverを起動、complete linux installerを起動し、loginでubuntuにログインしてから、同じように、
# ext DISPLAY=127.0.0.1:0
# startkdeで起動します。 
Asus memo pad HD8でlinuxを使う_d0010259_20391987.jpg
onfigurationをアプリケーションランチャーで起動します。
 Input Methodタブで、
english
mozc
の2行を登録してください。
Asus memo pad HD8でlinuxを使う_d0010259_20473417.png
 アプリケーションランチャーで、logoutして、端末エミュレータでexitしてrootからも抜けてから全部再起動。 
 ここまで来ると、日本語入力ができるはず。 
 ですが、ファイルマネージャやkonsoleでは日本語が見えないはず。
 ここで、ロケールを日本語に変更します。
 rootの端末のほうで、
apt-get install language-pack-ja
export LANG=ja_JP.UTF-8
update-locate LANG=ja_JP.UTF-8 
 もう一度タブレットごと再起動。
 これで、ファイルマネージャでもkonsoleでも日本語が見えるはず。

8.あると便利なソフト
apt-get install baobab
 ファイルシステムが特殊なので、dfが効きませんので、残り容量を調べるのは、baobabを使います。 

apt-get install software-center
 GUIで、ソフトを探すソフト。

apt-get install iceweasel
 firefoxのインストール。

まだできていないこと。
 ファイル拡張子とアプリケーションの関連付け。 タイムゾーンの設定。


# by studio_do | 2017-10-16 21:05 | 機械室から | Comments(0)

androidタブレットのGIMP inkscape

androidの画像系アプリで、GIMP inkscapeというアプリがあります。
これはlinux用の定番のドロー/ペイントのソフトです。
これがandroidに移植していあるんだー。。と感激していたら、なんとファイルサイズが300Mバイトもあります。
なんと、ソフト本体は、androidの上でもうひとつlinuxとXサーバを動かしてその上で動いてます。
 
androidの上で、xfceのデスクトップ環境が動いているわけですが、このデスクトップはGIMPなどのランチャーが本来の目的です。
ですが、一応xtermやファイルマネージャーも動いており、ある程度のことはできそうです。
 
xtermでは、なんとapt-get updateが動きます。
ソフトのインストールも楽にできそうです。

ロケールは、LANG=ja_JPで、一応日本語になっていて、デスクトップが日本語が表示されますが、残念ながら、xtermに漢字が表示されません。
まずはこれをなんとかしましょう。
androidタブレットのGIMP inkscape_d0010259_00594319.jpg
【xtermの日本語表示】
まず、xtermのランチャー設定を調べます。
アイコンの上で、右クリックですが、右クリックは指二本でタップです。

xterm -bg black -fg green -xrm 'XTerm*faceName: DroidSansMono' -xrm 'XTerm*faceSize: 10' -e /bin/bash -l

こんな感じになってます。
普通、xtermの設定変更というと、.Xresourceなどの設定ファイルをいじるようになっていますが、ここでは、ランチャーのコマンドラインで済ませているようです。

で、ここで設定されているDroidSansMonoに、漢字が含まれていないのが漢字が表示されない当たり前の理由です。
じゃ、これを日本語を含むフォント名に書き換えればいいのかというと、そうではなくて、
xterm -sb -bg black -fg green -xrm 'XTerm*faceName: DroidSansMono' -xrm 'XTerm*faceNameDoublesize: VL Gothic' -xrm 'XTerm*faceSize: 10' -e /bin/bash -l

などと、全角のフォントを別個に設定することが必要です。

どのフォントに漢字が含まれているかは、フォントビューワ代わりにgeditをインストールして見てみる手もあります。

apt-get install gedit
apt-get install fonts-vlgothic

ここでは毎度おなじみVLゴシックをインストールしました。

Root Terminalも要領は同じです。
androidタブレットのGIMP inkscape_d0010259_00590167.png
【日本語IMのインストール】
xtermで漢字が表示できるようになったら、日本語入力がしたくなります。
Root Terminalのほうで、
apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5
im-config -n fcitx

これで、再起動したら日本語入力できるはずです。
androidタブレットのGIMP inkscape_d0010259_00575066.png



# by studio_do | 2017-08-12 01:03 | 機械室から | Comments(0)

ブルーグラスプレーヤー

ブルーグラスで音楽を始めた僕ですが、しばらくぶりにブルーグラスのバンドに入れてもらいました。
しばらくぶり、の間には、ウェスタンスィングをやっていたり、バイオリントリオをやっていたり、エーギョーのブルーグラスをやっていたりしました。
 
ずっとブルーグラスをやり続けていたお友達のそのバンドで一緒に弾いてみて思ったのは、
「ブルーグラスだけやってても音楽が出来るようにはならんのではないか。」
ということです。
 
バンジョー、マンドリン、ギター、バイオリン、ドブロ、ベースという楽器構成がほぼ決まっていて、一応やることが決まっています。
どうやって何を弾くのか、を考えなくても音源のまねをすれば格好が付きます。
 
バンドとして何を表現したいのかがはっきりしないままでも、バンドが出来てしまうのです。
それはとっても問題だと思います。
 
ブルーグラスを演奏する前に、音楽を演奏しましょう。


# by studio_do | 2017-07-19 22:29 | 音楽 | Comments(0)