こんにちは!サキナオコです^o^
寒いんですか、暖かいんですか?どっちなんですかね。
さて、先日のライブではありがとうございました!!*^o^*
楽しい時間でした!
さて、そのライブで使うために作ったループ曲をまとめて一つのファイルにしよう
とやってみたのですが、なぜか、できなかったのです。おそらくm4aが混ざっていたからだと思われ。
CakeWalkでmp3にしてみたのですが、それもよくなかったのか。。
だいたい、上の方法だと、いちいち””をつけるのが面倒臭い、さらにそれに+をつけるのがさらに面倒臭い、その上エラーになってもうムリ~~
これできるよね?Pythonで。
と思ったのですが、ご無沙汰すぎてもう自力で書ける気がしません。
先日簡単な足し算のコードすら満足に書けなくなっており、ショック死しそうでした。
で、ふふ、そこで、そうです、chatGPT!
お願いして書いてもらいました。すると音楽ファイルのあるフォルダのパスを書かなくてはいけないコードでしたので、それも面倒臭いので書かなくてもいいようにしてもらいました。
コマンドラインにてそのpythonファイルと音楽フォルダのパスを入れればいいようにしてくれました。なんてすてきな!
パスはターミナルにファイルやフォルダをドラッグドロップすれば簡単に入りますからね!ふふふ!らくちん!
VSCodeでmerge_mp3.pyを作成して以下をコピペ↓
import os
import shutil
import sys
def merge_mp3_files(folder_path):
# フォルダ内のすべてのmp3ファイルのパスを取得
mp3_files = [os.path.join(folder_path, file) for file in os.listdir(folder_path) if file.endswith('.mp3')]
# 出力ファイル名をフォルダ内の最初のMP3ファイル名から生成
output_file = os.path.join(folder_path, "merged.mp3")
# mp3ファイルを1つのファイルに結合
with open(output_file, 'wb') as output:
for mp3_file in mp3_files:
with open(mp3_file, 'rb') as input_file:
shutil.copyfileobj(input_file, output)
return output_file
if __name__ == "__main__":
# コマンドライン引数からフォルダのパスを取得
folder_path = sys.argv[1]
# mp3ファイルの結合を実行し、出力ファイル名を取得
output_file = merge_mp3_files(folder_path)
print("Merge complete. Output file:", output_file)
以下をターミナルに入力。pythonのあとに半角空白エクスプローラーよりコピペしたpyファイルつかんでいれる半角空白音楽フォルダをつかんで入れる
# エクスプローラーから上のファイルと音楽フォルダをつかんでいれる
python merge_mp3.pyつかんでいれる 音楽フォルダつかんでいれる
さあ、やってみますよ~先日ダメだったフォルダをつかんで入れてみます。
エラー。ん?pythonファイルの方がファイル名だけでした。ちゃんとドラッグドロップしてパス入ったら成功したもよう。
新たにできたファイルを聞いてみると、あれ?CakeWalkでmp3にしたファイルしか入っていません。もっとあったのに。
それ以外を別フォルダによけて実行してみたところ大成功!!ファイルになんか問題あったのかしらね。。でもとりあえず、あっという間にできて大満足!!
ああ、これで””や+をいちいちつける必要がなくなった~~!うれしい!とっても!!ありがとう!GPT!
コメント