Blog posts


Statystyka - a komu to potrzebne? A dlaczego?

3 minute read


W tym poście chciałbym przybliżyć temat statystyki dla tych osób które nie miały z nią do czynienia, ale także tym którzy posługują się pewnymi narzędziami ale niewiedzą jaka intuicja za nimi stoi. Ten post będzie być może początkiem dłuższej serii o tym jak ja rozumiem tę dziedzinę matematyki. Read more

Master Thesis: Generating Jazz Chords Progressions Using Word Embeddings and Recurrent Neural Networks

1 minute read


This thesis describes the problem of generating jazz music chords using recurrent neural networks (RNN) and numerical vector representations - embeddings. To create the embedding I use techniques known from the field of natural language processing (NLP). It is possible because of certain structural similarities between spoken language and music. I study the relationship between the chords in the hidden space generated by the algorithms: Word2Vec, FastText and Multi-hot. Visualization of chords in reduced vector representation space using t-SNE and PCA algorithms illustrates a lot of dependencies between the chords derived from the principles of jazz harmony. The test results confirmed the highest performance of chord generation when using the Word2Vec model in the Skip-Gram variant. To generate chords I use their vector representation. I analyze the performance of sixteen models based on the recursive neural networks in terms of their hyper parameters and architecture. I also study the impact of the algorithm used to create the numerical representation on the results of recurrent models. To train neural networks I use a set of jazz standards obtained from publicly available Internet sources in a format allowing for the extraction of chord sequences. The experiments shows the highest performance of deep models with recurrent layers - GRU and LSTM, but the one with the shortest runtime is the model with two GRU layers, Dropout regularization layer and Dense layer. I use trained models to build a simple program capable of generating continuous chord sequences in the unsupervised variant and with partially controlling this generation by the user. For implementation of all algorithms, visualization and data processing I use Python language and its libraries: tensorflow, keras, gensim, scikit-learn, numpy, pychord, music21 etc. Read more

Numerical Linear Algebra

18 minute read


Notes that I’ve made with help of professors and collegues during my Erasmus Exchange in University of Barcelona. Read more

Genetic Algorithm

9 minute read


This repository contains simple python implementation of genetic algorithm. There heuristic algorithm searches the space for alternative solutions to the problem in order to find the best solutions. Read more


Chatbots - Practical Introduction

19 minute read


In this post I want to introduce you to chatbots. What is a chatbot? How do they work? And how you can create them? You can find here both, technical descriptions and business solutions. Enjoy! Read more

Feature Extraction in NLP

5 minute read


Short explanation of what is feature extraction and how it differs from other data preprocessing techniques in area of Natural Language Processing. Read more

Daftcode Academy Promo Clip

less than 1 minute read


I had a pleasure to star in Daftcode clip, telling my story to encourage young people to develop their passions. I hope you’ll enjoy. Read more

Safely - The Intelligent Travel Assistant

2 minute read


I’ve won Hack UPC “Use of AI in real-life cases” challenge. My team created a web app that makes your travel safer using ML model predicting severity of accidents. Read more

Music Generator

1 minute read


Implementation of DCGAN music generating software using it’s image format - piano roll. It’s a part of my diploma thesis. I’ve presented its results on ICAISC 2019 in Zakopane. Read more