<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">
    <title>お気楽なぺーじ: beatmania</title>
    <link rel="self" type="application/atom+xml" href="https://staraxis.kazelog.jp/okiraku/beatmania/atom.xml" />
    <link rel="alternate" type="text/html" href="https://staraxis.kazelog.jp/okiraku/" />
    
    <id>tag:app.kazelog.jp,2003:weblog-14400</id>
    <updated>2025-09-13T00:17:49+09:00</updated>
    <subtitle>適当で色々なサイトです。コメントやトラックバック、ウェルカムっす。どんどんしちゃってください。ただし、記事との関連性が希薄な広告トラックバックは容赦なく削除します。</subtitle>
    <entry>
        <title>beatmania IIDX 専用コントローラ プロフェッショナルモデルの安定運用法（2025年9月最新版）</title>
        <link rel="alternate" type="text/html" href="https://staraxis.kazelog.jp/okiraku/2025/09/beatmania-iidx--9cf7.html" />
        <link rel="replies" type="text/html" href="https://staraxis.kazelog.jp/okiraku/2025/09/beatmania-iidx--9cf7.html" thr:count="0" />
        <id>tag:app.kazelog.jp,2003:post-60005636</id>
        <published>2025-09-13T00:17:49+09:00</published>
        <updated>2025-09-13T00:33:27+09:00</updated>
        <summary>1　背景（調整方法を読みたい人は2まで飛ばしてね） beatmania IIDX...</summary>
        <author>
            <name>ニンジャー</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="beatmania" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PCハードウェア" />
        
        
<content type="html" xml:base="https://staraxis.kazelog.jp/okiraku/">
<![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><h1><strong>1　背景（調整方法を読みたい人は2まで飛ばしてね）</strong></h1>
<p>beatmania IIDX専用コントローラー プロフェッショナルモデル（以下、プロコン）が発売してから使っていたものの、以下の症状にずっと悩まされてきました。<br />※Windows 11 23H2にしてからが顕著かなー?</p>
<h2>悩まされていた症状</h2>
<ul>
<li>PCを起動して、プレイ開始してから1時間経過したぐらいでコントローラーの接続が瞬断、もしくは不安定になる</li>
<li>上記の影響を受けて、LEDの制御が効かなくなり、1分程度常時点灯となった上でしょうとうしてしまう</li>
</ul>
<p>特に2025年4月くらいから切断の度合いもエグくてゲーム中に接続と切断を繰り返したり、数十秒コントローラーが動かなかったりと、L譜面や段位認定も安心してプレイできない状況でした。</p>
<p>コナミとも何度もやり取りさせてもらったし、修理もしたんですが明確な改善はなかったです。<br />しかし、ある時、普段INFINITASのプレイに使っている専用PC（自作）ではなく、メインで使っているノートPC（ThinkPad P14s）でプレイしたら、切断が起きないんですよ。<br />これはコントローラーに問題はなくて、PCに問題があるのではと考え、パーツ構成を変えたり、USB周りの接続を変えたり色々した結果、ようやく安定する方法を見つけました。<br />同じように悩んでいる方の解決に繋がれば幸いです。</p>
<hr />
<h1><strong>2　方法</strong></h1>
<h2><strong>（1）当方の環境</strong></h2>
<p>まず、当方の環境は以下のとおりです。Intelな環境でも1に書いた症状は同じだったので、最近のPCならやることは同じな気がします。当方は2台使っていますが、1台の人はその分やりやすいと思います。</p>
<table border="1">
<tbody>
<tr>
<td>CPU</td>
<td>AMD Ryzen 5 9600X</td>
</tr>
<tr>
<td>マザーボード</td>
<td>MSI MAG B650M MORTAR WIFI</td>
</tr>
<tr>
<td>メモリ</td>
<td>DDR5 5600 32GB（16GBx2）</td>
</tr>
<tr>
<td>ストレージ</td>
<td>WD Black SN7100 1TB</td>
</tr>
<tr>
<td>ビデオカード</td>
<td>ASUS&nbsp;DUAL-RTX3050-O6G</td>
</tr>
<tr>
<td>モニター</td>
<td>TOSHIBA REGZA 43Z730X</td>
</tr>
<tr>
<td>コントローラー</td>
<td>beatmania IIDX専用コントローラー　プロフェッショナルモデル（2台）</td>
</tr>
<tr>
<td>OS</td>
<td>Windows 11 Pro （24H2）</td>
</tr>
</tbody>
</table>
<h2><strong>（2）用意するもの</strong></h2>
<ul>
<li>個別スイッチ付電源タップ（2つ口以上のものを1個）<br />当方は、以下の製品を使っています。（リンクは全てアフィリエイトリンクです）<br />https://amzn.to/4plUc3A</li>
<li>セルフパワータイプのUSBハブ（コントローラーの台数分）<br />当方は、以下の2つを使っています。（選定は適当）<br /><br />バッファロー　BSH4AE12WH<br /><a href="https://amzn.to/3JXhTPH" target="_blank" rel="noopener">https://amzn.to/3JXhTPH</a><br />エレコム　U3H-A408SBK<br /><a href="https://amzn.to/3VboSqL" target="_blank" rel="noopener">https://amzn.to/3VboSqL</a></li>
<li>USB充電器（コントローラーの台数分）<br />当方は、2.4A出力のある以下の製品を使っています。ちなみに出力があるからと言ってUSB PDアダプタは使えないので注意。（1敗）<br /><br />バッファロー　BSMPA2402P1BK<br /><a href="https://amzn.to/3HTqgeE" target="_blank" rel="noopener">https://amzn.to/3HTqgeE</a></li>
</ul>
<h2><strong>（3）具体的な手順</strong></h2>
<h3><strong>準備</strong></h3>
<ol>
<li>PCのUSBポートの1ポートずつに用意したUSBハブを接続する。</li>
<li>USBハブにコントローラーを接続する。この時、1つのハブにコントローラーを1台だけ接続するようにする。（なので、2台繋ぐ場合は、ハブが2つ必要）</li>
<li>コントローラーのUSB type-C端子に給電するUSB充電器を電源タップに繋ぐ。<br />この時、電源タップの個別スイッチはオフにしておく。</li>
</ol>
<h3><strong>操作手順</strong></h3>
<h4><strong>PCを電源オフの状態から起動した場合、または再起動した場合</strong></h4>
<ol>
<li>1時間程度放置する。<br />※1時間経過した後はスリープ運用すると、この手順は不要<br />この時、USB type-Cへの給電はまだ行わない。</li>
<li>設定メニューや、デバイスマネージャー、コントロールパネルのデバイスとプリンタ等でコントローラーが正常にbeatmania IIDX Pro Contoller(HID)として認識されていることを確認する。<br />認識が上手くいっていない場合（不明なデバイスと認識されている等）は、不明なデバイスを削除し、いったんコントローラーのケーブルを抜き、少々待ってから再接続する。<br />正常に接続されていることを確認したら次に進む。</li>
<li>電源タップのスイッチを入れ、コントローラーのUSB type-Cへ給電する。<br />この時、「USB2.0 To Multi Serial Ports」として認識されればOK。</li>
<li>ゲームを起動して遊ぶ（このためにやっているんだから重要！）。</li>
<li>ゲームが終わったら、電源タップのスイッチを切り、USB2.0 To Multi Serial Portsを切断する。</li>
<li>PCはシャットダウンせずにスリープにすることを推奨（1．が不要になるので）</li>
</ol>
<h4><strong>PCをスリープから復帰させた場合</strong></h4>
<ol>
<li>少し（2～3分）放置する。目安としてはWindows UpdateでWindows Defenderのアップデートを実行し、完了するくらいでOK。（Windows Defenderを使っていない人はごめんなさい）</li>
<li>あとは上の2～6を繰り返す。</li>
</ol>
<p>基本的には<a href="https://ja-support1.konami.com/hc/ja/articles/4409598696089-Q-beatmania-IIDX-%E5%B0%82%E7%94%A8%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9-%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%A2%E3%83%87%E3%83%AB-%E3%81%AEUSB%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93-beatmania-IIDX-INFINITAS">公式のFAQ</a>にある手順をしっかり守るということと、電力の安定化を図ることが重要何だと思います。<br />また、USB type-Cへの電源供給は、<strong>スリープに入る前にオフ、復帰後にオンにすることを強く推奨します。</strong>そうしないとコントローラーの認識がおかしくなることが多いです。</p>
<hr />
<h1><strong>3　考察</strong></h1>
<p>なんでこういうことが必要なのか考えてみました。（推測だらけなのでひとりごとのようなものです）</p>
<h2><strong>原因1　自作PCのマザーボードのUSBポート電圧</strong></h2>
<p>USBポートは、デバイスを動かすために5Vの電源(VBUS)を供給しています。USBデバイスで標準的な電流である500mAを流す場合、USB2.0の規格では、この電圧について4.75Vを下限値として定めています。<br />USBポートの電圧を測定する機材を持っていないので、推測になってしまいますが、使っているマザーボードでは、この下限値に近い電圧に降下することがあり、それが、PC起動後1時間経過したあたりで顕著に出るのかなと考えています。（ノートPCはバッテリーのおかげもあって変動が少ないのかも?)</p>
<h2><strong>原因2　プロコンの内部分岐による電圧降下</strong></h2>
<p>プロコンは内部にUSBハブがあり、そこに「beatmania IIDX Pro Contoller(HID)（以下、コントローラー部）」と「USB2.0 To Multi Serial Ports（以下、LED制御部）」が接続されています。<br />コントローラー部が認識された状態で、USB type-Cに電力が供給されるとLED制御部も認識される仕組みとなっていますが、type-Cから供給される電力はあくまでもLEDを光らせるためのもので、LED制御部はコントローラー部の端子から供給される5V電源によって動いているもの推測されます。<br />これにより、PCからのUSB端子の電圧が下限値の方に振れてしまった時、コントローラー全体に供給される電圧はさらに低くなってしまい、これがコントローラーの切断に繋がっていうのではないかと考えます。ちなみに、INFINITASではコントローラーの接続が1度でも切れてしまうとLED制御部の復帰はないようです。（コントローラーの再接続＆ゲームの再起動で復帰）<br />本当は、コントローラーの電源の平滑回路にもう少し余裕があれば、多少の電圧変動は吸収できると思うんですけどね。（基板を良く見ていないから分からないけど）</p>
<h2><strong>原因3　Windows11のバグ</strong></h2>
<p>10では起きていなかった気がするので、これも正直あると思っていますｗ。実は、Windows Updateの後、デバイスマネージャーを確認するとUSB汎用ハブのデバイスドライバって毎月更新されているんですよね。脆弱性対策とかもあるかもしれないので一概には言えませんが、毎月更新しているって、結構不具合を抱えているんじゃないかと思ってしまいます。<br /><span style="text-decoration: line-through;">まぁ、実際にOSの不具合多いですしね<br /><br /></span>プロコンは、ライトニングモデルのコントローラーからターンテーブルの磁性ダンパーを除いたような製品だと思うので、ライトニングモデルで使っているWindows 10 IoT Enterprise LTSCのような余計な機能を削ることができて、機能更新が少ないOSであればこんな工夫をしなくても動くのかもしれないです。（一般人じゃ導入できないけど）</p>
<p>また、起動後1時間くらいは何らかのバックグラウンドタスクが動いていて、これがハードウェアの動作にも影響（普通は気づかないレベル）を与えているのではないかと思われます。</p>
<hr />
<h1><strong>4　総論</strong></h1>
<p>コントローラーの認識がいまいちな場合、コナミの説明では、USBセレクティブサスペンドを無効にするとか、高速スタートアップを無効にするとかといった対策が示されていますが、ゲーム中におかしくなるというパターンはこれでは解決しないというのが当方の環境での答えでした。<br />大事なのはOSの動作が安定している（バックグラウンドタスクが少ない）、USBの電圧が安定しているという2点だと思います。<br />これらを実践して、プロコンの動作に悩まれている方の参考になれば幸いです。<br /><br /></p></div>
]]>
</content>


    </entry>
    <entry>
        <title>IIDXアケコンのキーボード化</title>
        <link rel="alternate" type="text/html" href="https://staraxis.kazelog.jp/okiraku/2016/01/iidx-6ad2.html" />
        <link rel="replies" type="text/html" href="https://staraxis.kazelog.jp/okiraku/2016/01/iidx-6ad2.html" thr:count="0" />
        <id>tag:app.kazelog.jp,2003:post-56566889</id>
        <published>2016-01-17T22:28:42+09:00</published>
        <updated>2016-01-17T22:31:45+09:00</updated>
        <summary>先月からサービス開始しているbeatmania IIDX INFINITASです...</summary>
        <author>
            <name>ニンジャー</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="beatmania" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="ゲーム" />
        
        
<content type="html" xml:base="https://staraxis.kazelog.jp/okiraku/">
<![CDATA[
<div xmlns="http://www.w3.org/1999/xhtml"><p>先月からサービス開始しているbeatmania IIDX INFINITASですが、基本的にキーボード対応なので、専コンを使うのには、PS2コントローラのコンバーターと<a href="http://joytokey.net/ja/" target="_self">JoyToKey</a>か<a href="http://www.okamoto.ws/" target="_self">Joyadapter</a>を組み合わせる必要があります。<br />これだと、遅延の発生（これは調整でなんとかなります）や判定のブレ（これは私の腕ではあまり実感できていませんが）がある上、オプションを呼び出す時にキーボードが必要だったりとちょっと不便な状態になります。</p>
<p>そこで、既に幾人か先人が専コンのキーボード化に成功していたので、自分も挑戦してみました。</p>
<p>darekasannetのブログ<br /><a href="http://darekasan.net/wordpress/archives/429" title="Arduino LeonardoでINFINITAS用の変換器を作る" target="_blank">http://darekasan.net/wordpress/archives/429</a></p>
<p>こちらのブログを参考に材料を集めて、Arduinoにスケッチを書き込んでみました。<br />ちなみに私の環境では、リンク先で紹介されているプルアップ抵抗は必須でした。</p>
<p>なお、スケッチはDP環境向けにちょっとアレンジしてみました。</p>
<hr />
<p></p>
<p>1P側</p>
<p>#include "HID-Project.h"<br />#include &lt;Psx.h&gt;</p>
<p>#define dataPin 7<br />#define cmndPin 6<br />#define attPin 5<br />#define clockPin 4</p>
<p>#define SLCT KEY_TAB<br />#define STRT KEY_RETURN</p>
<p>#define SCR1 KEY_LEFT_CTRL<br />#define SCR2 KEY_LEFT_SHIFT</p>
<p>#define KEY1 'z'<br />#define KEY2 's'<br />#define KEY3 'x'<br />#define KEY4 'd'<br />#define KEY5 'c'<br />#define KEY6 'f'<br />#define KEY7 'v'</p>
<p>Psx Psx;<br />unsigned int data;</p>
<p>void setup()<br />{<br /> NKROKeyboard.begin();<br /> Psx.setupPins(dataPin, cmndPin, attPin, clockPin, 1);<br />}</p>
<p>void loop()<br />{<br /> data = Psx.read();<br /> if (data &amp; psxSlct)NKROKeyboard.add(SLCT); else NKROKeyboard.remove(SLCT);<br /> if (data &amp; psxStrt)NKROKeyboard.add(STRT); else NKROKeyboard.remove(STRT);<br /> if (data &amp; psxDown)NKROKeyboard.add(SCR1); else NKROKeyboard.remove(SCR1);<br /> if (data &amp; psxUp)NKROKeyboard.add(SCR2); else NKROKeyboard.remove(SCR2);<br /> if (data &amp; psxSqu)NKROKeyboard.add(KEY1); else NKROKeyboard.remove(KEY1);<br /> if (data &amp; psxL1)NKROKeyboard.add(KEY2); else NKROKeyboard.remove(KEY2);<br /> if (data &amp; psxX)NKROKeyboard.add(KEY3); else NKROKeyboard.remove(KEY3);<br /> if (data &amp; psxR1)NKROKeyboard.add(KEY4); else NKROKeyboard.remove(KEY4);<br /> if (data &amp; psxO)NKROKeyboard.add(KEY5); else NKROKeyboard.remove(KEY5);<br /> if (data &amp; psxL2)NKROKeyboard.add(KEY6); else NKROKeyboard.remove(KEY6);<br /> if (data &amp; psxLeft)NKROKeyboard.add(KEY7); else NKROKeyboard.remove(KEY7);</p>
<p>NKROKeyboard.send();<br />}</p>
<hr />
<p>2P側</p>
<p>#include "HID-Project.h"<br />#include &lt;Psx.h&gt;</p>
<p>#define dataPin 7<br />#define cmndPin 6<br />#define attPin 5<br />#define clockPin 4</p>
<p>#define SLCT KEY_BACKSPACE<br />#define STRT KEY_ESC</p>
<p>#define SCR1 KEY_RIGHT_CTRL<br />#define SCR2 KEY_RIGHT_SHIFT</p>
<p>#define KEY1 'b'<br />#define KEY2 'h'<br />#define KEY3 'n'<br />#define KEY4 'j'<br />#define KEY5 'm'<br />#define KEY6 'k'<br />#define KEY7 ','</p>
<p>Psx Psx;<br />unsigned int data;</p>
<p>void setup()<br />{<br /> NKROKeyboard.begin();<br /> Psx.setupPins(dataPin, cmndPin, attPin, clockPin, 1);<br />}</p>
<p>void loop()<br />{<br /> data = Psx.read();<br /> if (data &amp; psxSlct)NKROKeyboard.add(SLCT); else NKROKeyboard.remove(SLCT);<br /> if (data &amp; psxStrt)NKROKeyboard.add(STRT); else NKROKeyboard.remove(STRT);<br /> if (data &amp; psxDown)NKROKeyboard.add(SCR1); else NKROKeyboard.remove(SCR1);<br /> if (data &amp; psxUp)NKROKeyboard.add(SCR2); else NKROKeyboard.remove(SCR2);<br /> if (data &amp; psxSqu)NKROKeyboard.add(KEY1); else NKROKeyboard.remove(KEY1);<br /> if (data &amp; psxL1)NKROKeyboard.add(KEY2); else NKROKeyboard.remove(KEY2);<br /> if (data &amp; psxX)NKROKeyboard.add(KEY3); else NKROKeyboard.remove(KEY3);<br /> if (data &amp; psxR1)NKROKeyboard.add(KEY4); else NKROKeyboard.remove(KEY4);<br /> if (data &amp; psxO)NKROKeyboard.add(KEY5); else NKROKeyboard.remove(KEY5);<br /> if (data &amp; psxL2)NKROKeyboard.add(KEY6); else NKROKeyboard.remove(KEY6);<br /> if (data &amp; psxLeft)NKROKeyboard.add(KEY7); else NKROKeyboard.remove(KEY7);</p>
<p>NKROKeyboard.send();<br />}</p>
<hr />
<p>DPで2台使っている人は、これで1P側のセレクトキーでオプション、2P側のセレクトキーでオプション切替え、スタートキーがESCキーの役割を果たすようになるので、キーボードに触れる機会をだいぶ減らせると思います。</p>
<p>また、参考にしたリンク先では、スクラッチの方向に違和感があったので、割り当てを変更しています。お好みでCTRLキーとSHIFTキーを入れ替えて使ってください。</p>
<p>ちなみに、キー割り当ての参考にしたサイトは、以下の通りです。</p>
<p><a href="https://www.arduino.cc/en/Reference/KeyboardModifiers" target="_self">https://www.arduino.cc/en/Reference/KeyboardModifiers</a></p>
<p>正直、遅延の軽減や判定ブレ等については実感できていない状態ですが、テンキー以外の機能をコントローラーでまかなえるようになったのが大きいですね。あと、USBコンバータはスリープからの復帰時に無効になっていたので、挿し直す必要があったのですが、これが不要になったのも地味に大きいです。</p>
<p>部品等を安く上げればやる価値があると思いますので、興味がある人は是非どうぞ。</p>
<p></p>
<p></p></div>
]]>
</content>


    </entry>
 
</feed>
