Translate

2022年3月30日

ウォーキングベースを学ぶなら譜面が読めるようになろう(♯と♭との戦い)

♭6個と♯6個のキーは?

象と散歩: ウォーキングベースを始めるときに、買うべき2冊の教則本の「譜面を読めるようになろうと」の中でベースの開放弦を中心に譜面上のどの音に当てはまるかを意識していると読譜ができるようになると書きました。

とは言ったものの、♯(シャープ)や♭(フラット)がたくさんある譜面を見ると気持ち悪くなってしまいます。

しかし、どうして♯や♭が付くのかという理由が理解できたら恐怖心が薄らぎました。

♯♭らと戦う術を覚えましょう。


メジャースケールとマイナースケール

♯(シャープ)や♭(フラット)について整理をする前に、まずは、基本となるメジャー・スケルとナチュラル・マイナー・スケール(以降、マイナー・スケール)についてです。

メジャースケールとは、よく耳にする ♪ドレミファソラシド♪ の音の並びです。

記号英語日本語
RRoot完全1度
M2Major 2nd長2度
M3Major 3rd長3度
P4Perfect 4th完全4度
P5Perfect 5th完全5度
M6Major 6th長6度
M7Major 7th長7度
OctOctarve完全8度

ベースの指板でのスケールは下記にようになります。

メジャースケール

また、マイナースケールは、3度,6度,7度 が半音下がった ♪ドレミ♭ファソラ♭シ♭ド♪ という音の並び順です。

記号英語日本語
RRoot完全1度
M2Major 2nd長2度
♭3Minor 3rd短3度
P4Perfect 4th完全4度
P5Perfect 5th完全5度
♭6Minor 6th短6度
♭7Minor 7th短7度
OctOctarve完全8度

ベースの指板では、こんな感じです。

マイナースケール

最初の音をCから半音づつ上げていくと、CからBまで12パターンの ♪ドレミファソラシド♪ があります。

下表はメジャースケールの ♪ドレミファソラシド♪ です。

KeyRM2M3P4P5M6M7
CCDEFGAB
D♭D♭E♭FG♭A♭B♭C
DDEF♯GABC♯
E♭E♭FGA♭B♭CD
EEF♯G♯ABC♯D♯
FFGAB♭CDE
G♭G♭A♭B♭C♭D♭E♭F
GGABCDEF♯
A♭A♭B♭CD♭E♭FG
AABC♯DEF♯G♯
B♭B♭CDE♭FGA
BBC♯D♯EF♯G♯A♯

この表は、フラットを基準に書いていますが、D♭=C♯、E♭=D♯、G♭=F♯、A♭=G♯、B♭=A♯なのでシャープで書くこともできます。ただしKey=G♯とは言わないので、この場合はA♭を使います。理由については後述します。

このフラットとシャープの両方の呼び方があるのは、ピアノの黒鍵部分に対してです。

ピアノ鍵盤

マイナースケールについては割愛しますが、この12パターンのうちどれを使っているかが、曲のキーとなります。

またCメジャースケール以外では、フラットとシャープが使われているのは分かりました。しかし、上表ではフラットとシャープが無秩序に出現していて、法則性が見出せません。

次は、この法則性について整理していきます。


だから調号というのか

五線譜の先頭に付く、♯記号と♭記号を調号(ちょうごう)と言いますが、むかーし、音楽の時間に「♯がひとつ付いているのは、ト長調/ホ短調」と習った記憶があります。

調号は英語で Key Signature ですが、調とはキー(Key)のことで、ト=G、長調=メジャーです。そして、ホ=E、短調=マイナー なので ♯ がひとつのキーはG/Emのことだったと、今更ながら繋がりました。

下記は、Key=G の ♪ドレミファソラシド♪ です。

Gメジャースケール

そしてこちらが、Key=Em の ♪ドレミ♭ファソラ♭シ♭ド♪ です。

Emスケール

Key=G/Key=Emでは必ずFに♯が付くので、毎回♯をつけるのではなく、へ音記号の右隣のFの位置に♯記号を付けます。(下譜面は Key=G)

調号(Key=G)

調合の付与ルールとキー

調合を書く場所は決まっていて、 ♯♭共に1-7個まであります。

こちらが♯の一覧。Keyの左がメジャースケールで右がマイナースケールです。#の位置はKeyのダイアトニックスケールの7番目の音が追加されていきます。Key=GならGABCDEF♯です。

Key♯個数調号♯位置
C/Am0
G/Em1F
D/Bm2F,C
A/F♯m3F,C,G
E/C♯m4F,C,G,D
B/G♯m5F,C,G,D,A
F♯/D♯m6F,C,G,D,A,E
C♯/A♯m7F,C,G,D,A,E,B

そして下記が♭の一覧となります。♭の位置はKeyのダイアトニックスケールの4番目の音が追加されていきます。Key=FならFGAB♭CDEFとなります。

Key♭個数調号♭位置
C/Am0
F/Dm1B
B♭/Gm2B,E
E♭/Cm3B,E,A
A♭/Fm4B,E,A,D
D♭/B♭m5B,E,A,D,G
G♭/E♭m6B,E,A,D,G,C
C♭/A♭m7B,E,A,D,G,C,F

「ん、12パターンしかないのに、調号が付かないのを含めて15パターンある」

よく見ると15パターン(1+7+7)の中で、♯、♭が5個以上付く6パターンは、♯と♭の違いはありますが、同じ音です。

メジャーキーでいうと下記の3組(6パターン)です、

  • B(♯5個) / C♭(♭7個)
  • F♯(♯6個) / G♭(♭6個)
  • C♯(♯7個) / D♭(♭5個)

です。

C♭はBのことなので♭を敢えて7個付ける必要はなく、Key=Bとした方が分かりやすい。また、C♯とD♭は、♯が7個のC♯より、♭が5個のD♭の方がスッキリします。

やっかいなのは、F♯とG♭です。♯、♭共に6個です。ベーシストにとっては、違いがないように思えますが、勢いで購入してした Ray Brown's Bass Method のスケール練習では、B、F♯、D♭ が使われています。

意味があって使い分けをしているのでしょうか。。。


Circle of Fifth(五度圏)

♯(シャープ)がひとつづつ増えていく、メジャースケールのキーのC,G,D,Aってベースの弦でも馴染みがある並び順です。

ベースで5度上の音を考える

ルートと5度で弾くときに、1弦下の(太い)弦の同じ位置で弾いても5度上になります。

Cの5度の上はG、Gの5度上はD、Dの5度上はAです。

また♭が増えていく、C,F,B♭,E♭の並び順は、1弦上の(細い)弦の同じ位置にある4度上の音になります。

ベースで4度上の音を考える

ベースの弦の並びと譜面が関連付けられてくると五線譜も愛おしくなってきます。

五線譜に♭が5つあっても慌てずに、ベースの指板を見ながら C,F,B♭,E♭,A♭,D♭と数えていけば、Key=D♭と分かりますし、使われる音はDメジャースケールなので、下図のR(ルート)がDから始まるスケールになります。

メジャースケール

ちなみにこの5度上がる、4度上がる(5度下がる)循環は、Circle of Fifthといって、右回りはCから5度づつ上がっていき、左回りは5度づつ下がって(4度づつ上がって)いきます。

Circle of Fifth(五度圏)

上図はメジャースケールで書いていますが、マイナースケールのキーでも同じです。

この図でもわかるように下の3つはフラットとシャープがダブっている部分となります。


メジャー・キーにG♯がない理由

Circle of Fifth の図を自分で書いてみて、メジャーキーでは、G♯ではなくA♭が使われる理由が分かりました。

理論上は右回りに行くとC♯の5度上がG♯になります。しかし、C♯には♯が7個付いているので、G♯になると♯が8個になってしまいます。


メージャーキーとマイナーキーの関係

メジャースケールを中心に説明してきましたが、次は、メジャー・キーとマイナー・キーの関係ついて説明します。

♯がひとつならば、キーはGかEmですが、これはGとEmのスケールが同じ構成音だからです。

Key=G/Em

この同じ調号でのメジャーキーとマイナーキーの関係を平行調といいます。

この関係をベースの指板で表すと数のようになります。

ベースで平行調を考える

平行調は英語では、Relative Key ですが、ベースの弦で考えると平行調と納得できます。

このベースの指板上での関係を覚えておけば、調号が♯ひとつの場合、メジャースケールならCの1弦上のG、マイナースケールなら1弦上の2フレット高いAmと確認することができます。


やっぱり基本はこの2冊

ウォーキングベースを学ぶために購入した

ですが、この2冊を通じて、音楽理論の基礎が理解でき、徐々に譜面も読めるようになってきました。

例えば下記の譜面

Key=B♭のツーファイブ

調合を見て、Key=B♭ だということがわかり、Cm7→F7→B♭の流れは、Jazzの4度進行の定石であるツーファイブ(IIm7→Ⅴ7→Ⅰ)が使われているということが分かります。

TAB譜をみながら弾くだけでは理解できなかった世界が広がりました。

本を読むだけでなく、ベースを弾く時間も作らなくちゃと反省する今日この頃です、、、。

2022年3月19日

ウォーキングベースを始めるときに、買うべき2冊の教則本

Fender Jazz Bass

Jazzのウォーキングベースラインって、とってもカッコいい。

象と散歩: Echo sub で立体音響+低音を楽しむ で紹介したEcho Subでは、ベースの低音を気持ちよく響かせてくれます。

Alexa, レイ・ブラウン・トリオの楽曲をかけて

で、心地よいウォーキングベースラインに浸れます。

聴くだけではなく

「弾いてみたい!」

でも、パターン化されてないないのでコピーも大変そう。ラインをどのように組み立てているのかもわからないし、初心者にはかなりハードルが高そうです。


ウォーキングベースとは

ウォーキングベースとは、

コード進行の流れの中を歩くように四分音符でリズムを刻むベースラインです。

レイ・ブラウンのベースワークが堪能できる The Junior Mance Trio のアルバム JUNIOR から "Miss Jackie's Delight" を聴いてみてください。

次は、Miles Davis の "So What" です。Dm7とE♭m7とたった2つのコードの中を自由に歩き回るポールチェンバースのベースラインは華麗です。

Miss Jackie's Delight は F Blues、So Whatは、Dorian Mode を基本として組み立てられているベースラインのようですが、そう言われても???です。

ウォーキングベースラインを習得するには、コード、スケールの構成音といった音楽理論を学ばなければならないようです。


ウォーキングベースの学び方

学びにはゴール設定が必要です。

Ray Brown や Paul Chambers のようにとはいかなくても、

1年後に、コード進行を見ながら、自分なりの Walking Bass Line を組み立てられる

というのが目標です。


ウォーキングベースラインの教則本

初心者向けのよい教則本がないかと探しましたが、そもそもウォーキングベースに関する教則本は少なく、特に初心者でも理解できるものというのが限られています。

体系的に学べる教則本を探して、

の2冊を購入しましたが、"1週間" と "3年" と随分と習得するまでの期間が違います、、、。


1週間で完全習得! ウォーキング・ベース超入門

「1週間で完全習得! ウォーキング・ベース超入門」は、超入門とありますが、流石に初心者は1週間では習得できません。この教則本で3ヶ月ぐらいを過ごしました。

  • ルート、5度、3度、7度といったコード構成音
  • ツーファイブ
  • クロマチック

と、ウォーキングベースラインの基本中の基本をわかりやすく学べます。

基礎的な音楽理論を理解するためには、TAB譜は極力見ないようにすることをオススメします。五線譜を見ながらベースの指板での位置を意識すると、理論とベースのポジションを連動させて理解することができます。

この本であればベースの指板も掲載されているので、「どの弦」で弾くのかは確認ができるので、TAB譜の下にある「どの指」で弾いているのかだけを見ます。

基本的なことは、この教則本で学べますが、ウォーキング・ベースを弾くには、

  • キー
  • コードの機能と役割
  • コード進行のルール
  • 各コードに適応するコードスケール

について学ぶ必要があると「おわりに」で記載されています。

さらなる鍛錬が必要です。


3年後、確実にジャズ・ベースが弾ける練習法

「3年後、確実にジャズ・ベースが弾ける練習法」は、ウォーキング・ベース超入門で基礎的なことを理解してから2冊目としてオススメです。いきなりこの教則本からだと3日で断念してしまうかもしれません。

  • インターバル
  • コード
  • スケール
  • ツーファイブ
  • クロマチック
  • ブルース
  • モード

について学べます(まだ途中なので学べるはずです)。確かにこれを3年練習すればウォーキング・ベースが弾けるようになる気がします。


音符を読めるようになろう

ウォーキングベースを学ぶ機会にTAB譜ではなく、五線譜を読めるようになりましょう。

最初は難しそうに思えますが、ベースは単音なので慣れれば難しくはありません。ウォーキング・ベース超入門を練習した3ヶ月間で何となく読譜ができるようになりました。


へ音記号

ベースの五線譜はヘ音記号で書かれています。へ音記号は英語ではF clef(エフ クレフ)です。

ヘ音記号とは、日本語の音階ではへの音(ファ)の位置を表す記号です。英語の音階表記ではFの音です。ヘ音記号は、五線譜の上から2番目の音がファ(F)ということを表しています。

ファ
CDEFGAB

五線譜とベースのマッチング

では、ベースの弦で五線譜を確認していきましょう。

4弦ベースの開放弦の音は、E(4弦)、A(3弦)、D(2弦)、G(1弦)です。

最初の2小節で開放弦とオクターブ上の関係を譜面と照らし合わせています。1弦開放弦のGの一オクターブ上は、1弦12フレットですが、オクターブ下の4弦3フレットにしています。

3-4小節は、開放弦にはない F(ファ)C(ド) B(シ)の3つの音のオクターブです。

こうやって整理をすると五線譜も怖くなくなります。あとは♭があれば1フレット下を、♯があれば1フレット上を弾けばいいだけです。

上記に慣れたら、同じ音程の音をひとつ下(太い)の弦と2つ下の弦で探してみます。

例えば1弦開放弦のGは、2弦5フレット、3弦10フレットと同じですし、2弦開放弦のDは、3弦5フレット、4弦10フレットでも同じです。同じ音程なのに響の違いがあることが感じられます。


憧れのEUB

ウォーキングベースを学ぶなら、EUB(エレクトリック・アップライト・ベース)が欲しいところです。

Hallstatt(ハルシュタット)のアップライトベースなら安価です。WBSE-1000ならカメラ用のスタンドを取り付けて自立させることも可能です。

しかし、エレキベースしか経験がないので、Ibanez UB-804, NS Design NXT4a のようにエレキベースと同じ34インチのスケールでポジションがあり、弦高が低いタイプの方がいいのでしょうか。

物欲の神様、教えてください。

2022年3月6日

GASでExcelをGoogleスプレッドシートに変換する

ゾウでもわかる Google Apps Script

ExcelファイルのデータをGASで処理するには、GoogleDrive上でExcelファイルを開いてGoogleスプレッドシートで保存する必要があります。

ExcelをGoogleスプレッドシートとして保存

小さなExcelファイルなら上記の方法でも構いませんが、大きなExcelファイルだと ”Googleスプレッドシートとして保存” で時間がかかりすぎて保存できない、、、。

また複数ファイルがあるときは一括変換できれば楽ちんです。

ということで、GASでExcelファイルをGoogleスプレッドシートに変換する2つの方法について説明します。

  1. Excelファイルを指定してスプレッドシートに変換する
  2. フォルダにあるExcelファイルを一括変換する

Excel to Google Sheets には Drive APIが必要

Google Apps Script でExcelファイルを開く場合には、Googleドライブのファイルやフォルダを操作できる DriveAppクラス を使います。

但し、そのまま、DriveAppのコードを書いて実行しても

エラー ReferenceError: Drive is not defined

と、実行できません。


Drive APIサービスを追加する

DriveAppクラスを使うためには、Apps Scriptエディターの左側のメニューにある「サービス」からDrive APIを追加する必要があります。

① サービスの右側にある+をクリック

サービスの追加

② 一覧から Drive API を選択して追加

Drive APIを選択

Drive APIが追加されると左メニューのサービスの下にDriveが表示されます。

サービスにDriveが追加

これで DriveAppクラスが利用できます。


Excelファイルを指定してスプレッドシートに変換する

Excelファイルを指定して、指定したフォルダにGoogleスプレッドシートを出力するサンプルコードとなります。

Excelファイルと出力先のフォルダはIDで指定します。


ExcelファイルとフォルダのID

GoogleドライブからExcelファイルを開いたURLのXXXXXの部分がIDとなります。

https://docs.google.com/spreadsheets/d/XXXXX/edit

ExcelのファイルID

GoogleドライブのフォルダIDは、XXXXXの部分がIDになります。

https://docs.google.com/drive/u/0/folder/XXXXX

フォルダID


サンプルコード(Excelファイル指定)

上記で説明したExcelファイルと出力先のフォルダのIDを指定する、簡単なサンプルコードです。

12行目で取得したExcelファイル名を13行目でログに出力していますが、変換したGoogleスプレッドシート名も同じファイル名にしています。

function convertExcel()  {
  //変換するExcelファイル
  let excelFileId = 'XXXXX'

  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  //ExcelファイルをファイルIDで取得
  var excelFile = DriveApp.getFileById(excelFileId)

  //Excelファイル名取得
  var fileName = excelFile.getName()
  Logger.log(fileName)

  var option =  {
    mimeType:MimeType.GOOGLE_SHEETS,   //Google sheets
    parents:[{id:destFolderId}],                       //出力先フォルダー
    title:fileName                                          //出力先ファイル名
  }
  Drive.Files.insert(option,excelFile)
}

20行目の

Drive.Files.insert(option,excelFile)

で、変換を実施していますが、15〜19行目のオプションで、

  • MIMEタイプ
  • 出力先フォルダー
  • 出力先ファイル名

を指定しています。

スプレッドシートへの変換なのでMIMEタイプをGOOGLE_SHEETSとしていますが、Enum MimeType | Apps Script | Google Developers に全てのMIMEタイプが記載されています。


変換後に処理を続ける

Googleスプレッドシートに変換してから、そのままシートをGAS処理する場合には、20行目からを下記のように変更してください。

取得したシート名をログに出力する簡単なサンプルです。

function convertExcel()  {
  //変換するExcelファイル
  let excelFileId = 'XXXXX'

  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  //ExcelファイルをファイルIDで取得
  var excelFile = DriveApp.getFileById(excelFileId)

  //Excelファイル名取得
  var fileName = excelFile.getName()
  Logger.log(fileName)

  var option =  {
    mimeType:MimeType.GOOGLE_SHEETS,   //Google sheets
    parents:[{id:destFolderId}],                       //出力先フォルダー
    title:fileName                                          //出力先ファイル名
  }
  var sheetObj = Drive.Files.insert(option,excelFile)

  //スプレッドシートIDを使って、スプレッドシートオブジェクトを取得
  var sheet = SpreadsheetApp.openById(sheetObj.id).getActiveSheet()
  Logger.log(sheet.getName())  
}

変換したスプレッドシートにシートが複数ある場合には、getSheetByName() でシート名を指定します。


フォルダにあるExcelファイルを一括変換する

次は、フォルダにある複数のExcelファイルを一括でGoogleスプレッドシートに変換する方法です。

フォルダにExcelファイル以外がある場合には処理されないようにしています。

function convertExcels() {
  //Excelがあるフォルダ
  let sourceFolderId = 'XXXXX'
  //スプレッドシート出力先フォルダー
  let destFolderId = 'XXXXX'

  // フォルダ配下のファイルを取得
  var sourceFolder = DriveApp.getFolderById(sourceFolderId)
  var folderFiles  = sourceFolder.getFiles()

  // Excelファイルをイテレートして順にスプレッドシートに変換
  while(folderFiles.hasNext()) {
    var file = folderFiles.next()
    //Excelファイルの判断   
    if (file.getMimeType() == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')  {
      var fileName  = file.getName()
      Logger.log(fileName)
      Logger.log(file.getMimeType())
      var option =  {
        mimeType:MimeType.GOOGLE_SHEETS,  //Google sheets
        parents:[{id:destFolderId}],      //出力先フォルダーを指定
        title:fileName                    //出力先ファイル名
      }
      Drive.Files.insert(option,file)
    }
  }
}

フォルダにあるファイル一覧を取得しているのが、8〜9行目です。

そして、12行目の while文のhasNext() で13行目の next()で取得したファイル一覧から取り出せるファイルが残っているかを調べて、順番にファイルを処理していきます。

Excelファイルだけを変換するために、取り出したファイルがEXCELファイルかを15行目で調べています。

18行目でgetMimeType()でファイルのMIMEタイプを出力していますが、application/vnd.openxmlformats-officedocument.spreadsheetml.sheet が、拡張子xlsのExcelファイルとなります。

アクセス上位(過去7日間)