CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
y33-j3T

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: y33-j3T/Coursera-Deep-Learning
Path: blob/master/Sequence Models/Week 1/Jazz improvisation with LSTM/__pycache__/midi.cpython-36.pyc
Views: 13383
3

��Z�@sPdZddlZddlZddlZddlZddlZdZdZdZdZ	dZ
dZdZd	d
�Z
dZejjeee	e
�ejjjd�ejZej�Z�y�gZxBejd
�D]4\ZZZx(ejed�D]Zejejj ee��q�Wq�W�x:eD�]0Z!ejj"ejj#e!��dZ$e$dZ%ej&ee	edee
d�Z'e(de$d�e
e!�gZ)x$ejjj*��rRe)je'j+e
���q0We'j,�e'j-�ej&e%d�Z.e.j/e	�e.j0ej1e��e.j2e�e(de%�e.j3dj e)��e.j-�er�ej4de%de5e�de5e	�de5e�de$d�er�ej6e%�q�Wej7�Wn4e8k
�rJejjj9d�ejjj:�e;�YnXdS)z�
File: midi.py
Author: Addy771
Description: 
A script which converts MIDI files to WAV and optionally to MP3 using ffmpeg. 
Works by playing each file and using the stereo mix device to record at the same time
�NTiD��i��cCsNytjjj|�Wn*tjk
r<td|tj�f�dSXtjjj�dS)NzCouldn't play %s! (%s))�pygame�mixer�music�load�error�print�	get_error�play)�
music_file�r�)/home/jovyan/work/Week 1/DeepJazz/midi.py�
play_musicsr�g�?z./z*.midz.wav)�format�channels�rate�inputZinput_device_index�frames_per_bufferzPlaying z.mid
�wbzSaving �z
ffmpeg -i z -y -f mp3 -ab zk -ac z -ar z -vn z.mp3i�i����)<�__doc__�pyaudio�waver�fnmatch�osZdo_ffmpeg_convertZdo_wav_cleanup�sample_rater�bufferZmp3_bitrateZinput_devicer�bitsizer�initr�
set_volume�paInt16r�PyAudioZaudio�matches�walk�root�dirnames�	filenames�filter�filename�append�path�joinZsong�splitext�basename�	file_nameZnew_file�open�streamr
�frames�get_busy�readZstop_stream�closeZ	wave_file�setnchannels�setsampwidth�get_sample_size�setframerate�writeframes�system�str�remove�	terminate�KeyboardInterrupt�fadeout�stop�
SystemExitrrrr�<module>sd

>