読者です 読者をやめる 読者になる 読者になる

ごちゃログぴこっ

はなまるデジタル創作紀行(DTM、TAS、いろいろな技術)

メガドライブの音を有名FM音源(FM8)で出したい!結果は?

DAWを使ったいまどきのDTMでもメガドライブの曲を奏でたい! できれば機能性が抜群の大手のメーカーの有名FM音源を使って! という理由で Native Instrument FM8 (と DEXED)への音色移植を試みました。 結果、音源の系統が違うせいかメガドライブそのまま…

メガドライブの音が鳴る FMDrive + SPSG VST が最高!(無料音源紹介も一応あるよ)

メガドライブの曲を DAW + VST音源で奏でたい! そんなあなたに FMDrive + SPSG がおすすめです。ほか、少数の無料音源も紹介。

メガドライブの音源の音色設定(レジスタ値)を確認・ダンプする

メガドライブの音源(YM2612)の音色(レジスタ値)を確認・ダンプするのに役立つ技術方法を紹介します。Kega Fusion、vgm2pre、foo_input_vgm、VGM Player、Exodus などを使用して、VGM や TFI のダンプやチャンネルミュートなど、あらゆる側面から音色の実…

ピコカキコ向けに高音質なDPCMを用意する手順(私的メモ)

いろいろ試した結果、個人的にはだいたいこうなりました。 リサンプリング等の手順を何度か行うと思いますが、その際の値はピッチ補正値を決めるのに必要になると思うので、メモをしておきましょう。 変換元サンプルのループポイント以前のサンプルを削除す…

Bizhawk - Multitrack recording とは

ホットキー設定の一覧を眺めていると「Multitrack」で始まる項目がいくつかあることに気づきます。これは複数のプレイヤーの入力を個々に入力するための機能です(1フレームずつではなく、もっとまとまった単位で)。ただ、どこにも使い方の説明がなかったの…

Lua for Windows の LUA_PATH 設定(EmuLua からモジュールを使う)

Lua for Windows には多数のライブラリが含まれていますが、それらをTAS用エミュレータ組み込みの Lua から使おうとしてもロードに失敗します。これはパス設定が適切ではないためです。ロードが成功するようにパス設定を見直しましょう。このようなタイトル…

MIDI(SMF)→MML変換ツール「PetiteMM」の紹介・アルゴリズム

このたび、ごちゃと loveemu さんで PetiteMM という変換ツールを発表しました。開発着手時に「既に優れたツールがあれば開発する必要はないのでは?」と思い各種MIDI2MMLプログラムを比較してみたものの、納得のいくものが見つかりませんでした。PetiteMM …

各種MIDI2MMLプログラムを比較してみた

このたび、ごちゃと loveemu さんで PetiteMM という変換ツールを発表しました。開発に着手する前「既に優れたツールがあれば開発する必要はないのでは?」と思ったのですが、いくつか探して試した限りでは納得行くものが見つかりませんでした。そんなわけで…

FlMMLでPCエンジンのノイズを再現したいと思ったけど

FlMMLでPCエンジンのノイズを再現したいと思ったので、周波数からGB音源やFC音源に近似させてみたいと思いました。 REG FRQ(PCE) FRQ(GB) FlMML 0 1804.21 1638.40 o2c+ 1 1864.35 2048.00 o2c 2 1928.63 2048.00 o2c 3 1997.51 2048.00 o2c 4 2071.50 2048.…

ピコカキコ - WAV9で音階付きメロディ楽器を鳴らす方法・ポイント・仕組み

このピコカキコを聴くと、ストリングスの音が綺麗になっています。音階が必要なサンプル波形がどうしてこのように鳴らせるのでしょうか?FlMML の DPCM に LFO をかけると、通常のメロディ波形のように音程が取れるようになります。波形のループも可能です。…

ピコカキコ - WAV13によるPCM再生の考え方

WAV13によるPCM再生とは何か、例えばこのピコカキコを聴いてみてください。両サイドで鳴っているパッドの音、それにドラムの音、とても綺麗です。どちらもトリッキーな鳴らし方をしているようですが、この記事ではドラムで使われている技法を主に追求します…

MIDIトラック分割ツール「MidiSplit」を作りました

MidiSplit project page (Download) - Divide MIDI track by channel number & program numberMIDIファイルを読み込んで、楽器ごとにトラックを分割するツールを作りました。ツールの概要ですが、下記の画像をご覧ください。MidiSplit は主にチャンネル数を…

DeSmuMEに3D表示抑制機能を足してみた

Download Windows binary & source code (desmume 0.9.8-gfx3dHack)ゲーム中のキャラクタの画像だけとか、地形の画像だけキャプチャしたい時ってありますよね。他のエミュレータと同じくDeSmuMEにもレイヤー表示・非表示を切り替える機能はあるのですが、ゲ…

Lua-GD でのアルファチャンネルの扱い

Lua-GD のアルファチャンネルの扱いでよく失敗するのでまとめました。勘違いしていると、じつは画像が透明だったり、不透明だったり、半透明があるのに思い通りにブレンドされなかったりします。内容は Lua-GD 2.0.33r2 に準拠しています。他の環境下での挙…

なぜTASはdesyncする?原因追求とデバッグの仕方

エミュレータのバグによるdesyncの傾向と対策。直接直したい人や、開発者に効果的なデバッグ依頼をしたいときに。なお、TAS向けエミュレータで満たすべき要件は TASVideos / Laws Of TAS にまとめられています。 原因:矛盾したステートのセーブ・ロード 矛…

近鉄特急のネット予約とか買い方について調べたよ

突然ですが、よくわからなかったので駅員さんに聞いたりしていろいろ調べました。間違いや変更がある可能性があるので、確実な情報は信頼できる情報源を当たってください。 基礎知識 購入形態によらず乗車券と特急券は別である。ネット予約・購入できるのは…

VisualBoyAdvance でキー入力をAVIに出力するには?

Web拍手経由でご質問いただきました。 VisualboyAdvanceでLuaでの入力表示に関して色々とぐぐってたら、vba-rerecording rr22?とかいうのでjoypad.getdown(int port)という文章を見つけたので、RamWriter.lua(空白区切り版)という奴に file:write(string.f…

プロセスメモリエディタ「MHS」を利用したメモリ監視・操作

MHSはいわゆるプロセスメモリエディタと呼ばれるもので、ゲームの見えないパラメータを表示させたり、値を書き換えたりすることができます。類似のツールはほかにもありますが、TAS界隈ではよくこのMHSが利用されます*1。日本では同様のツールとして、うさみ…

「Hourglass」を利用したWindowsゲームのTAS製作

Hourglass (GitHub) はWindows向けゲームのTASを作成するためのツールです。www.nicovideo.jpHourglass が公開されてまもなく、洞窟物語TAS や Stickman TAS などが公開されました。Hourglass が使えるかどうかはゲームによって異なるようですが、今後も作品…

GitHubへのコミットをIRCにリアルタイム通知するには?

GitHubのリポジトリにコミットしたとき、CIA.vcを利用してIRCにメッセージが飛ぶようにします。簡単、無料です。 GitHub の設定 リポジトリの Admin ページを開く (管理者アカウントが必要) Service Hooks をクリックして、一覧からCIAを選択 Active にチェ…

Snes9xで使うライブラリのビルド方法 (zlib, libpng)

Snes9x 向けの zlib と libpng のビルド手順です。手順は試行当時のもので、今後変更される可能性があります。本体のビルドについては、Snes9x のソースコードをコンパイルするをご覧ください。 使用するツールとライブラリ Visual Studio 2013 Community Ed…

Snes9x のソースコードをコンパイルする

本記事では GitHub にある Snes9x (snes9xgit) のビルド方法(Windows)をガイドします。私自身は Snes9x との関わりが薄れてきていますが、今後しばらくは有用な情報として生きるのではと思います。 Snes9x Git (公式リポジトリ) https://github.com/snes9x…

LuaでTwitterにpost!

LuaスクリプトでTwitterにツイートを投稿する手順をお教えします!半年前に同じ記事を書いたときはBasic認証を利用していましたが、Basic認証は廃止されてしまいました。そこで今回はOAuth認証を行うことにします。基本的にはignacioさんのLuaOAuthをそのま…

EmuLuaでTwitterるわ!

Basic認証が廃止されてしまったので、以下の内容は現在利用できません。こちらをご覧ください→LuaでTwitterにpost!LuaでTwitterるわ! という素晴らしい記事がありますので,流用してemutweet.luaのようなスクリプトを書けば,簡単にTwitterに追記回数キリ番…

Lua for AviUtl で EmuLua の gui 関数を使う

Lua for AviUtl で使える EmuLua 互換の関数を用意する話です。後年追加された AviUtl 本体の Lua 機能とは異なりますが、応用はできるかもしれません。 aviemugui.lua DeSmuMEはLuaの描く画像を含めたAVI出力ができません。Luaの内容を含めたAVIを作成しよ…

「忙しい人のためのカービィボウルTAS」とスクリプトによる自動カット編集

「忙しい人のためのカービィボウルTAS」と題して、過去作であるカービィボウルTASの編集版をアップロードしました。※TAS関連でいろいろあったときに動画は削除しちゃいました。許してヒヤシンス! カービィが移動している瞬間だけをトリムして結合した感じの…

メモリ内容等を動画(の外側)に表示させる方法

先日発表されたロックマン2 TASの動画は、普段目にすることのないメモリの内容を画面右下に表示していました。本稿ではこの方法について説明します。作業工程にLuaを用いるため、少なからずLuaの知識が要求されます。さほど難しくもありませんし、TAS制作に…

DS 悪魔城ドラキュラ 蒼月の十字架 TAS in 08:20.12 by gocha

悪魔城ドラキュラ 蒼月の十字架は、変態的なTASでおなじみの探索型悪魔城シリーズの作品であり、悪魔城ドラキュラ 暁月の円舞曲の続編です。ここからの記述はおおいにネタばらしになっています。まずは何も読まずに動画を鑑賞することをおすすめします!リン…

バージョン管理システムでTASプロジェクト管理・共有しよう! 〜初心者向けSVN入門〜

「TASプロジェクトの管理にバージョン管理システム(SVN)を使ってみてはどう?」という、よいこのTASさん向けのおはなし。ちなみに Subversion は2016年現在も現役ですが、後発の Git というバージョン管理ツールが流行しています。 バージョン管理システム…

Luaスクリプトによる半自動マップ画像作成 - 魔導物語 はなまる大幼稚園児

「Luaスクリプトは発想次第でさまざまな可能性を開ける」先人のスクリプトの数々をみてそう思いました。そこで「わたしもなにかみんながびっくりするような案を出して、なでなでされたい!」という一心で勢いよく書いたのが今回のスクリプトです。実際のソー…

gdフォーマット概要 (not gd2)

libgdのソースコードを眺めつつ、gdフォーマットの内容をまとめてみます。EmuLuaのために調べましたが、通常はgdフォーマットを直接操作せず、一般的なフォーマットをライブラリにやりとりさせる方法が望ましいでしょう。自らの目でより詳細な情報について確…

TAS用エミュレータの機能紹介

TASに興味がある方、エミュレータ開発者の方にひたすら機能を紹介する長い記事です。すべてのTAS用エミュレータがここに書かれているすべての機能を有しているわけではありません。TAS用エミュレータはオープンソースなので、これまでにない画期的なアイデア…

Luck manipulation と乱数の説明

TAS(tool-assisted speedrun)関連のお話。乱数(random number)、運・確率(luck)およびluck manipulationに関する説明です。一応「なにそれ?」という方にわかるような説明を目指しています。また、luck manipulationに対応する日本語はなにか? 今でこ…

Luaでメルセンヌ・ツイスタ(MT乱数)かいてみたよ

昨日LuaでXorShiftかいてみたよという記事を書いたばかりですが、ちょっとコードを流用してMTも用意してみました!ビット演算周りにLuaBitOpモジュールを使っています(Lua for Windowsの場合5.1.4.22より付属)。その他の方向性やアプローチはXorShiftと変…

LuaでXorShiftかいてみたよ

関連:Luaでメルセンヌ・ツイスタ(MT乱数)かいてみたよ唐突ですがLuaスクリプトはじめました。Luaスクリプトに対する個人的な感想はさておき、乱数生成の精度というか挙動がちょっと気に入らなかったので、知る人ぞ知るXorShiftという乱数生成アルゴリズム…

UPSフォーマット仕様書

現在は、UPSを設計したbyuu氏による新しいパッチフォーマット「BPS」が提案されており、新たにUPSに対応する必要性は低いです。UPSはIPSに代わって提案されたパッチファイル形式です*1。tsukuyomiを用いることでパッチの作成と適用がおこなえます。ソースコ…

ロックマン2のTASプロジェクトに挑戦しませんか(完結!)

FinalFighterさんからかけられたロックマン2のTAS協力者募集です。2009年の年始をもってそのTASの制作も無事終わりを迎えたため、ここもプロジェクトの足跡となりました。めでたしめでたし。【TAS】 ロックマン2 世界記録 in 24:33.5 (2009-01-13) 【記録更…

TASパフォーム論「斜めに動け」

斜めの動きを取り入れると視覚的に速さが出るという話です。 パフォーム論概要 TASでは最速でゲームをクリアすべくいろいろな移動の仕方を模索します。ゲームによっては「跳ねているかいないか」なんてことが速度に結びついているために、そのあり方に一定の…

CanoScan (9900F/9950F他)「rmslantc.dllが見つからなかったため、このアプリケーションを開始できませんでした」 解決方法

イメージスキャナ CanoScan 9900F を使おうと思ったときのお話。 「rmslantc.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すと、この問題は解決できることがあります」「TWAIN接続エラー。…

TAS動画を作ろう2007 Part.1 〜TASで用いる機能の数々〜

2007年時点の情報です。現在の最新情報からは乖離している可能性があります。また、後年に執筆したTAS用エミュレータの機能紹介とオーバーラップしているので、そちらを読むと良いかもしれません。先回は動画の記録方法をざっと眺めました。今回はTASで使わ…

TAS動画を作ろう2007 Part.0 〜記録・公開の手順〜

2007年時点の情報です。現在の最新情報からは乖離している可能性があります。TAS動画の作り方のガイドラインもどきみたいなものを書いていこうかと思います。もっとブラッシュアップして Wiki に書きたかったのですが、まとまったものを書くことはなかなか難…

スーパーファミコン カービィボウル (USA版) in 1:11:37.52 日本語訳

スーパーファミコン カービィボウル (USA版) in 1:11:37.52 by gocha 日本語テキストです。www.youtube.com注:テキトー訳なので多少の間違いがあることが考えられます。でも作者が言うんだからむしろこっちが本家 :Pカービィは球形をしたキャラクターなので…

MidRadio PlayerのMIDI音源をVSTiとして使う

MidRadio 6はともかく、MidRadio 7の音源でデータを作るときは確認が必須。けれどもいちいちMIDIファイルを出力してプレーヤーに演奏させるのは手間がかかりすぎる!「シーケンサでこの音源が使えればいいのに」というあなたの声にお答えします。 手順と解説…

RUNE/CAGE gアーカイブ

TODO:ソースコードからさらに多くを持ち込む。Susieプラグイン作成時にわかったことのメモ。プラグインはgochaismにあるかもしれません。 概要 全体的な構造は至ってシンプルです。 Size Description 8 識別子 "GML_ARC\0" 4 ファイルデータ位置 4 展開後の…

IPSフォーマット仕様書(バージョン 1.1)日本語

IPSは、データにパッチを当てるための、シンプルなシステムです。 ファイル構造 IPSパッチの大まかな構造は次の通りです。 項目 説明 Magic IPSパッチのシグネチャです。"PATCH"の5バイトでなければなりません。 Clusters パッチの集合体です。詳細は後述。 …