打ち込みよもやま話:SoftPedal編

かれこれずっと常駐で作業でした。
そして明日からまた常駐^p^
ちょっと帰ってきた隙にブログ更新してみたりする。

久方のよもやま話は「Soft Pedal(ソフトペダル)」についてです。
Soft Pedalとは音の柔らかさを設定するパラメータです。
初期値は0で、0~127の値を設定できます。

グランドピアノを弾く時、足元に色々ペダルがあるのはご存じですか?
踏んでいる間、弾いた音が伸びるペダルと、
音質を少し弱く丸くするペダル、
あと特定の1音だけを伸ばすペダルの計3つがあります。
Soft Pedalは2番目の音質を変化させるペダルと似たような働きをするパラメータなのです。

なお、このパラメータも標準搭載MIDI音源では対応してないので
使っても効果がありません。くやしいのうwwwwくやしいのうwww

それはさておき、このパラメータを設定する際にはちょっと注意が必要です。
初めに値は0~127を設定できると書きましたが、
実は0~63の値を設定しても特に効果が無く、64~127の値を設定することで
パラメータの効果が100%現れるようになります。
実質、ONかOFFかしか設定できないのと一緒ですね。

このパラメータで得られる音質の変化はBrightness等とはまた異なり、
それらのパラメータで設定しきれない細かいニュアンスを
表現する時に使うのが主です。
Resonanceの設定限界値以上にクセを無くして音を丸くさせたいときとかも、
Soft Pedalを使えば多少は丸くすることができます。
…もっともそういう状況は滅多にないので、
このパラメータにお世話になる機会は稀ですね。
決して使えないパラメータではないのは確かですけど。
試しに使ってみて、しっくり来たらそのまま使っといて、ダメなら元に戻したらいいと思います。

ちなみに、本当のピアノのペダルみたいに踏んだり離したりって感じに
値を操作することも稀です。
ピアノオンリーのMIDIならアリですけど、「伴奏としてのピアノ」でやると
すっごいちぐはぐな感じになります。
聴く人の感じ方にもよると思いますが、得るものはあまりないので
俺はお勧めしません。

次回、よもやま話「未定」!
気が向いたらパラメータ以外で何か書きます。

Java VS Ruby The Third Impact

Javaで書く基本ループ

public class SampleC {

public static void main(String[] args) {
int i = 0, j = 0;
while(true){
if(i >= 5) break;
System.out.print(” ” + i++);
}
System.out.print(“:”);
do{
System.out.print(” ” + j);
j++;
} while(j < 5);
System.out.println();
for(int m = 0, n = 20; m < n; m += 5,n++){
if(m % 2 == 0) continue;
System.out.println(“m = ” + m + ” n = ” + n);
}

}

}

rubyで書く基本ループ

class SampleC
def main
i = j = 0
while true
break if i >= 5
p (” ” + i.to_s)
i += 1
end
p “:”
loop do
p (” ” + j.to_s)
j += 1
break if j < 5
end
p “\n”
m = 0
n = 20
for s in 1..4
m += 5
n += 1
next if m % 2 == 0
p (“m = ” + m.to_s + ” n = ” + n.to_s + “\n”)
end
end
end
x = SampleC.new
x.main

ちなみにRubyは実行環境入れてないのでエラーチェックしてないです。

追記:

チェックしたところ、ダブルクォーテーションが全角なのを除いて

コピペでちゃんと動きました。

Java VS Ruby Returns

JAVAの教科書にあったソース

class Dog {
 int weight = 50;
 static {
  System.out.println(“static inr”);
 }
 {
  System.out.print(“inr “);
 }
 Dog() {
  System.out.println(“ctr”);
 }
 void meth() {
  System.out.println(weight);
 }

}

class SampleA {
 public static void main(String[] args){
  Dog x = new Dog();
  Dog y = new Dog();
  x.meth();
 }
}

Rubyに翻訳

class Dog
 def initialize
  @weight = 50
  p “inr ctr”
 end
 def meth
  p @weight
 end
end

p “static inr”
x = Dog.new
y = Dog.new
x.meth

 もういっちょJAVA

import java.util.*;

class SampleB {
 public static void main(String[] args){
  int[] ds = {1, 2, 3, 4, 5};
  for(int d : ds)
   System.out.println(d);
  System.out.println();
  int[][] nns = {{1, 2, 3}, {10, 20, 30}, {100, 200, 300}};
  for(int[] ns : nns){
   for(int n : ns){
    System.out.println(n);
   }
   System.out.println();
  }
  List<String> ss = new ArrayList<String>();
  ss.add(“abc”);
  ss.add(“def”);
  ss.add(“ghi”);
  for(String s : ss)
   System.out.println(s);
  
 }
}

もういっちょRuby

class SampleB
 def main
  ds = [1, 2, 3, 4, 5]
  for d in ds
   p d
  end
  p “”
  nns = [[1, 2, 3], [10, 20, 30], [100, 200, 300]]
  for ns in nns
   for n in ns
    p n
   end
   p “”
  end
  ss = []
  ss.push(“abc”)
  ss.push(“def”)
  ss.push(“ghi”)
  for s in ss
   p s
  end
 end
end

x = SampleB.new
x.main

打ち込みよもやま話:BrightnessとResonance編

常駐で会社から出ていたので、随分間が空いてしまいましたね。
久々ですが、よもやま話の続きです。

「Brightness(ブライトネス)」とは、そのパートの音の明るさを
設定するパラメータです。
ローパスフィルターとも呼ばれ、0~127の値を設定できます。
初期値は64です。

基本的に値を大きくすれば明るく、小さくすれば暗くなりますが、
楽器によっては一定以上は明るくなったり暗くなったりしない
限界値みたいなものが存在します。
限界値は楽器によっても異なる(っぽい)ので、一概にこの値と断定はできません。
耳で聞いて判断してください。

とはいうものの、先に断っておくとこのパラメータは標準MIDI音源では対応しておらず、
設定しても何の効果も得られません。
Resonanceも一緒です。悪しからず。

さて、音の明るさといってもよく分からないですよね。
ざっくり言うと、閉じてる音が暗い音で開いてる音が明るい感じになります。
口をすぼめて出した声は暗く、大きく開いて出した声は明るいのです。
この口のすぼまり具合を調整するのがBrightnessだと思ってください。
音を曲の雰囲気に馴染ませるために使うことがほとんどです。
そして、Brightnessとセットで使いたいのが「Resonance(レゾナンス)」。
こちらは音にクセを付けるためのパラメータです。
0~127の値が設定でき、初期値も同じく64。
楽器によって限界値があるのも一緒です。

Brightnessが口のすぼまり具合なら、
Resonanceは舌の広がらせ具合といったところでしょうか?
舌を平たく広がらせて声を出すと、なんか変な声になるじゃないですか。
Resonanceを上げると音があんな感じになります。
特徴の無い音やマイルドな音にアクセントを付け、目立たせるために使います。

どちらのパラメータもがっつり値を振れますが、実際に使うときは
大抵10程度、多くても20弱くらいしか振りません。
それだけパラメータの効き方が強いんです。
3振るだけでも随分変わってきますよ、マジで。

主に曲の雰囲気作りに使うパラメータ達ですが、
2つを組み合わせることでギターのワウを表現できるようになります。
ワウってのは名前の通り、音がワウワウする奴のことです。
うまいこと設定すると、ギュアオォーンってな感じの
かっこいい音を作れたりもします。
音源持ってる人は手軽に演奏をパワーアップできるので、
弄ることを勧めたいパラメータですね。
あんまワウワウしすぎるとバカっぽくなるのでご注意を。

次のよもやま話は……うーん、どうしようか。
標準MIDI音源でできることは、既に粗方話してしまいました。
「Soft Pedal」でもやっとく?

グラフィックボードの変

敵はグラフィックボードにあり!!!

最近なんかPCの調子が悪かったんですが、本日ついに連続強制再起動の挙句起動不能になるという

最悪のパターンに陥っちまいました。

画面が出ないと原因調べんのが困難になるからやめて欲しいのよねぇ……。

 

それはさておき、原因は一体どこにあるんでしょうか?

CPU?メモリ?マザー?HDD?電源?

まずCPU、熱暴走とかしてると確かに同じような症状になる。

今も電源落としてしばらくすると一応は立ち上がるが、時間経過でさよーなら。

試しにファンとかヒートシンクを触ってみると、生暖かいくらいで熱くない!

熱暴走じゃなさそう。

 

メモリは?

熱持ってないし初期のメモリテストはOKだった。

一応立ち上がるところを見てもどうもメモリでもない。

 

マザーボード?

はじめ何の前触れもなく落ちた時、コンデンサーの異常を疑ってみた。

通電は問題なく出来てるし液漏れも見当たらないのでノットマザボ。

 

HDDか?

HDD抜いて立ち上げても症状は改善せず、コレも違う。

 

電源?

逝ってしまってると一番困る電源。

なんせ他の全パーツを巻き込むわけだからね。

ま、通電が問題なさそうなので電源も違う。

 

……となると残りのパーツは。

グ ラ フ ィ ッ ク ボ ー ド

お前か。お前なのか。

以前初めてPCを作った時、作って半年でグラボが熱暴走起こしてさよーならしたことがありました。

今のPCは作って4ヶ月程度に差し掛かる。

またしても、お前なのか。

試しに外して起動してみたところ、

一 発 起 動 、 超 元 気 。

いやぁ……これはもはや宿命なんでしょうか?

熱は持ってないので熱暴走じゃなさそうですが……、それにしてもこいつだったとは。

ふと、以前社長に言われた言葉を思い出す。

梅雨とか夏とか湿気の多い時期が過ぎるとよくPCに異常がでる。

なんでかって簡単だよ、接触端子が錆びるからだよ。

何度か抜き差しすれば表面が削れて治るから、

調子悪くなったら試してみるといいよ。

はい、抜いてー差してー抜いてー差してースイッチオーン。

一 発 起 動 。

 

乾いた笑いが響いた丑三つ時でしたとさ。

 

ちなみに今の全構成は

【CPU】 インテル/Intel Core i7-2600K BOX (3.4GHz LGA1155 )
【CPUクーラー】 ZALMAN CNPS9900 MAX BLUE LED (CNPS9900-MAXB)
【MEM】 UMAX DCDDR3-8GB-1600OC ( DDR3-1600 ECC)
【M/B】 ASUS/ASUSTeK P8Z68-V PRO (Intel Z68 LGA1155 ATX)
【VGA】 SAPPHIRE/サファイア ATLANTIS RADEON HD 6870 1GB PCI-E オリジナルモデル BOX (  PCI-E x16 (2.0) )
【HDD】 HGST/日立グローバルストレージテクノロジーズ Deskstar 5K3000 2TB (0S03224) (SATA 6Gb/s 2TB 可変)
【光学ドライブ】 LITEON/ライトオン IHAS324-27 (DVDスーパーマルチ (DVD±R DL) S-ATA)
【OS】 マイクロソフト/Microsoft Windows7 Professional 64bit SP1 (DSP/OEM)
【ケース】 Fractal Design Define R3 Titanium (FD-CA-DEF-R3-TI) (ATX タワー)
【電源】 Corsair CMPSU-750AXJP (EPS12V)

文字を隠すCSS

text-indent: -9999px;

背景画像設定して↑これ入れると文字をいっぱい入力しても画面には表示されなくなる!

SEO対策もバッチリでござる。

パスワード入力テキストボックスあれこれ

サイトにログインする時にパスワード入力するとこありますよね。

その中に薄くパスワードって書いてあったりします。

今作ってるサイトでそれやろうと思って、普通のjqueryを使っても上手くいかない!

テキストボックスのタイプがtextなせいでパスワード入力しても伏字にならなかったり、

タイプをpasswordに変更したところで薄い「パスワード」が伏字になる始末・・・。

そこでどうするかというとcssのdisplay:noneの登場です。

予め「パスワード」表示用のボックスと入力用のボックスを用意し、入力用のボックスをdisplay:noneしておきます。

     <input type=”text” id=”pass” size=”10″ value=”パスワード” />
     <input style=”display:none;” type=”password” id=”password” size=”10″/>

んで以下のスクリプトを挿入。 

  $(‘#pass’).css(‘color’,d_color).focus(function(){
   $(‘#pass’).css(“display”,”none”);
   $(“#password”).attr(“style”,”display:show”);
   $(‘#password’).focus();

  });
  //選択が外れたときの処理
  $(‘#password’).blur(function(){
   if($(this).val() == this.defaultValue | $(this).val() == ”){
    this.value = ”;
    $(‘#password’).css(“display”,”none”);
    $(“#pass”).attr(“style”,”display:show”);
    $(‘#pass’).css(‘color’,d_color)
   };
  });

するとあら不思議、伏字入力らへんがばっちりできちゃいました。

た だ し、まだ入力内容を取得できるかどうかのテストはしてましぇーん(笑)

悪しからず。

 

追記:バッチリ情報取得できました。

非ターゲットの概念

RPGはお好きですか?
まぁRPGが好きでなくとも、ゲームをしていて
どうしても攻撃が届かなかったり、
攻撃の対象にできない敵が出てきたりしますよね。

非ターゲットってのはそういう
バトルフィールドにいるのにその他のキャラクターからのアクションを
一切受け付けないような奴のことです。
でもそいつからは他のキャラクターに対してアクションができたり。

この概念は非常に優秀です。
普通に使えば単に場外から野次を飛ばすキャラクターを表現できるだけですが、
キャラクターを何かの装置に置き換えて考えると、
バトルフィールドに何らかの影響を与えるギミックを表現できちゃいます。

溶岩の洞窟で戦っている時、一定時間おきに起きるマグマのダメージを表現したい。
そんな時は「溶岩の洞窟」を非ターゲットキャラと捉えると
意外と簡単に表現できる気がしてきます。

次の連休で実装してみよ。

Java VS Ruby

Javaで書くif

int foo = 0, bar;
if(foo == 0){
 bar = 10;
}

Rubyで書くif

foo = 0
if foo == 0
 bar = 10
end

Javaで書くfor

for(int i = 0, i < 10, i++){
 System.out.println(i);
}

Rubyで書くfor

for i in 0…10
 print i
end

Javaで書くクラスとメソッド

public class foo extends bar {
 public void main(String[] args) {
  do_something();
 }
 public int do_something() {
  return 0;
 }
}

Rubyで書くクラスとメソッド

class foo < bar
 def main
  do_something
 end
 def do_something
  return 0
 end
end

Javaで書くアクセサ

private foo;
private bar;
private baz;
public String getFoo()
{
 return foo;
}
public void setFoo(String foo)
{
 this.foo = foo;
}
public String getBar()
{
 return bar;
}
public void setBaz(String baz)
{
 this.baz = baz;
}

Rubyで書くアクセサ

attr_accessor:foo
attr_reader:bar
attr_writer:baz

あれもするか?これもするか?もっとするか?

作ってるゲームの話。
キャラクターが敵に攻撃を仕掛ける時、炎の剣で攻撃するとかあるじゃないですか。
あとは氷の攻撃だけ防御とか。
そういうのをまとめてステータス画面やらに表示しといた方がいいのかどうなのかで
すごい悩み中。

表示するのは簡単だけど、それだけ今より情報量が増えて
初めて見た人がわけわからんことになったりすると困るし。

他のゲームがどうしてるか考えてみる。

-ドラクエ-
属性表示?んなもんないがな!
メラに強くても炎の息には耐性ないとかどういうことなの。

-FF-
ライブラとかすると見える?
ステータス画面ではアビリティとして見えるかな。

-テイルズ-
あったっけ。
思い出せないってことは無いんだな。

-ポケモン-
あるね。タイプ重要だもんね。
あるけどこれは毛色が違うでしょう。

ふむ、パッと思いつくもので属性表示やってる作品が無い。
と、いうわけで属性表示はしなくていいやー。