MP3
Python3
百人一首
pygame
mutagen

Pythonに百人一首を読み上げてもらった


はじめに

年始早々に「百人一首やってないやん!」とか母が急に言い始めた。

こーゆうときに誰が歌読むの?ってなるので、そうだpyてょn(Python)に読ませよう!!


環境


  • Ubuntu 18.04 LTS

  • python3

  • pygame、mutagen は pip で突っ込むんやで

  • 百人一首の音声データは調べればでてくるから()


本編

とりあえずせっかちな百人一首ニキのために

# coding:utf-8

from mutagen.mp3 import MP3 as mp3
import pygame
import time
import random

directly = 'ココにディレクトリを'

def playMP3(filename):
pygame.mixer.init()
pygame.mixer.music.load(filename)
mp3_length = mp3(filename).info.length
pygame.mixer.music.play(1) # 1回目の再生
time.sleep(mp3_length + 7.0) # 読み込みのラグを考慮して7秒足してる
pygame.mixer.music.play(1) # 2回目の再生
time.sleep(mp3_length + 7.0)
pygame.mixer.music.stop()

card = random.sample(range(1, 101), k=100) # 順番のリストを作成
# print(card)

for i in range(100):
print("\n{}枚目 [{}]".format(i + 1, card[i]))
filename = directly + 'hyaku' + str(card[i]) + '.mp3' # ここは音声ファイルの名前に依る
playMP3(filename)
tmp = input("put any key ... ")

一首読み終わったら、なんか入力してEnter押せば、次行きます


軽く説明的なsomething


  • 百人一首って、もう取られた札を読まれても困るから、今回は順番をリストに突っ込んでる。

card = random.sample(range(1, 101), k=100)

# コレ スゴク ベンリ(なんか競プロでも使えそう(小並感))


  • それとpython って文字列強引に扱えるから便利じゃない?(他の言語知らないけど)

filename = directly + 'hyaku' + str(card[i]) + '.mp3'

# 例:hyaku26.mp3 (ファイル名)


最後に

今回初投稿なんで、python自信ニキいたらお手柔らかにお願いします。

ほとんどコピペは許して(プログラミングなんてそんなもんでしょ)


参考サイト