Maulva Nazir Ahmad - 10120627 - 4KA13 - LAPORAN M-8
Maulva Nazir Ahmad - 10120627 - 4KA13 - LAPORAN M-8
1. Install Mido
Langkah awal yang dilakukan yaitu menginstall mido.
2. Mengimport library
Langkah selanjutnya yaitu mengimport library-library yang dibutuhkan untuk
menghasilkan musik.
3. Mengekstrak Zip
Langkah selanjutnya yaitu mengestrak zip yang sudah terlebih dahulu didownload untuk
membuka file-file musik yang terdapat di Zip tersebut. Pada tahap ini akan dibuat folder
baru untuk menempatkan output ekstrak dari zip tersebut. Berikut adalah kodingan dan
output dari ekstrak zipnya.
4. Scale Data
Langkah selanjutnya yaitu melakukan scale data. Proses ini dilakukan untuk
mempertimbangkan file musik mana yang akan digunakan untuk proses selanjutnya.
Berikut adalah kodingan dari scale data.
7. Training Data
Langkah selanjutnya yaitu melakukan training data pada model yang sudah dibangun pada
tahap sebelumnya. Pada langkah ini training data tersebut akan dilakukan sampai batas
maksimal yang kita tentukan. Berikut adalah kodingan dan output dari proses training data
“LTSM_music.mid.”. Berikut ini adalah kodingan serta output dari proses training data.
8. Membuat dan Menyimpan LSTM Music
Langkah terakhir yaitu membuat langsung serta menyimpan LSTM music berdasarkan
hasil dari proses sebelumnya sebagai file yang baru. File LSTM music yang baru ini
dinamakan LSTM_music.mid. Berikut ini adalah kodingan serta output dari proses
membuat serta menyimpan LSTM music.
22/11/23, 23.31 Maulva Nazir Ahmad_10120627_4KA13_Aplikasi GAN - Colaboratory
10120627
4KA13
Collecting mido
Downloading mido-1.3.0-py3-none-any.whl (50 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.3/50.3 kB 990.2 kB/s eta 0:00:00
Requirement already satisfied: packaging~=23.1 in /usr/local/lib/python3.10/dist-packages (from mido) (23.2)
Installing collected packages: mido
Successfully installed mido-1.3.0
import mido
from mido import MidiFile, MidiTrack, Message
from keras.layers import LSTM, Dense, Activation, Dropout, Flatten
from keras.preprocessing import sequence
from keras.models import Sequential
from tensorflow.keras.optimizers import Adam
from sklearn.preprocessing import MinMaxScaler, StandardScaler
import numpy as np
scaler = MinMaxScaler()
notes_scaled = list(scaler.fit_transform(np.array(notes).reshape(-1, 1)))
X = []
y = []
n_prev=30
X_test = X[-300:]
X = X[:-300]
y = y[:-300]
model = Sequential()
model.add(LSTM(256, input_shape=(n_prev, 1), return_sequences=True))
model.add(Dropout(0.6))
model.add(LSTM(128, input_shape=(n_prev, 1), return_sequences=True))
model.add(Dropout(0.6))
model.add(LSTM(64, input_shape=(n_prev, 1), return_sequences=False))
model.add(Dropout(0.6))
model.add(Dense(1))
model.add(Activation('linear'))
model.summary()
optimizer = Adam(lr=0.001)
model.compile(loss='mse', optimizer=optimizer)
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
https://colab.research.google.com/drive/1TZ8OtzgVJ453XDUNIDIYYw9fVlRB0zvX#scrollTo=dpU4kuZftaTy&printMode=true 1/3
22/11/23, 23.31 Maulva Nazir Ahmad_10120627_4KA13_Aplikasi GAN - Colaboratory
=================================================================
lstm (LSTM) (None, 30, 256) 264192
=================================================================
Total params: 510785 (1.95 MB)
Trainable params: 510785 (1.95 MB)
Non-trainable params: 0 (0.00 Byte)
_________________________________________________________________
WARNING:absl:`lr` is deprecated in Keras optimizer, please use `learning_rate` or use the legacy optimizer, e.g.,tf.keras.optimizers
/content/chillhopdata.zip
import numpy as np
# Assuming your model expects a 3D input with shape (samples, time steps, features)
X_test = np.array(X_test)
if X_test.ndim == 2:
# Assuming the time steps (features) need to be added
X_test = np.expand_dims(X_test, axis=0) # Add a dimension for samples
# Invert scaling
prediction = np.squeeze(scaler.inverse_transform(prediction.reshape(-1, 1)))
# Convert to integers
prediction = [int(i) for i in prediction]
output /content/chillhopdata.zip.
https://colab.research.google.com/drive/1TZ8OtzgVJ453XDUNIDIYYw9fVlRB0zvX#scrollTo=dpU4kuZftaTy&printMode=true 2/3
22/11/23, 23.31 Maulva Nazir Ahmad_10120627_4KA13_Aplikasi GAN - Colaboratory
https://colab.research.google.com/drive/1TZ8OtzgVJ453XDUNIDIYYw9fVlRB0zvX#scrollTo=dpU4kuZftaTy&printMode=true 3/3