Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pymedia.audio.acodec as acodec
- import pymedia.muxer as muxer
- name='Sia - Chandelier.mp3';
- name1= str.split(name,'.')
- if name1[ -1 ].lower() == 'mp3':
- dm= muxer.Demuxer( name1[ -1 ].lower() )
- f=open(name, 'rb' )
- dec= None
- s= " "
- sinal=[]
- while len( s ):
- s= f.read( 4096 )
- if len( s ):
- frames= dm.parse( s )
- for fr in frames:
- if dec== None:
- dec= acodec.Decoder( dm.streams[ 0 ] )
- r= dec.decode( fr[ 1 ] )
- if r and r.data:
- din = np.fromstring(r.data, dtype=np.int16)
- sinal.append(din)
- # Open muxer and encoder
- if enc== None:
- params= { 'id': acodec.getCodecID(type),
- 'bitrate': bitrate,
- 'sample_rate': r.sample_rate,
- 'channels': r.channels }
- print 'Encoder params:', params
- mx= muxer.Muxer( type )
- stId= mx.addStream( muxer.CODEC_TYPE_AUDIO, params )
- enc= acodec.Encoder( params )
- fw= open(fOutput, 'wb')
- ss= mx.start()
- fw.write(ss)
- enc_frames= enc.encode( pack("%dh"%len(sinal), *(sinal)) )
- if enc_frames:
- for efr in enc_frames:
- ss= mx.write( stId, efr )
- if ss:
- fw.write(ss)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement