KORG MS-20で音作るよー その2

KORG MS-20で音作るよー その1の続き。
 
MS-20の魅力といえば、なんといってもパッチングですが、これを使いこなすにはそれなりに体系的な知識が必要です。以前にもMS-20のパッチングについて解説記事(その1その2)を書いたので詳しくはそちらを読んでみてください。
今回は簡単に丸暗記で使える定番パッチについて紹介します。
 
矩形波LFOをかける
デフォルトで三角波/ノコギリ波にになっているLFO矩形波にする方法です。

Download
 
■ノイズをまぜる
MS-20は2系統のVCOとは独立したノイズジェネレーターが2種類用意されています。単純にまぜるにはこんな感じ。

Download
 
LFOで音をトリガ
LFOの出力を打鍵信号代わりに入力する方法。鍵盤を押さなくても音が定期的に鳴り続けます。

 
■サンプル&ホールド
レトロフューチャーなランダム音を鳴らす定番パッチ。FREQUENCY MODULATIONのEG1/EXTで音程変化を設定します。

Download
  
■コントロールホイールを使う
MS-20はデフォルトではコントロールホイール(モジュレーションホイール)がまったく機能しません。パッチをつなぐことではじめて使えるようになります。以下の設定ではTOTALにつないでいるので、FREQUENCY MODULATIONやフィルターのMG/T.EXTノブでピッチやフィルターに対するかかり具合を設定できます。

 
■モーメンタリースイッチを使う
コントロールホイール同様にモーメンタリースイッチもパッチでつながないと機能しません。モーメンタリースイッチをEG1のTRIG INに、EG1の出力をTOTALにつなぐと、スイッチを押したときにEG1のエンベロープに従ってピッチやフィルターを制御できます。かかり具合はMG/T.EXTノブで設定します。

 
■EG1のエンベロープを反転させる
EG1は打鍵したらピッチが上がりますが、EG1の反転信号をつなぐとピッチが下がるカーブになります。

 
■ディレイビブラート
これも定番パッチ。EG1のDELAY TIMEでビブラートがかかるまでの時間、FREQUENCY MODULATIONのEG1/EXTでビブラートの深さを設定します。当時としてはこういったエモーショナルな音が作れるシンセとしてMS-20は貴重でした。

 
そんなわけでMS-20 miniの発売が待ち遠しいですね。
 
関連記事
2010-12-20 KORG MS-20パッチパネル操作完全マスター
2010-12-31 KORG MS-20パッチパネル操作完全マスター(その2)
KORG MS-20で音作るよー その1
 



KORG iMS-20公式パーフェクトガイド

KORG iMS-20公式パーフェクトガイド

KORG MS-20で音作るよー その1

近頃の若いもんはアナログシンセの音作りの基本を知らなくてけしからん、と思ったりします。まあそれも無理もないことで、昔はYAMAHA CS01やRoland SH-101のような入門者用のシンプルなシンセがありましたが、最近のシンセはパラメータが複雑で、多彩な音が作れる反面使いこなすには難しいものが多い気がします。
 
そんなわけでまもなく発売されるMS-20 mini。シンプルなわりに音作りの幅が広くとてもバランスの良いシンセです。とはいえ、これもでたらめに触るだけではなかなか使いこなせないと思うので簡単に解説してみます。(画像と音はソフトシンセ版のLegacy Collectionを元にしています)
 
■基本設定
とりあえず基本の設定。パッチはなにもせず、フィルターも全開です。最初はここから2個のオシレーター(VCO)とエンベロープ・ジェネレーター(EG)だけを使ってみるとわかりやすいと思います。EGのうち、HOLD TIMEはキーボードを短く叩いたときでも一定時間押しているような効果を得るパラメータですが、慣れないうちはこれを使わずにADSRだけでも大丈夫です。

こんな感じの味気ない音が出ます。
Download
 
■VCO + EG
上の基本設定からVCOとEGの部分だけを使ってたとえばこんな感じの音を作れます。アナログシンセらしい太い低音でノコギリ波を鳴らすとそれだけで存在感がありますね。VCO2のピッチをわずかにずらして広がりを出しています。

Download
 
次に低めの矩形波と2オクターブ上の矩形波を組み合わせたリード音。少しポルタメントをかけると良い感じです。ミニモーグが登場した頃、それまでの楽器の何にも似ておらず、かつどこかで聞いたような親しみのあるこの手の音色が流行りました。

Download
 
■フィルター
次にフィルターを使ってみます。MS-20にはHPFとLPFが搭載されていますが、シンセらしい音を手っ取り早く作るにはHPFは全開にしたままでLPFを使いこなすのが良いと思います。PEAKはいわゆるレゾナンスなので、あなたの変態度に応じて上げてください。フィルターのエンベロープは音量と同じくEG2で制御されます。

Download
 
HPFとLPFの両方が搭載されていると周波数特性的にピークを2カ所作ることができて、これは人の声の母音の特徴に似ています。というわけでちょっと人の声のような音を作ったりもできます。

Download
 
LFO
次はゆっくりした周期のモジュレーションをピッチやフィルターにかけるLFOです。MS-20的にはMODULATION GENERATORと表記しています。LFOのWAVE FORMノブはちょっとわかりづらいですが、真ん中が三角波、左右に回すとノコギリ波に近づきます。矩形波にしたいときは簡単なパッチが必要です。LPFにLFOをかけるとこんな感じになります。

Download
 
■EG1の使い方
MS-20には2系統のEGが搭載されています。実は音量カーブやフィルターなどメインで使うのはEG2の方で、EG1はデフォルトでは音程変化をコントロールするため、わりと飛び道具的な使い方になります。

Download
 
■リングモジュレーター
VCO2をRINGにするとVCO1をVCO2でリング変調します。難しいことは考えずに変な音を出したいときに使います。VCO2のPITCHをグリグリいじるとみんな大好きな変態的な音が出ますね。

Download
 
そんなわけで次回パッチ編に続きます。
 
関連記事
2010-12-20 KORG MS-20パッチパネル操作完全マスター
2010-12-31 KORG MS-20パッチパネル操作完全マスター(その2)
KORG MS-20で音作るよー その2
 



KORG iMS-20公式パーフェクトガイド

KORG iMS-20公式パーフェクトガイド

ExcelでLTSV読むよー

LTSVが最近熱いですね。ログファイルのフォーマットはこれで決まり、みたいな。

とはいえ、業務システムだといまだに人月計算とスーツとExcelの世界なので、上司に提出する場合とかそのあたりの親和性をなんとかしたいところです。

そんなわけでExcelでLTSVを読めるようにVBAを書いてみました。これでログを罫線で囲ったりセルに色をつけたりできます!嬉しいのか、それ。
 

 

Attribute VB_Name = "LtsvLoader"
'
' LtsvLoader.bas
'
' This program is licensed under the MIT License.
' Copyright 2013, aike (@aike1000)
'
Option Explicit

Dim gHash As Object
Dim gMaxColumn As Integer

Sub LoadLTSV()
    ' ファイル選択ダイアログ
    Dim vFileName As Variant
    vFileName = _
        Application.GetOpenFilename( _
            FileFilter:="LTSVファイル(*.ltsv),*.ltsv" _
            , FilterIndex:=1 _
            , Title:="LTSVファイルオープン" _
            , MultiSelect:=False _
            )
    If vFileName = False Then
        Exit Sub
    End If
    LoadLtsvFile vFileName
End Sub


Sub LoadLtsvFile(filename As Variant)
    Dim st As ADODB.Stream
    Dim RowNo As Integer
    Dim str() As String
    Dim fLine As String
    Dim key As String
    Dim val As String
    Dim i As Integer
    
    gMaxColumn = 0
    Set gHash = CreateObject("Scripting.Dictionary")

    On Error GoTo Err

    'ADODB.Stream生成
    Set st = New ADODB.Stream
    'Textモード
    st.Type = adTypeText
    '文字コード(Shift_JIS, Unicode, UTF-8など)
    st.Charset = "Shift_JIS"
    '改行コード(adLF:LF, adCRLF:CRLF, adCR:CR)
    st.LineSeparator = adCRLF
    'Streamのオープン
    st.Open
    'ファイル読み込み
    st.LoadFromFile (filename)
    
    Sheets(1).Cells.Clear
    RowNo = 2
    'ファイルの終りまでループ
    Do While Not (st.EOS)
        'tab区切りで配列に格納
        fLine = st.ReadText(adReadLine)
        str = Split(fLine, vbTab)
        For i = 0 To UBound(str)
            SplitKeyVal str(i), key, val
            Sheets(1).Cells(RowNo, GetColumnByKey(key)) = val
        Next
        RowNo = RowNo + 1
    Loop

    st.Close
    Set st = Nothing
    Set gHash = Nothing
    Exit Sub

Err:
    Set st = Nothing
    Set gHash = Nothing
    MsgBox (Err.Description)
End Sub

' キーで指定したカラム位置を返す。新規のキーの場合は末尾のカラムに追加
Private Function GetColumnByKey(ByVal key As String) As Integer
    If gHash(key) = Empty Then
        gMaxColumn = gMaxColumn + 1
        gHash(key) = gMaxColumn
        Sheets(1).Cells(1, gMaxColumn) = key
        GetColumnByKey = gMaxColumn
    Else
        GetColumnByKey = gHash(key)
    End If
End Function

' 最初に見つかった「:」でキーとバリューを分割する
Private Sub SplitKeyVal(ByVal s As String, ByRef key As String, ByRef val As String)
    Dim pos As Integer
    pos = InStr(s, ":")
    key = Mid(s, 1, pos - 1)
    val = Mid(s, pos + 1, Len(s))
End Sub

※Excel2000とかでも普通に動きます。環境によってはVBのツール→参照設定からMicrosoft ActiveX Data Objectsの追加が必要かもしれません。

iPhoneのポケコンアプリDPC-100で音を鳴らしてみた

便利な用途がさっぱり思いつかないもののとりあえず触っているだけでワクワクするiPhone/iPad用のポケコンアプリDPC-100ですが、バージョンアップしてサウンド機能が搭載されたということなので鳴らしてみました。
 

 
ソースはこんな感じ。SCHDUTYでパルス幅をゆっくり変化させながら鳴らしています。
 

100 INT D(64)
110 N=0
120 W=1
130 V=1
140 GOSUB PART1
150 GOSUB PART1
160 GOSUB PART2
170 GOSUB PART2
180 GOSUB PART3
190 GOSUB PART3
200 GOSUB PART4
210 GOSUB PART4
220 SCHVOLUME(0,15)
230 @LOOP
240 FOR I=0 TO 64 STEP 1
250   IF I%2!=0 GOTO SKIP
260     W=W+V
270     IF W==1 THEN V=1
280     IF W==8 THEN V=-1
290     SCHDUTY(0,W)
300   @SKIP
310   SCHNOTE(0,D(I))
320   SCHSTATE(0,1)
330   WAIT(0.2,1)
340 NEXT
350 SCHSTATE(0,0)
360 GOTO LOOP
370 @PART1
380 D(N+0)=55
390 D(N+1)=62
400 D(N+2)=71
410 D(N+3)=69
420 D(N+4)=71
430 D(N+5)=62
440 D(N+6)=71
450 D(N+7)=62
460 N=N+8
470 RETURN
480 @PART2
490 D(N+0)=55
500 D(N+1)=64
510 D(N+2)=72
520 D(N+3)=71
530 D(N+4)=72
540 D(N+5)=64
550 D(N+6)=72
560 D(N+7)=64
570 N=N+8
580 RETURN
590 @PART3
600 D(N+0)=55
610 D(N+1)=66
620 D(N+2)=72
630 D(N+3)=71
640 D(N+4)=72
650 D(N+5)=66
660 D(N+6)=72
670 D(N+7)=66
680 N=N+8
690 RETURN
700 @PART4
710 D(N+0)=55
720 D(N+1)=67
730 D(N+2)=71
740 D(N+3)=69
750 D(N+4)=71
760 D(N+5)=67
770 D(N+6)=71
780 D(N+7)=67
790 N=N+8
800 RETURN

 
メモ:
・3チャンネルあるので3和音だせるっぽい
・SCHSTATEコマンドでノートオン/オフ
・音長はWAITで調整する
・当然MMLみたいな便利な機能はなし
・波形は矩形波のみ。DUTY比を1〜8まで変えられる
・音程はMIDIノートナンバーと同じなのでわかりやすい

Web Audio APIで8bitリズム音源作ったよ

Web Audio APIを使ったブラウザで動くシンセがけっこう増えてきましたが、リズム音源がまだまだ少ないように思います。ちょうど昔のゲーム機からサンプリングした音源がフリーで配布されていたので、これをネタにリズム音源にまとめてみました。

セガ・マスターシステムのサウンドを高品位に収録した2種類のサンプル集が無償配布中
little-scale: Completely Free Sample Pack: SEGA Master System Digital Drum Sounds
 
できたアプリがこんな感じ。
http://aikelab.net/msdrum/

f:id:aike:20130115022356j:image

 
もちろんWebMidiLink対応なので他の楽器と同期して演奏できます。ノートナンバー35〜54でなんとなくGM音源のドラムマップっぽい並びになってます。
http://bit.ly/UZ4kwl
 

 

電源ケーブルがにょろにょろする悩みが全面解決した話

まあそんなわけでデスクトップPCの裏側とかケーブルだらけでなるべく見て見ぬ振りをして生活してるわけですが、年に一回くらい大掃除のときなんかに一念発起してすっきりさせようと取り組んだりしても無数の蛇のようなにょろにょろしたケーブル類と目が合うと次の瞬間もう心がすっかり石にされたりとかそんな繰り返しだったりします。
 
もちろん、これまでも無策だったわけじゃなくヨドバシカメラとかで結束バンドとかタイラップとかそういう名前の便利グッズをいくつも買ったりしてるんですけどいろいろとやっぱり不満がでてくるわけで。
 
たとえばこんなやつ。

 
ほしいのは、
・簡単にケーブルをまとめられる
・ほどくときも切ったりしなくて何度でも使える
・ほどいた後は電源ケーブルと結束バンドがばらばらにならない
・あんまりかさばらない
というようなやつなんだけど、すべての条件を満たすものは量販店とか100円ショップとかいくら探しても見つからない。
 
それでまあ、先日大量の機材とケーブル類を扱うプロミュージシャンの人にどうやってケーブルを整理しているのか聞いてみたらおすすめされたのがこれ。


 
こんな風に、2周巻くのがミソで、1周目で1本のケーブルに止めて、2周目で他のケーブルと一緒にまとめる感じ。


レバー状のツメを押したら簡単にほどけるし、ほどいたあとも1周目に巻いたところが止まってるのでばらばらになりません。いままでの悩みはなんだったんだろうかというくらいシンプルな構造ですべての問題を解決してくれます。
 
そんなわけで、いまではPCの電源ケーブル、ディスプレイケーブルをはじめ、マウスケーブルがちょっと長いときとか、楽器のシールドケーブルとか炊飯器やドライヤーの電源ケーブルやら太いのから細いのまで家中のにょろにょろしたものにはみんなこれをつけるようになりました。
 

昔のFM音源シンセDX27を修理した

僕が普段からあんまりシンセシンセ言ってるので会社の人が実家で眠ってたシンセをくれました。たぶん彼の実家の家業はサンタなんだと思います。
 
本体にはDX27と書いてあります。名前くらいは知ってるものの詳細までは知らないので、マニュアルをヤマハのサイトからダウンロードしました。昔の楽器のマニュアルもきちんと入手できるようにしているのってすごくありがたいです。それからACアダプターもないのでマニュアルを見て同じ仕様のものを買ってきました。
 
起動すると「CNG RAM BATTERY!」と表示され、RAMに記録されているはずの音色表示はめちゃくちゃで音もほとんど出ません。ROMの音色を呼び出すと、こちらはちゃんと懐かしいあのDXシリーズのFM音源特有の音が鳴りました。そんなわけでバッテリーを交換するだけでなんとかなりそうです。
  
バッテリー交換方法の参考になりそうなウェブサイトを調べるとこんな感じ。
http://www.alexannesty.com/dx7s-battery-replacement.php
http://concretedog.blogspot.jp/2010/01/replace-ram-battery-resurrectionyamaha.html
どうやらボタン電池がしっかりハンダ付けされているようです。
 
中を開けて基盤を外して

裏返すと

ありました。CR2032電池。簡単に外せそうですが、がっちり金具にくっついてます。電池を半田で加熱するのは爆発しそうで怖いので、金具ごと交換することにします。

裏の金具のハンダを外して、代わりに短いケーブルをハンダ付けします。

ケーブルと新しい電池をテープでつけて、ホットボンドで電池を基盤に固定します。こういう雑な感じがいかにも修理っぽくてわりと好き。

テスターで接触不良がないことを確認した後、ACアダプターをつないでスイッチを入れます。起動しても「CNG RAM BATTERY!」の表示が出なくなりました。良い感じです。基盤をおさめて蓋を閉めてネジ止めして完了。
80年代のシンセが新品のようによみがえりました。