ITエンジニアのブログ

IT企業でエンジニアやってる人間の日常について

VOCALOID音楽動画を全部一人で作った話(4曲目)

こちら、前回の記事です。

VOCALOID音楽動画を全部一人で作った話(3曲目) - プログラミングと絵と音楽


今度は、ロック調の曲を作ってみました。

www.youtube.com


ギターはまだ上手に弾けないので、Electri6ityというギター音源を使ってギターを鳴らしました。

結構いい音が出るのでとても気に入りました。

アンプも相まっていい感じです。

VOCALOID音楽動画を全部一人で作った話(3曲目)

こちらは前回のEDMを作曲した記事です。

VOCALOID音楽動画を全部一人で作った話(2曲目) - プログラミングと絵と音楽

VOCALOIDで音楽動画を作った話第3回です。

3曲目は、田舎の情景と子どもたちの遊びをイメージした曲です。


↓ 柑橘畑と君 ↓

www.youtube.com


瀬戸内海が見え、柑橘類が成る、故郷の広島の地を思い出します。

東京に来てから、広島ののんびりとした空気感を恋しく感じることがあります。

そんなゆったりとした心境を音楽にしてみました。



以下の点を特徴にして描きました。

  • ドラムを使わず、最小限のパーカッションでリズムをとる。
  • テンポを下げ、長めの曲にする。

VOCALOID音楽動画を全部一人で作った話(2曲目)

VOCALOID音楽動画を作った話その2です。

1曲目はこちら
VOCALOID音楽動画を全部一人で作った話(1曲目) - プログラミングと絵と音楽

1曲目はバラード曲を作ってみましたが、色んな種類の曲を作りたいと思い、2曲目はEDM調の曲を作ってみました。

難しかったこと

  • 動画の3D要素を作ること。
  • リズムが一定なので色を付けてオリジナリティを出すこと。

気づき

  • 旋律線や対旋律を作るのが結構好き。


電子音の響きに活力を受けるイメージの曲です。

www.youtube.com

海外で人気のEDM曲をよく耳にするので、いつか英語の歌詞をつけたEDMを発信したいです。(英語力は全然満足できていませんが...)

VOCALOID音楽動画を全部一人で作った話(1曲目)

3年ほど前からやっていたことですが、ブログにも振り返りとしてまとめたいと思い、昔を思い出しながら書きます。

VOCALOIDの音楽動画を作って公開しました。

昔からニコニコ動画VOCALOIDのPVを視聴していました。その中で、一部の人は絵も描いて音楽も作っていて、すごいと思っており、影響を受けて楽器、絵描き、作曲などいろいろ挑戦してみました。

最初は何もうまく行かず、大学での勉強の方を優先していたので、数年単位でうまくいかない歯痒い思いをしましたが、しばらく時間をかけた後に曲を公開することができました。

大学生のときに練習したこと

  • ピアノを購入し、練習した。
  • ギター(エレキ、アコギ両方)を購入し、練習した(が、なかなかうまくいかなかった)。
  • イラストソフトの SAI や Clip Studio Paint で絵を描く練習をした。
  • 作曲ソフトの Logic Pro と Cubase を購入し、作曲の練習をした。

最終的には、Clip Studio PaintCubase が自分にしっくり来たので、それらを使うことにしました。

こちらが1つ目の曲です。

www.youtube.com

夢を見て大人になっていく過程をイメージしたバラード調の曲です。

ニコニコ動画YouTube に投稿したところ、ニコニコ動画の方が再生されています。(傾向として、有名でない人のVOCALOID音楽についてはニコニコ動画のほうが伸びていて、有名な人は YouTube の方が伸びている印象です。)
といっても、あまり再生されているとは言えませんが...

歌うことが好きなため、そのうち自分が歌った曲とかも出したいと思います。

C++でのライブラリの読み込みに関する注意

OpenGLGLUT を用いて C++ でゲームを作ろうとしています。
Mac で枠組みだけを記述して動作し、 surface pro 4 を購入して Virtual Box で Ubuntu の環境を整備したので、そちらでもコンパイルできるようにしました。
そのときにコンパイルがうまくできなかったときの記録です。
Mac では分割されたファイルのそれぞれに対し、

g++ -framework OpenGL -framework GLUT

を用いてコンパイルしていましたが、 Ubuntu では freeglut3, freeglut3-dev をインストールした後、

g++ -lglut -lGLU -lGL

を用いるようです。

OS = ${shell uname -s}
ifeq ($(OS), Darwin)
options = -framework GLUT -framework OpenGL
endif
ifeq ($(OS), Linux)
options = -lglut -lGLU -lGL
endif

target:
  g++ $(options) a.cpp

として完成、のはずでしたが、

'glutMainLoop' に対する定義されていない参照です

という文言が大量に出力されて失敗してしまいました。
原因は、読み込むライブラリを記述する位置が間違っていたみたいです。
適当なファイル a.cpp で

g++ a.cpp -lglut -lGLU -lGL

を実行するとコンパイルできるのが、

g++ -lglut -lGLU -lGL a.cpp

とするとエラーになってしまったのでわかりました。
ld に渡すライブラリは後に書かないといけないようです。

OS = ${shell uname -s}
ifeq ($(OS), Darwin)
options = -framework GLUT -framework OpenGL
endif
ifeq ($(OS), Linux)
libs = -lglut -lGLU -lGL
endif

target:
  g++ $(options) a.cpp $(libs)

として完成です。
なぜ位置を間違うとエラーになるのかまでは把握していませんが、オプションとライブラリはきちんと分けないといけないようです。

PHPのjson_decodeがNULLを返す場合の対処

PHPjson_decode を使って 自作の json ファイルを連想配列にしようとしていたのですが、何故か返り値が NULL になっていました。日本語が含まれていたからエンコーディングの問題かと思いましたが、そうではなく、オブジェクトや配列の最後の要素にカンマがついていたのが問題でした。 PHPjson_decode はそこら辺の融通が効かないようです。 Python とかならそこら辺は大丈夫なのでかえって嵌ってしまいました。

ちゃんと再起動しよう - .htaccess が有効にならない

簡易的にパスワードを設定したかったため、 .htaccess を設置したところ、変更が有効になりませんでした。 htaccess が機能しないことについて調べたところ、パーミッションやその他いろいろで .htaccess を変更しても動かず、 Apache 側で AllowOverride という値を変更しても動きませんでした。なんだかんだ手こずったのですが、 Apache の設定を変更したのに restart していないことに気づき、解決しました。 httpd.conf を変更する前に .htaccess の方ばかり弄っていたので完全に再起動という考えが抜け落ちていたのです、ちゃんとサーバー側の設定を弄ったら再起動することを肝に銘じておきましょう、ということで。