「ニャー」と聞こえたら?「ワン」と聞こえたら?プログラムがランダムに動物の鳴き声を流して、答えを当てるクイズを作るよ。音をパソコンで扱う初めての一歩。
1. 鳴き声ファイルをダウンロード
Wikimedia Commons や freesound.org に、自由に使える動物の鳴き声がたくさん公開されてる。 で curl コマンドで取ってこよう。
Colab セルで実行
Python
# 鳴き声を5種類ダウンロード(フリー素材から)!mkdir -p sounds!curl -sL -o sounds/dog.ogg "https://upload.wikimedia.org/wikipedia/commons/4/49/Dog_barking.ogg"!curl -sL -o sounds/cat.ogg "https://upload.wikimedia.org/wikipedia/commons/3/35/Cat_meow.ogg"!curl -sL -o sounds/cow.ogg "https://upload.wikimedia.org/wikipedia/commons/9/9e/Cow_moo.ogg"!curl -sL -o sounds/sheep.ogg "https://upload.wikimedia.org/wikipedia/commons/3/3a/Bleat.ogg"!curl -sL -o sounds/rooster.ogg "https://upload.wikimedia.org/wikipedia/commons/0/06/Rooster.ogg"!ls sounds/ファイルが取れないとき
URL は時々変わる。エラーが出たら、Wikipedia の動物のページを開いて、再生ボタンの隣の「ダウンロード」リンクから .ogg ファイルの URL を取って差し替えてね。
2. クイズを作る
ランダムに鳴き声を再生して当てるクイズ
Python
import randomfrom IPython.display import Audio, display
# 動物と答えの辞書animals = { "dog": "犬", "cat": "猫", "cow": "牛", "sheep": "羊", "rooster": "ニワトリ",}
# 全5問score = 0n_questions = 5answers_pool = list(animals.keys())
for i in range(n_questions): correct = random.choice(answers_pool) print(f"\n【第{i+1}問】鳴き声を聞いて、何の動物か当てよう") display(Audio(f"sounds/{correct}.ogg", autoplay=True))
# 4択の選択肢を作る(正解 + ランダム3個) choices = random.sample([a for a in answers_pool if a != correct], 3) + [correct] random.shuffle(choices) for j, c in enumerate(choices): print(f" {j+1}: {animals[c]}")
user = input("番号で答えてね: ") if int(user) - 1 < len(choices) and choices[int(user) - 1] == correct: print("⭕ 正解!") score += 1 else: print(f"✗ 残念、正解は「{animals[correct]}」")
print(f"\n最終スコア: {score}/{n_questions}")3. もっと進化させる
- 動物を増やす:ライオン・ゾウ・カエル・小鳥... なんでも。Wikipedia から取ってこられる
- 国語の単語クイズにも応用できる:単語の意味を聞いて答える、英単語の発音を聞いて綴る、など
- 鳥の声で種類を当てるバードウォッチアプリ風にしてみる
- 速さを測る:最初の鳴き声から答えるまでの秒数も記録する
次回予告
次回(EP.11)は、自分の住んでる町の地図を表示しよう。緯度・経度の世界へ。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。