Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. import pymedia.audio.acodec as acodec
  2. import pymedia.muxer as muxer
  3.  
  4. name='Sia - Chandelier.mp3';
  5.  
  6.  
  7. name1= str.split(name,'.')
  8.  
  9.  
  10. if name1[ -1 ].lower() == 'mp3':
  11.  
  12.  
  13. dm= muxer.Demuxer( name1[ -1 ].lower() )
  14. f=open(name, 'rb' )
  15. dec= None
  16. s= " "
  17. sinal=[]
  18. while len( s ):
  19. s= f.read( 4096 )
  20. if len( s ):
  21. frames= dm.parse( s )
  22. for fr in frames:
  23. if dec== None:
  24. dec= acodec.Decoder( dm.streams[ 0 ] )
  25. r= dec.decode( fr[ 1 ] )
  26. if r and r.data:
  27. din = np.fromstring(r.data, dtype=np.int16)
  28. sinal.append(din)
  29.  
  30. # Open muxer and encoder
  31.  
  32. if enc== None:
  33. params= { 'id': acodec.getCodecID(type),
  34. 'bitrate': bitrate,
  35. 'sample_rate': r.sample_rate,
  36. 'channels': r.channels }
  37. print 'Encoder params:', params
  38. mx= muxer.Muxer( type )
  39. stId= mx.addStream( muxer.CODEC_TYPE_AUDIO, params )
  40. enc= acodec.Encoder( params )
  41. fw= open(fOutput, 'wb')
  42. ss= mx.start()
  43. fw.write(ss)
  44.  
  45. enc_frames= enc.encode( pack("%dh"%len(sinal), *(sinal)) )
  46. if enc_frames:
  47. for efr in enc_frames:
  48. ss= mx.write( stId, efr )
  49. if ss:
  50. fw.write(ss)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement