【3日目】paizaとatcoder【pythonで音楽系人工知能を作るまでの日記】

2022年12月6日

今のところ考えている案としては、勝手に曲をMIXしてくれるAIとかつくれないかなという感じ。

とりあえず来年の4月にならないとゼミが始まらないので、それまではpythonや機械学習などの基礎知識を鍛えようと目標を立てた。

世の中には競技プログラミングなるものがあるらしく、プログラミング能力を鍛えるのに良さげな感じ。

日本で有名なのはatcoderらしいのでとりあえずatcoderの過去問を解いてみた。ABCという一番簡単な問題を解いたんだけど、問1からビット演算を使う問題でマジで歯が立たなかった。

とりあえず、まだatcoderを解くレベルではないと判断してpaizaのスキルチェック・AOJ・アルゴ式という3つのサイトを使い地力の底上げ。

 paizaのスキルチェックはatcoderのお手軽版みたいなイメージ。とりあえずさっきB問題が初めて解けたので嬉しい。atcoderの下から2番目のランクはpaizaの一番上のランクと同じくらいのレベルらしい。paizaが低いのかatcoderが高いのかわからんね。

 AOJはプログラミング入門コースだけを終わらせた。後半は歯ごたえある問題もあるけど、人の回答が見えるから一番為になると感じる。

 アルゴ式は一昨日始めたばかりだから何とも言えないけど、アルゴリズムとかビット演算とかを一から教われるサイト。コンテンツはまだ少ないらしいけど、アルゴリズムのアの字も知らない私からすれば素晴らしいサイト。

今あげた3つのサイトとatcoderは全部無料でめっちゃ為になるからおすすめ。

昔の私に学習順を教えるなら

【ゼロからのPython入門講座で基礎を学ぶ】→

【paizaのDランク問題で標準入力と出力に慣れる】→

【AOJのプログラミング入門コースを解く】=【paizaのCランク問題も触ってみる】→

【アルゴ式でアルゴリズム学ぶ】=【atcoderのABC問題をやってみる】→

【paizaのBランク触ってみる】=【atcoderの大会に生で参加してみる】

という順をお勧めする。

私はこれに加えてブラックフライデーセール中だったUdemyで一番売れてたpythonの基礎講座的なのも1000円強で買ったんだけど、正直使ってないし今のところ必要はないかなという感想。

 機械学習や人工知能はまだ完全な目標が決まってないから進め方が少し難しい。

 とりあえずはUdemyで人工知能の基礎ってやつと作曲AIを使ってみよう的なのがあったのでそれを買って学んでいる感じ。

 それに加えて【pythonではじめる音のプログラミング】というはちゃめちゃどストライクの本があったのでそれでも学ぼうとしている……が、この本をしっかりと理解するなら音響学の基礎知識と三角関数(特にSin波)の基礎知識があった方が良いっぽい。一応数学はある程度好きだったし音響学は知らないけど音楽は実際にDTMしてるから辛うじて理解できるけど、簡単ではない。

 音をプログラム等で機械的に、デジタルに表現する仕組みが知りたかったら本当におすすめ。どうにか理解しようとは思うけど、難易度は圧倒的に高いかも。