見出し画像

ChatGPTにPyxelを教えてもらう(サウンド編)

Pyxel にサウンドを打ち込むのは結構大変
ChatGPT にお願いしてみた結果


You
pyxel 心地よいメロディのsoundのコード

ChatGPT
pyxelで心地よいメロディを作成するためのコード例を紹介します。ここでは、ゆったりとしたメロディが流れるように設定し、それを再生する簡単なプログラムを作成します。

心地よいメロディを作るために、以下のポイントに注目します:

  1. ゆっくりとしたテンポでメロディを設定する。

  2. 和音を使って豊かなサウンドを作り出す。

  3. 柔らかく響く三角波矩形波を使用する。

以下のサンプルコードでは、これらの要素を組み合わせています:

import pyxel

def relaxinge_melody():
    # Pyxelの初期設定: ウィンドウのサイズとタイトルを設定
    pyxel.init(160, 80, title="Relaxing Melody Example", display_scale=3)

    # メロディの設定
    # 音色: 三角波で柔らかい音
    # 音量: 徐々に小さくなる
    # 効果: ノーマル
    # テンポ: BPMに相当するスピード
    pyxel.sounds[0].set(
        "c3e3g4 c3e3g4 f3a3c4 f3a3c4 g3b3d4 g3b3d4 e3g3b3 e3g3b3",
        "t",
        "5555 7777 6666 4444",
        "n",
        30)

    # ゲームの更新と描画を行う関数をPyxelのrunメソッドに渡して実行
    pyxel.run(update, draw)

def update():
    # キーボードの入力を検出して、音楽を再生
    if pyxel.btnp(pyxel.KEY_SPACE):
        # メロディをチャンネル0で再生
        pyxel.play(0, 0)

def draw():
    # 画面をクリア
    pyxel.cls(5)
    # 操作説明を画面に表示
    pyxel.text(30, 30, "Press SPACE to play melody", 7)
    
relaxinge_melody()

このコードでは、和音を含むゆっくりとしたメロディがチャンネル0で再生されます。pyxel.sound().setメソッドでメロディ、音色、音量、効果、テンポを設定しています。update関数でスペースキーが押されるとメロディが再生され、draw関数で操作説明を画面に表示します。

このプログラムを実行すると、スペースキーを押す度に心地よいメロディが流れるので、試してみてください。


コードは一部修正していますがほぼそのまま、こんなこともできるとは

この記事が気に入ったらサポートをしてみませんか?