SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|09|10|11|12|
2026|01|02|03|04|05|

2026-05-01(Fri) 初めて自分でXSR125のオイル交換

  700kmくらいのはずが、950kmオーバになってしまったしまなみ海道ロングツーリング1000kmチョイで初回点検を受けた時にオイルを交換しているので、本来は4000kmチョイが交換時期なのに、帰ったら500km弱オーバしてしまっていた。まぁ許容範囲だろうけど。

  自分でもオイルを交換してみたくて、既にアイテムは買い揃えてあるものの、ずっと気になっていたのが、バイクにスタンドをかけること。用意してあるスタンドはモノタロウで4000円チョイの激安なものなのだが、剛性に問題があるというレビューが少なくない。XSR125は140kg程度なので軽い方ではあるのだが。それと、やたらとバイクにスタンドをかけるノウハウ動画が多いこと。ふたりで、だとか、倒さないコツ、だとか。ひとりで上げるのはそんなに危険なことなのだろうか。加えて、下ろす時にちゃんと左に倒れてくれるかということ。ハンドルを左に切っておけば左に倒れるという情報はあったけれど。ちなみにウチの駐車場、結構な傾斜で後輪側が低くなっている。

  とりあえず当ててみるだけ……のつもりでバイクの後ろにスタンドを置いたら、なんだか上げる気になってきてしまった。一応、バンドでフロントブレーキをロック、ハンドルを左に切る、サイドスタンドの下に板を挟みできるだけ直立に近づけておくことの3点を忘れずに実施し、イザッ!

  ……スタンドの後部を片手で下げてみたけど、何の危なげもなく、たいしたチカラもいらずに上がってしまって拍子抜けしてしまった。え、こんな簡単でいいの? ついでなので下ろすのも試すが、スタンドの後部は片手で上げられるし、その段階で直立状態を保てる。オマケに左に倒れようとしているのも感じられるので、やっぱり何の危なげもなく、フツーに下げられてしまって拍子抜けしてしまった。なんだ。心配してソンした。

  画像の説明

  じゃ、改めて上げなおしてオイルの交換作業をしよう。下に洗面器を置き、安物のラチェットでドレンプラグを緩める。オイルが熱いと危険なので暖気はしなかった。緩んだドレンプラグをさらに手で緩めると、ポロッと取れたので、そのまま廃油の中に落下させたが……うわっ…私の廃油、黒すぎ…? なんとも言えない汚さである。普通の乗り方だったと思うし、長距離が多いからオイルには優しいハズと思ってたが。125ccの単気筒ってのはこんなもん?

  画像の説明

  往生したのはオイルの扱い。ドレンプラグは廃油に落とさないほうがよかったし、洗面器は移動しないほうがよかった。ドレンプラグを拭うのは大変だし、ドレンの下には思った以上にオイルが垂れ続けるので地面を汚してしまった。

  今回はフィルタを交換しないので、Oリング(93210-347A1)だけヤマハグリースBを塗って交換し、ドレンプラグを元に戻す。スプリングがあるので、ちょっと手間取るとは聞いていたが、確かにちょっと手間取った。ドレンプラグをトルクレンチで締めたら、あとはオイルジョッキで0.85lを計ってユルユルと注ぐだけだ。

  スタンドから下ろし、エンジンを始動して数分稼働させる。問題なし。エンジンを停止して数分待ち、キャップのディップスティックでレベルを確認する。ちょうど中間くらいだった。レベルを確認する場合、車両は直立状態である必要があるので、スタンドで上げたまま作業したほうがよかったかも。まぁ、規定量入れた上で漏れもないのに、多かったり少なかったりするワケないけど。

  今回はアレコレ試しながらもあって2時間くらいかかってしまったが、次はもっと手早く作業できるだろう。ちなみに費用はオイル(プレミアムシンセティック4l)が8,000円くらいだとして1,800円くらい。YSPに依頼するとしばらくはオイル代を半額にしてくれるのものの工賃はかかる。点検のついでなら依頼もヤブサカではない、くらいかなぁ。


2026-05-02(Sat) XSR125を逆チューン!?

  ネットの普及で誰もが意見を発信できるようになり、見解の多様性は増す方向かと思ってたら、実はその逆に見解は画一的になっていく傾向のように感じている。無難な言い出しっぺの意見に皆が同調するからであろうか。

  本件がそれに該当するのかはわからないが、XSR125といえば欠点は「足つき」と「ハンドルの遠さ」と「シートの硬さ」らしい。それはもう確定事項のようですらある。ローダウンして、ハンドルを交換して、ゲルザブを内蔵するまでがマストらしい。

  しかし不思議と自分はまったくそう思わないんだよね。足つきに不安は感じないし、ハンドルは近いくらいだし、1日400kmとか走ってもシートに不満はない。自分の身長は174cmと平均チョイ程度なんだけどね。腕と指は少し長い方かもしれないが。

  そもそも、ローダウンして、ハンドルを近くに交換なんてするから、余計にシートが硬く感じられるのではないか。アップライトに座ったら、そら尻への負担は増すだろうよ。みんな本当に交換してよかったと思ってる? 周囲の意見に流されて、交換したこと自体に満足してるだけではなくて?

  むしろ自分はハンドルはもっと遠い方がいいんじゃないかと思っているくらいだ。そもそもバイクは前傾気味に乗ったっていいものだよね。常にアップライトが楽で正義ってことはないはずだ。ママチャリじゃあるまいし。自転車だって長距離をこなすスポーツバイクは激しく前傾姿勢だ。

  と、そこで気づいた。ハンドルを前方に回転すれば、金を掛けずに調整できるんじゃないだろうか。初期状態では、ほぼフロントフォークの延長上に向かって曲がっているので、前方に回転すれば回転した分だけ、ハンドルは遠く、低くなっていく。その方が自分的にはバイクらしい乗車姿勢になるし、背中や尻への負担をより減らせる気がするのだ。

  つうわけでやってみることにした。やることは簡単でハンドルバーホルダのネジを少し緩めてハンドルを回転し、ネジを締め直すだけ。ただし、自分の場合はクラッチ/ブレーキレバーの角度が下げてあるので、奥側に回転すると下がり過ぎになる。なので、少し戻す必要があったが。結果、ハンドルを割と大きく回転してみたが、遠すぎるとは感じなかった。ほんじゃ、テストでツーリングにゴーである。

  画像の説明

  軽く100kmチョイ走ったが、遠さは問題ないどころか好ましかった。んが、クラッチ/ブレーキレバーの角度が下がりすぎて指のかかりが悪くてやや危ない。ところが、スロットルケーブルが邪魔してブレーキレバーの角度を上げられない。ケーブルハウジングを回転しようとしたが、どうもハンドルの穴と突起で位置が固定されているようで回転できないようだ。ちなみに右のスタータ、左の方向指示器の部分も同様に固定されている。スタータはともかく、方向指示器はちょっと上を向きすぎだ。

  改めてサービスマニュアルを見ると、自由に回転できるクラッチ/ブレーキレバーも、ハンドルそのものも、ポンチマークに合わせるような指示があった。まぁ、オフィシャルには回転してもよい、というものではないのかもしれないな。うーむ、穴を空けるか、突起を削るかしてみるかなぁ。

  あ、そういえば、オイルの交換後、エンジンの回転が軽やかになり振動が減った気がする。よくよく考えると、新しいオイルだとそうなる理由はわからんけども。それと、オイルジョッキを玄関に置いておいたら、わずかに残ったオイルが土間にシみ出ていた。えー……そういうもんなのぉ?


2026-05-04(Mon) XSR125を逆チューン!?完結編

  一昨日、ハンドルを奥に回転して少し遠くにするチューニングをしたのだが、位置は好ましくなったものの、ブレーキレバーの角度が下がりすぎて指のかかりが悪くてやや危ない状況になった。スロットルケーブルが邪魔するのが原因だが、ケーブルハウジングはハンドルの穴と突起で位置が固定されているようで回転できないため、穴を空けるか、突起を削るかする対処が必要になる。

  つうわけで、ケーブルハウジングを外してみたのだが、どうも穴と突起の噛み合いで回転を防いでいる構造のようで、突起を削るのはマズそうだ。他のスイッチならともかく、操作の重要性が高いスロットルの位置が不意にズレたりするのは危険だしな。

  そこで、ハンドルに穴を空けることにした。一通りのツールは揃っている。ドリルセットは軽金属用しかないが、3mmだけは鉄工用があるので、まずはそれで穴を空けて2段階でいこう。

  慎重に位置を決定する。相手は鉄だがセンターポンチは効いた。慎重に3mmのドリルを当て、電動ドリルで貫通させる。5mmのドリルに付け替えて、穴を拡張する。ケーブルハウジングを当ててみる。少しキツい。リーマでわずかに穴を拡げる。入った。エエ感じやん。

  画像の説明

  ケーブルハウジングをだいぶ上にズラしたので、ブレーキレバーの角度が上げられるようになった。ハンドルを奥に回転しているので本来の位置よりも下に見えるが、実際にはだいぶ上がっている。概ねこの位置で満足だが、更なる調整の余地は十分に残っているし、穴を空けた位置に間違いはなかったな。よっしゃよっしゃ。

  画像の説明 画像の説明

  試しに100km弱走ってみた。信号待ちからハンドルに手を伸ばす時にはちょっと遠さを感じるが、握ってしまえば自然に思える。セパハン化も可能なくらいなんだから、結局ハンドルの位置なんてどこでもいいんだな。体重の乗る部分も膝裏に移動し、受ける空気抵抗も減った感がある。これぐらいがイイ。

  問題は右のスタータ、左の方向指示器の部分も穴と突起で位置が固定されているので、ちょっと不自然なほど上を向いてしまった。こっちも穴を空ければ調整できるけど、そう頻繁に使うものでもなし、このままでいいや。


2026-05-09(Sat) XSR125のチェーンをメンテナンス

  チェーンメンテナンス不要論にそれなりに納得していたせいか、気づくと一度もメンテしないまま、もうすぐ5000kmだ。改めてチェーンを見ると茶色くサビている。これはさすがにマズいのではないか。

  というわけで、慌ててチェーンクリーナチェーンオイルをポチってメンテに取り掛かる。初めてなので、それなりに関連記事や動画により作業方法については予習済みである。

  しかし、若い頃にXJR400に乗っていたのだが、それが後輪を上げるのに中空の貫通アクスルシャフトにシャフトを通すタイプだったせいか、結局メンテは店に任せることにして、一度もチェーンメンテなんてやったことがなかった気がするのだよな。そんなんで済んでいたのか疑問ではあるが。

  画像の説明

  小さめのダンボール箱と新聞紙を用意し、養生してチェーンクリーナをシューシュー。添付のブラシで適当にコスって、使い捨てウェスで拭き取る。サビかと思ったものは、茶色の汚れでサビではないようだが、あまりスッキリとは落ちない。どこまでコスるべきなのかわからんが、重要なのはスプロケットとの接触面であり、チェーンの側面じゃないだろう。ほどほどでいいや。

  チェーンに白い印が付いていたので、それを目印に作業していたのだが、すぐに印はウェスで拭き取られてしまった。あらら。まぁいいか。十分に一周以上作業すれば。

  画像の説明 画像の説明

  一応、清掃後。ピカピカにはほど遠いが、それはまた次回に考えよう。今度は上面を狙ってオイルをブシューっと。ムースタイプと書いてあったが、本当に泡で出る。で、見た目でもすぐ浸透しているように見える。しばらく放置して拭き取ろうとしたら、すごくネチャッとした感じに変化している。へー。こういうもんなのか。なるほど。

  結果、箱はそう汚れず、必要な新聞も数枚、ウェスも3枚程度で済んだ。今回は初めてなのでだいぶ時間がかかったが、次回はもう少し効率よく作業できるだろう。

  拭き取りの数時間後、プチツーリングに出かける。わずかだが静かで滑らかな感じになった気がする。つうても、例によってヘンな山道を走ったもんだから、小さな葉や枝がチェーンにくっつきまくる。帰ったら概ね吹き飛んでいたが、まぁそう気にすることでもないのかな。


2026-05-16(Sat) 大滝御嶽エクスプレスツーリング

  近々、富士山の五合目まで登る予定があるのだが、そこはまだ極寒の地だと聞き、ホンマかいな、ほんじゃ似たようなところまで行ってみたるわ……ってのを思いついて、王滝村から御嶽山を登るツーリングに出かけることにした。以前にロードスターで行ったことはあるんだけれども。

  だいぶ時間がキツいであろうことは承知の上なので、休憩は少なめで。GoogleMapの到着時刻って、だいぶ正確なんだよなぁ。

  いつも使う383号が全面通行止めとの案内。でも県道413号は通れるよね、と強行。通れた。2時間半以上ぶっ通しで走り続け、道の駅賤母で昼飯。

  そこから1時間半で標高2200mのやまテラス王滝。駐車場は13.5℃だった。実は今回、新たに調達したメッシュジャケットを着ていったのだが、短時間なので耐えられないほどではなかった。ちょっと展望台まで散歩したら、時間もキツいのでさっさと撤収。

 

  上りは低ギアでブンブンと登ったが、下りは4速や5速で静かにスルスルと下りていける。景色はよいが、道の文法がちょっとヘンなので、ちゃんとコーナの出口を見ていないとゲレンデで草スキーを始めてしまいかねないので注意しつつ。楽しいけど。

  帰りは383号の通行止め箇所をチェック。なんと道路改良工事のため11月30日まで続くらしい。おいおーいそんなに熱心に改良してくれんなや。今のままのちょっとアブないキミが好きなのに。

  そのヘンから寒くなったので、メッシュジャケットの下にウィンドブレーカを着込む。塩を砂糖で中和するような非常に疑問に感じる着こなしだが、ほんの少し足りないくらいの暖かさが得られた。アリ。

  画像の説明

  走行距離386.8km。ちょっと強行しすぎだな。思いついたらやってしまうクセはもうちょっと抑えないとだなぁ。

  あ、そうそう。ヤマハから正式にXSR155の発売が告知された。自分は125であることにメリットを感じているので、155が選べたとしてもそれを選ぶことはないのだが、癇に障るのはそのコピー「どこへだって行ける、自由な相棒」。125だってどこへだって行けるつもりですがなにか?


2026-05-18(Mon) 空間音響、または、ドップラー効果シミュレータ

  ちょっと前に「人が音の聴こえる方向を知覚できる」という現象に興味を持った。

  耳はふたつあるので、音の大きさに多少の差が生じているであろうことはすぐに思いつくが、耳はふたつしかないので、それだと「左右」はともかく「前後」「上下」が知覚できる理由にはならない。で、調べていくと、耳の形状がそれに寄与しているらしい。耳は後方のみに張り出した形状だ。前方からの音はそのまま鼓膜に届くが、後方からの音は耳のエラ(?)の部分を回り込む必要があるので、音量も到達時刻も音質も微妙に変化する。それを検出しているらしい。なるほど。そういわれれてみると「左右」でも、耳の位置は違うし頭自体を回り込む必要もあるから到達時刻の差は生じているはずだな。音は意外と遅い。

  臨場感の高める録音方法としてバイノーラル録音というものがある。耳の形状まで再現された人の頭の模型を用意して、左右の耳の穴の中に設置されたマイクで録音する手法だ。それで収録すれば、声優の立ち位置の変化などがちゃんと結果に反映される。

  簡単なプログラムでは耳や頭の形状までシミュレートすることは難しいが、音量と到達時刻だけなら三角関数で算出可能だ。それなら少なくとも「左右」については知覚可能になるのではないか。ちょっとコードを書いてみるか。

  ここはぜひオブジェクト指向で書くべきだろう。Manクラスで人の位置と向き、つまりはふたつの耳の位置を管理、SoundSourceクラスで音源の位置と波形、つまりは時間に対する音量変化を管理する。

class Man
 
    # 自分の位置、向き、耳の間の距離(m)
    def initialize(x = 0.0, y = 0.0, d = 0.0, w0 = 0.17)
        @x = x; @y = y; @d = d; @w = w0 / 2
        @sources = []
    end
 
    # 耳の位置を算出して返す
    def ear_position
        r = @d * PI / 180
        lx = @x - cos(r) * @w; ly = @y - sin(r) * @w            # 左耳
        rx = @x + cos(r) * @w; ry = @y + sin(r) * @w            # 右耳
        [[lx, ly], [rx, ry]]
    end
 
    # 音源オブジェクトを追加
    def <<(source)
        @sources << source
    end
 
    # 指定の時刻間の音をレンダリング
    def rend(base_wav, t0 = 0, t1 = 1, file = 'output.wav')
        wav = NewWavFile.new(base_wav)
        wav.get_info[0].each {|l|
            puts(l)
        }
        vol = 30000 * (5 ** 2)                                  # 音量係数(5mの位置で±30000)
        t0 *= 44100; t1 *= 44100; (t0...t1).each {|t|
            yield(t)
            ear_pos = ear_position
            l_gain = r_gain = 0; @sources.each {|source|
                src_pos = source.position(t)
                l_dist = sqrt((src_pos[0] - ear_pos[0][0]) ** 2 + (src_pos[1] - ear_pos[0][1]) ** 2)
                r_dist = sqrt((src_pos[0] - ear_pos[1][0]) ** 2 + (src_pos[1] - ear_pos[1][1]) ** 2)
                l_time = l_dist * 44100 / 340.290               # 音速(340.29m/s)による遅れ(1/44100s単位)
                r_time = r_dist * 44100 / 340.290
                l_gain += source.get_gain(t - l_time) * (vol / l_dist ** 2) # 過去の発生音量(ゲイン)、距離減衰を加味
                r_gain += source.get_gain(t - r_time) * (vol / r_dist ** 2)
            }
            wav << [l_gain, r_gain]
        }
        wav.save_phrase(0, t1 - t0, file)
    end
end
class SoundSource
 
    def initialize(file = nil)
        file and @wav = NewWavFile.new(file)
    end
 
    # 時刻 t の時点の位置を返す、(0, 0) から 10m の位置を 4 秒で左回りに周回する
    def position(t)
        dist = 10
        d = t.to_f * 90 / 44100
        r = d * PI / 180
        [-dist * sin(r), dist * cos(r)]
    end
 
    # 音(波)を発生
    def get_gain(t)
        g0 = get_gain0(t0 = t.floor)
        g1 = get_gain0(t0 + 1)
        g0 + (g1 - g0) * (t - t0)                               # 線形補間
    end
 
    def get_gain0(t)
        (@wav.get_gain(t)[1] || 0).to_f / 32768
    end
end
man = Man.new(0, 0)
ss = SoundSource.new('pacmon.wav')
man << ss
man.rend(ARGV[0], 0, 10) {|t|
}

  これでwavファイルが生成される<聴いてみる>。おぉッ! アカベイが自分の回りをグルグルと回っているッ! 「10m前方から左回り」という設定だが、確かにそう聴こえる。実際には前後は再現できていないのだけれど。

  ……ん? と、ここで気がついた。時間に対して位置の変化が発生する場合、いわゆる救急車の「ピーポーピーポーヘーホーヘーホー」というドップラー現象まで再現されてしまうのではないだろうか? SoundSourceクラスを継承し、サイレンを鳴らしながら直線移動する音源を実装する。

class Ambulance < SoundSource
 
    # 時刻 t の時点の位置を返す、時速 60km (100m 前方から、100m 後方まで 12 秒)で、右 5m の位置を通り過ぎる
    def position(t)
        t1 = t % (12 * 44100)
        [5, 100 - t1.to_f * 200 / 44100 / 12]
    end
 
    # 音(波)を発生
    def get_gain(t)
        f = t % 52920 > 26460 ? 770.0 : 960.0
        omega = 2 * PI * f / 44100
        sin(omega * t)
    end
end

  こんなwavファイルが生成された<聴いてみる>。思った通りッ! 救急車が前方から走ってきて対向車線をすれ違ったッ! 「100m前方から右5mを通り過ぎる」という設定だが、確かにそう聴こえる。ドップラー現象もバッチリ再現できている。やっぱり実際には前後の違いは再現できていないのだけれど。

  他に「すれ違うドップラーな移動物体」はないなかぁ、と思って思いついたのが街宣車。SoundSourceクラスを継承し、楽曲を鳴らしながら直線移動する音源を実装する。同時に2台を走らせたいので、ちょっと遅れて走ってくるためのコードも追加する。

  こんなwavファイルが生成された<聴いてみる>。時々あるシチュエーションが再現できているように思える。まぁ、実際には2台が同時に楽曲を鳴らしていることはないだろうけれど。

  最後はちょっとローカルネタだが名古屋鉄道のパノラマカーがミュージックホーンを鳴らしながらホームを通過する。左右のホームを相次いで通過させたいので、左右を指定できるコードも追加する。

  こんなwavファイルが生成された<聴いてみる>。名鉄ファンには堪えられない状況ではないか。列車が引き起こす風圧まで感じるほどだ。際には風圧は再現できていないのだけれど。

  つうわけで、シンプルなコードで割とリアルなサウンドを再現できた気がする。最近はFPS的なゲームが多く、3D空間でキャラクタを動かすものが多いから、敵の場所を察知させるためにサウンドにはコダわっていると思うのだが……はて? こういうリアルさを感じたことがないな(いや、手元のゲーム機が壊れかけてから最近のゲームをしてないけれど)。

  考えてみれば、敵から発砲された銃弾が耳元をカスめる状況を再現すると、銃弾は音速を超えているから、着弾してしばらくしてから「ヒュン」なんて音が鳴るわけで、それはリアルではあるがゲーム的にはダメなのかもしれない。リアルを優先すれば、シューティングゲームなんかの多くは舞台が宇宙なわけで、グラディウスもダライアスもスターフォースも全部「無音」がリアルってことになってしまうしね。ファンタジーゾーンは……あれはファンタジーだからヨシとするとしても。

  とはいえ、レースゲームなんかにはゼヒ適用するべきじゃないかと思う。他車のエンジン音のドップラー効果は、それらしい音を作ってくっつけるより、このアルゴリズムを実装するほうがラクなくらいではないか。

  今回書いたコードはプリレンダリング(?)を前提に書いたので、ゲームには使えないが、リアルタイムにレンダリングするコードもさほど難しくはないと思う。試作してみるかなぁ。

  今回作った物件を置いておく。使うには別途cccdctに添付のlibwavが必要。