趣味プログラマによるOSS開発日誌

趣味で作っているOSSソフトウェアの紹介や関連技術の紹介、楽曲製作、Webデザイン勉強状況を紹介します。

マウスクリックで最も近い頂点を結合するBlenderアドオンを作りました

Blenderを使っている方ならご存知かもしれませんが、メタセコイアという日本の方が作成されたモデリングツールがあります。

metaseq.net

 

このツール、頂点の編集に関してはBlenderやその他多くのCG作成ソフトに比べて操作が単純なため、非常に使いやすいのでプロの方でも使われている方が多いそうです。私はその中でも特に、マウスの右+左クリックを同時に行った時の隣接頂点の結合が非常に便利な機能だと思い、Blenderでも同様な機能があったらいいなと思っていました。

そこで、同様の機能を持つBlenderのアドオン『Mouse Click Merge』を作成してみました。

 

www.youtube.com

 概要

プラグイン Mouse Click Merge (MCM)
ファイル名 mouse_click_merge
バージョン 0.1
動作確認済みBlenderのバージョン 2.70〜
作成者 ぬっち
ライセンス GPL 3+
プラグイン本体(安定版) 機能審査中のためありません、
プラグイン本体(最新版)

https://github.com/nutti/Mouse-Click-Merge/releases

説明 マウスクリックにより最隣接頂点を結合する

使い方

プラグインのインストールの方法については以下をご覧ください。

http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Extensions/Python/Add-Ons

ここではプラグインが無事インストールできたとして、プラグインの使い方を紹介しておきます。

  1. 'N'キーで表示されるメニューから、「Start Merge Tool」をクリック
  2. マージする頂点を左クリック
  3. 左クリック+右クリックを同時に行い、再隣接頂点を結合
  4. 'N'キーで表示されるメニューから、「Stop Merge Tool」をクリックし編集を完了

今後の予定

作成したプラグインの今後のサポートですが、Blenderのmasterレポジトリへ登録されることを考えています。そのため前に私がQiitaに書いた記事に沿って、現在は各所で機能レビューをお願いしています。

そこで、もし本機能に対するご要望・不具合などがございましたらお知らせください。頂いた要望などは、今後のリリース時に可能な限り反映させていく予定です。

qiita.com

関連ページ

【コード進行分析】 Karakuri Spirits (まもるクンは呪われてしまった!)

『Karakuri Spirits』というBGMが、ゲーム音楽の中で評判が良かったので耳コピしてみました。相変わらず音楽理論がよくわかっていませんが、分析もしてみました。


最初にこのBGMを聴いた時、やや和風な感じがするのとそのアップテンポな曲調が印象的でした。耳コピしている私も気分が上がってきて楽しかったです。

 

Karakuri Spirits(まもるクンは呪われてしまった!

===========================================
BPM:153
key(調):Gmト短調
作曲者:安井洋介
BGMのかかる場所:道中曲(からくり城)
===========================================
[Aメロ]
  • コード
| Gm | Cm | F | D |
| Eb | Gm | Gm - Cm7 | D |
| Gm | Cm | F | Em7 - Eb7 |
| Gm | Dm - Gm | Cm - F | Gm |

  • 度数表記
| I | IV | VII | V |
| VI | I | I - IV7 | V |
| I | IV | VII | VIbm7 - VI7 |
| I | V - I | IV - VII | I |


VIbm7 - VI7がかっこいいですね。

このコード進行、実は前にも何度か聴いたことがあって、半音下げてMajorとMinorを交換したすると凄い印象に残るコードになりますね。

おそらくこのコード進行は音楽理論で説明がつくのでしょうが、まだよくわかっていません。裏コード?

-----------------------
[Bメロ]
  • コード
| Cm7 | D | Gm | Eb |
| A | D - F | Gm | D |
| Cm | D | Gm | A |
| D | Gm | Eb |

  • 度数表記
| IV7 | V | I | VI |
| IIM | V - VII | I | V |
| IV7 | V | I | IIM |
| V | I | VI |


最初のIV7 - V - I - VIは有名なコード進行のようです。妙に聴きやすいなと思ったら、定番進行として取り上げられていました。

悲しいのと明るいのが交互に出てきていて、まるでからくりがわかった時とからくりに悩んでいる時を表しているようにも見えます。


後半にI - IIM - Vと続きますが、IIMが非常に印象的ですね。

和音構成ではMinorであるところをあえてMajorコードとしていることで、この部分非常にドキッとさせられます。からくりであることに驚いた様子を示したかったのでしょうか。

また、耳コピを始めてからこのパターンを結構見かけるのですが、音楽理論でなにかあるのでしょうか?

ちなみにそのあとはVとなっているため、ツーファイブになってます。

-----------------------
 
全体を見てみるとVII、IIM、Vといったコードが目立ちます。
曲がやや不安定に聞こえるのはこのためかもしれませんね。


分析といっておきながら感想に終わってしまっていますが、今回のコード分析の記事はこれでおしまいです。
ガチガチなコード分析を期待していた方、ごめんなさい。
より良い分析ができるよう、精進してまいります!

【コード進行分析】 Streamside (Ragnarok Online)

Ragnarok Online(ラグナロクオンライン)のプロンテラの周辺のフィールドで流れるBGM『Streamside』のコードを耳コピしてみました。
ROを引退した人がこの曲を聴くと懐かしさを感じるのではないでしょうか。
私もその一人で、この曲を聞くとギルドの溜まり場でまったり会話した時のことを思い出します。
この曲を初めて聴いた時の印象は、暖かい・優しい・明るいでした。

 

Streamside(Ragnarok Online

===========================================
BPM:107 → 110
key(調):Eb(変ホ長調) → E(ホ長調
作曲者:soundTeMP
BGMのかかる場所:フィールド曲(プロンテラ周辺)
===========================================
[Aメロ]
  • コード

| Ab | % | Eb | % |

・・・(繰り返し)・・・

| Ab | % | Eb | % |

| Ab | % | Eb | Bb |

| Bb | Eb |

  • 度数表記

| IV | % | I | % |

・・・(繰り返し)・・・

| IV | % | I | % |

| IV | % | I | V |

| V | I |

同じコード進行が何度も繰り返されます。
最後以外はすべて同じで非常に単調に思えますが、このコードは『思いどおりに作曲ができる本』にも紹介されていて、何度も繰り返すだけで曲になってしまうコードなんだそうです。
そしてこのコード進行を使うことで、しっとりとした印象を与えることができるそうです。
まさにそんな感じが出ていますよね。
-----------------------
[Bメロ]
  • コード

| A | % | E | % |

・・・(繰り返し)・・・

| A | % | E | % |

 

  • 度数表記

| IV | % | I | % |

・・・(繰り返し)・・・

| IV | % | I | % |

BメロはAメロからの半音上げの転調とBPMが3増えていることが特徴ではないでしょうか。

半音上げでも抑揚感のある雰囲気になりますが、BPMを増加させることで抑揚感をさらに押し上げています

実際にBメロを聴くと元気な気分になれるのはこのためでしょうね。

それ以外の部分はAメロと同じです。

-----------------------

非常にコード進行が単純な曲でしたが、参考になる点が色々とありました。

特にBPMの変動は使い方が難しいでしょうが、うまく使えば転調と合わせて曲の雰囲気を変えることができるので、使いこなしたいところです。

Qiita投稿アプリ開発(20) 開発を終えて

アプリ名でリジェクトを受けてどうなることやらと思っていましたが、2回目のレビューを運良く通過し、無事アプリをリリースできて良かったです。

リリースという一つの区切りを迎えたので、ここで今回の開発を振り返ってみます。
開発期間が約二ヶ月間となってしまい、開発規模に対してリリースまで時間がかかってしまった感じがします。
これはおそらくPhoneGapでの開発が初めてであることと、ゲームではないアプリの開発が初めてであったためでしょう。
しかし色々と初めての試みであったこの開発を通して、色々なことを学べたのも事実です。

  • PhoneGapの使い方(インストールから、アプリのリリースまで)
  • HTML+CSSによるデザインの仕方
  • Javascriptの基本的な使い方
  • jQuery, zepto.jsなどのJavascriptライブラリの使い方
  • bootcamp, Flat UI, Onsen UIなどのデザインライブラリの使い方
  • POST, GETなどのHTTPリクエストについて
  • OAuth認証の流れ
  • ajax通信について
  • ライブラリに問題がある場合に自ら修正することの大切さ
ざっと思いつく限りでもこれだけあります。
特に最後について、問題点を報告してから直してもらうよりも、公開されているソースを見て修正する方が早く解決できる可能性があることを今回の開発で教えてくれました。
オープンソースの場合は自力で修正できるという点が、ソースが公開されていない場合と比較して良い点だと改めて感じました。

アプリ開発を通してWeb関連の技術に触れられたことも非常によかったです。
このアプリを開発する前まではPOST送信・GET送信なんて名前しか知らず、JSON何それ状態でしたので、今回の開発でこれらのWeb技術に触れることができて良い勉強になったと思います。
またOnsen UIと呼ばれる、素晴らしいCSSライブラリに出会えたことも良かったです。
開発当初はデザイン含めて全て自作することも考えていたので、このライブラリを知らなかったら、今のようなきちんとしたフラットデザインにはならなかったでしょう。

色々と学べたことも良かったですが、何より楽しんで作れたことと、完成できたことが一番良かったです。
最初の段階で完成のレベルを低めに設定し、終わりが見えやすいようにしたことが良かったのかもしれませんね。

ひとまず開発はこれで終わりですが、ソフトに限らず何かものを作ることは非常に楽しいことです。
また何か良いネタが思いついたら作りたいですね!

最後に、このような素人丸出しのアプリを使っていただいている方、ありがとうございます!
改善して欲しいことやアプリの不具合等がありましたら、報告いただければ可能な限り対応したいと思います。
アプリに対する批判は大いにしていただいて良いですが、本アプリは公式のものではないため、要望はQiitaのサポートではなくアプリの作者である私に直接お願いします


開発とは直接関係ないですが、Qiita投稿アプリ開発シリーズの記事もいつ間にか20回を迎えてましたね。
今回の記事でこのシリーズは一段落つきましたが、まだまだアプリの改善が残っていますので、記事の投稿は続ける予定です。
とは言ってもアプリ名が正式に決まってしまっているので、今後はタイトルを変更するかもしれません。
初期の段階から本シリーズの記事を読んでいただいている方はあまりいらっしゃらないと思いますが、今まで本シリーズの記事をご購読いただきありがとうございました!

Qiita記事投稿専用アプリ『どこでもQiita』リリース

これまで開発を続けてきた、Qiitaへ記事を投稿する専用アプリ『どこでもQiita』がAppleの審査を無事に通過し、正式にリリースしました!

アプリは以下のリンクからダウンロードすることができます。

 

 f:id:nuttinutti:20150407220922j:plain f:id:nuttinutti:20150407220817j:plain f:id:nuttinutti:20150407220852j:plain

f:id:nuttinutti:20150407220838j:plain f:id:nuttinutti:20150407220907j:plain

Android版も提供予定ですが、動作確認が取れていないため、確認が取れ次第公開する予定です。
  • 開発期間
    2015.2.7(?) - 2015.3.29
  • 使用ソフト
    • 開発環境
      PhoneGap(Cordova)
    • アイコン
      Photoshop CS6 Extended

『どこでもQiita』を使ってできること

Qiitaに記事を投稿したり、投稿した記事を編集出来たりします。
Qiitaに記事を投稿するためのアプリですので、他の人が書いた記事は参照できません。
  • OAuth認証によるQiitaへのログイン(GitHubTwitterアカウントによるログインも可能)
  • 記事の新規投稿
  • 記事の下書き保存
  • 投稿した記事の修正・削除
  • 下書きの修正・削除・Qiitaへの新規投稿
  • 記事・下書きのプレビュー(Qiitaとの互換性はなし)

ソースコード

『どこでもQiita』の全ソースコード(パスワードなどの秘密情報は除く)はGitHubに公開しています。

github.com

ライブラリを何度も変えたのと、リリースに向けてほぼ突貫工事のような開発を行っていたので、ソースコードの見やすさは度外視しています。

不要なファイルも入ってしまっているので、今後アプリをバージョンアップした時に整理・修正したいと思います。

今後のアプリの更新について

既にいくつか追加・修正しておきたい機能が出てきています。
次回以降リリースする時に反映させたいと考えているものを、以下に示します。
  • 既存のタグを検索して入力
  • TwitterやGistへの投稿確認は、投稿ボタンを押した時の確認画面で表示
  • エディタでmarkdown記法の構文を入力するボタンの設置
  • エディタの全画面表

アプリのサポートについて

改善して欲しいことやアプリの不具合等がありましたら、報告いただければ幸いです。
本アプリは公式のものではないため、ご報告はQiitaのサポートではなく、作者である私に直接お願いします。
 
 

ユーザが登録した座標軸にオブジェクトを向かせるBlenderプラグインを作りました

少し前に知人から、Blenderって「座標軸にオブジェクトを傾ける機能」がないから困っているという話をしていました。

その時は簡単なスクリプトを作って終わりにしてしまったのですが、これって案外困っている人が多いのではないかなと思い、きちんとしたプラグインとして作成しました。

 概要

プラグイン Face to Transform Orientation(FTO
ファイル名 face_to_transform_orientation.py
バージョン 0.1
動作確認済みBlenderのバージョン 2.70〜
作成者 ぬっち
ライセンス GPL 3+
プラグイン本体(安定版) 機能審査中のためありません、
プラグイン本体(最新版)

https://github.com/nutti/Face-To-Transform-Orientation_Blender-Ext/tree/develop

説明 登録した「Transform Orientations」の座標軸にオブジェクトを回転させる

使い方

プラグインのインストールの方法については以下をご覧ください。

http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Extensions/Python/Add-Ons

ここではプラグインが無事インストールできたとして、プラグインの使い方を紹介しておきます。

  1. 'N'キーで表示されるメニューから、Transform Orientationを登録
  2. 移動させるオブジェクトを選択
  3. 「Object」-「Face to Transform Orientation」をクリック
  4. (必要に応じて)ツールシェルフのプロパティから、オブジェクトを向かせたい座標軸及び、座標軸からの回転のオフセットを選択

今後の予定

作成したプラグインの今後のサポートですが、Blenderのmasterレポジトリへ登録されることを考えています。

そのため前に私がQiitaに書いた記事に沿って、現在は各所で機能レビューをお願いしています。

qiita.com

ちなみにTwitterBlender Artist、D.B.Oなどで宣伝したところ、今のところ以下の2点について改善案をいただいています。

  • 邪魔に感じる人がいるかもしれないので、メニューは「Object」直下におかないで、「Object」-「Transform」の下に置いたほうが良い
  • 整列ツールとして使えるようにするため、Activeなオブジェクトだけでなく選択したオブジェクト全部について、適用可能にしたほうが良い

正式リリース前にはこれらを修正する予定ですが、他にも便利そうな機能やプラグインの問題点がありましたら、ご連絡いただければ幸いです。

関連ページ

 

SHIROBAKOのOP『COLORFUL BOX』と『宝箱-TREASURE BOX-』のコード進行を比較してみた

アニメ自体は見ていないのですが、SHIROBAKOの1クールと2クールのオープニングがよく似ていたので比較してみました。

 

『COLORFUL BOX』 (SHIROBAKO)

===================================
BPM:161
key(調):F(ヘ長調
作曲者:カヨコ
===================================

始めて聴いた時、非常に前向きな曲だなと思いました。

そして聴いた瞬間にハッペルベルのカノンと似ているなと思いました。

key=Fなので、平和的な感じのする曲調ですね。

-----------------------

[Aメロ]

| I | IV | V | VI |

| I | IV | V | VI |

良くある王道進行が二回続いています。歌詞と合わせてみると、これから目標に向かって頑張るぞという意気込みを感じます。

コードも上昇進行で、こちらも元気が出てきてしまいます。

-----------------------

[Bメロ]

| IV | IVmM7 | III | VI |

| II | I / III | IV | IV / C |

詳細はTREASURE BOXで。

-----------------------

[サビ]

| I | V | VI | III |

| IV | III | VI | VII | V |

| VI | V | IV | III |

| IV | III | VI | II | III |

始めて聞いた時にハッペルベルのカノンに似てると思った理由がここにありました。

JPOPでよく使われているカノン進行ですね。

後半はカノン進行を少し崩した感じになっていますが、飽きさせないためでしょうか。

-----------------------

 

『宝箱-TREASURE BOX-』

===================================
BPM:162
key(調):Eb(変ホ長調
作曲者:カヨコ
===================================

COLORFUL BOXのような明るさがなく、どちらかというと何か壁にぶつかって乗り越えていくような印象があります。

key=Ebは真剣な様子を表すような曲調になりやすいので、締め切り間近でプロジェクトが佳境に入っているのを伝えたいのでしょうか。

時々演奏されるアコーディオン(?)が良いですね。少し重い印象のあるこの曲の中で癒しの効果があります。

-----------------------

[Aメロ]

| I | V | VI7 | III |

| IV | III | VIb7 | V |

| VI7 | V | IV | III |

| IV | III VI | II V7 | Isus4 |

はい、カノン進行ですね。カノン進行は特徴的で非常にわかりやすいです。

COLORFUL BOXと同じようにカノン進行を使うことで、2曲間の関係性を出しています。

また、2回目の1小節目はIVとなっていますが、Iと同じと考えてよいでしょう。

最後はツーファイブからのドミナントモーションですね。

-----------------------

[Bメロ]

| IV7 | IVmM7 | III7 | VI7 |

| II7 | III7 | V | Vsus4 |

COLORFUL BOXのBメロとコードが良く似ています。Aメロと同様、あえて似せることで2つの曲の関係性を出したかったのかもしれません。

個人的に1,2小節のコード進行がなぜこの形をとっているのか知りたいところです。この部分かっこいいです!

-----------------------

[サビ]

| IV7 | V | III | VI |

| II7 | III7/V | VI7 |

出ました王道進行!アニソンなどのJPOPを聴いてるとよく出会うコード進行ですね。

最近楽曲分析したゲーソン・アニソンだと、

などなど、例を挙げたらきりがないくらいたくさん使われています。

ヒットしたJPOPにも多用されているので、日本人が本当に好きなコード進行なのでしょうね。

後半は分数コードが使われていて、ツーファイブとなっています。

-----------------------

 

作曲者・BPM・使われているアニメが同じで、タイトルも似ているためでしょうか。

曲の雰囲気が似ていますし、使われているコード進行も似ています。

特にどちらの曲もカノン進行を使っているところがポイントですね。カノン進行というと明るさと暗さが交互にやってくる印象があるので、作中にも壁にあたってそれを乗り越えたりするストーリー展開があるのかもしれません。(視聴していないのでわかりませんが。)

しかし似ているといっても、調が半音変わるだけで曲の雰囲気が変わるところが面白いですね。

 

アニソンの楽曲解析していると、アニメの内容を曲で表現するために色々な方法が取られていることが多く、分析していて非常に楽しいです。コード進行だったり使われている楽器だったり、歌詞だったりと表現の方法は作曲者によって様々です。

アニソンって世間ではあまり評価されないところもあります。しかし私が作曲したいと考えているゲームBGMのように、BGMが流れるシーンに合う曲を作るという意味でアニソンの楽曲分析は非常に参考になります。

作曲の上達のためにも、楽曲分析は続けて行きたいですね。