Advertisement
toko214

like spotify

Mar 10th, 2018
1,387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. import pafy
  2. import subprocess as sp
  3. import numpy as np
  4. import sounddevice as sd
  5. import time
  6. # from PyQt4 import QtCore, QtGui
  7. # from song import Ui_MainWindow
  8.  
  9.  
  10.  
  11.  
  12. AUDIO_ARRAY = []
  13. FFMPEG_BIN = "ffmpeg.exe"
  14.  
  15. # class MyForm(QtGui.QMainWindow):
  16. #     def __init__(self, parent=None):
  17. #         QtGui.QWidget.__init__(self, parent)
  18. #         self.ui = Ui_MainWindow()
  19. #         self.ui.setupUi(self)
  20.  
  21. def donwload_song(bestaudio):
  22.     try:
  23.         print "Donwloading Audio...."
  24.         bestaudio.download()
  25.         print "Finished Downloading"
  26.     except:
  27.         print "Finished Downloading"
  28.         pass
  29.  
  30.  
  31. def play_music():
  32.     fs = 44100
  33.     sd.play(AUDIO_ARRAY[:2000000], fs)
  34.     sd.play(AUDIO_ARRAY[2000000:4000000])
  35.     print(len(AUDIO_ARRAY))
  36.     while True:
  37.         pass
  38.  
  39.  
  40. def read_audio_file(file_name):
  41.     global AUDIO_ARRAY
  42.     print "Reading File..."  # on Windows
  43.     command = [FFMPEG_BIN,
  44.                '-i', file_name,
  45.                '-f', 's16le',
  46.                '-acodec', 'pcm_s16le',
  47.                '-ar', '44100',  # ouput will have 44100 Hz
  48.                '-ac', '2',  # stereo (set to '1' for mono)
  49.                '-']
  50.     pipe = sp.Popen(command, stdout=sp.PIPE, bufsize=10 ** 8)
  51.     raw_audio = pipe.stdout.read()
  52.     # Reorganize raw_audio as a Numpy array with two-columns (1 per channel)
  53.     audio_array = np.fromstring(raw_audio, dtype="int16")
  54.     AUDIO_ARRAY = audio_array.reshape((len(audio_array) / 2, 2))
  55.  
  56.  
  57. def main():
  58.     # app = QtGui.QApplication(sys.argv)
  59.     # myapp = MyForm()
  60.     # myapp.show()
  61.     #sys.exit(app.exec_())
  62.     start = time.time()
  63.     url = "https://www.youtube.com/watch?v=WCtUCW1sDqs"
  64.     video = pafy.new(url)
  65.     bestaudio = video.getbestaudio()
  66.     donwload_song(bestaudio)
  67.     read_audio_file(video.title+"."+bestaudio.extension)
  68.     end = time.time()
  69.     print end - start
  70.     play_music()
  71.  
  72.  
  73. if __name__ == '__main__':
  74.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement