如何在播放该歌曲的声音文件时逐字逐句地读取歌曲

时间:2014-03-10 16:45:37

标签: python audio

我正在尝试让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 :(得分: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的原因是因为它更容易控制,您需要刷新缓冲区,否则屏幕只会在缓冲区已满时更新。