如何在python中逐字读取歌曲并播放该歌曲的音频文件

-3 投票
1 回答
1905 浏览
提问于 2025-04-17 21:40

我想让Python从一个文本文件中读取一首歌,同时播放这首歌。读取的方式有点像《Portal(Still Alive)》这首歌的播放方式。

这有点棘手,我觉得,但我需要Python一个字母一个字母地打印出这首歌,同时跟上实际歌曲的节奏。

任何帮助都非常感谢。

祝好!

编辑

import urllib.request # Example URL 

url = "http://ntl.matrix.com.br/pfilho/oldies_list/top/lyrics/black_or_white.txt" # Open URL: returns file-like object 
lyrics = urllib.request.urlopen(url) # Read raw data, this will return a "bytes object" 
text = lyrics.read() # Print raw data 
print(text) # Print decoded data: 
print(text.decode('utf-8'))

编辑:

好的,我觉得这个问题可能有点宽泛,所以我想说我想做的就是:能够从文本文件中读取每个字符并打印出来,同时能够设置读取/打印的速度。

1 个回答

0

这里有一些基础代码,假设你事先已经有很多信息。

import sys
from time import sleep
# For python 2 import this
#from itertools import izip as zip
# Delay in seconds to wait before printing each *character* of the song lyrics
time_delays = [0.1, 0.1, 0.1, 0.5, 0.2, 0.1, 0.1]
song_lyrics = "thesong"

print "Let's sing a song..."
for song_char, char_delay in zip(song_lyrics, time_delays):
    sleep(char_delay)
    sys.stdout.write(song_char)
    sys.stdout.flush()

希望这对你有帮助。我之所以使用 sys.stdout 而不是 print,是因为这样更容易控制。而且你需要刷新缓冲区,不然屏幕只会在缓冲区满的时候才更新。

撰写回答