All Projects → Ashvala → PaperSynth

Ashvala / PaperSynth

Licence: MIT license
Handwritten text to synths!

Programming Languages

javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
swift
15916 projects
Jupyter Notebook
11667 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to PaperSynth

tensorflow-example
Tensorflow-example:使用MNIST训练模型,并识别手写数字图片
Stars: ✭ 26 (+44.44%)
Mutual labels:  mnist, handwriting-recognition
MNIST
Handwritten digit recognizer using a feed-forward neural network and the MNIST dataset of 70,000 human-labeled handwritten digits.
Stars: ✭ 28 (+55.56%)
Mutual labels:  mnist
cluttered-mnist
Experiments on cluttered mnist dataset with Tensorflow.
Stars: ✭ 20 (+11.11%)
Mutual labels:  mnist
LeNet-from-Scratch
Implementation of LeNet5 without any auto-differentiate tools or deep learning frameworks. Accuracy of 98.6% is achieved on MNIST dataset.
Stars: ✭ 22 (+22.22%)
Mutual labels:  mnist
Mathematical-Handwriting-recognition
Convert hand written mathematical expressions and formula to Latext using Machine Learning
Stars: ✭ 50 (+177.78%)
Mutual labels:  handwriting-recognition
digdet
A realtime digit OCR on the browser using Machine Learning
Stars: ✭ 22 (+22.22%)
Mutual labels:  mnist
Pytorch-PCGrad
Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
Stars: ✭ 179 (+894.44%)
Mutual labels:  mnist
image-defect-detection-based-on-CNN
TensorBasicModel
Stars: ✭ 17 (-5.56%)
Mutual labels:  mnist
RecPlayer-iOS
A simple iOS application that records audio and plays it back. (+some animations)
Stars: ✭ 21 (+16.67%)
Mutual labels:  audiokit
iinkJS
✏️ ☁️ iinkJS is the fastest way to integrate rich handwriting recognition features in your webapp.
Stars: ✭ 65 (+261.11%)
Mutual labels:  handwriting-recognition
rnnt decoder cuda
An efficient implementation of RNN-T Prefix Beam Search in C++/CUDA.
Stars: ✭ 60 (+233.33%)
Mutual labels:  handwriting-recognition
DCGAN-Pytorch
A Pytorch implementation of "Deep Convolutional Generative Adversarial Networks"
Stars: ✭ 23 (+27.78%)
Mutual labels:  mnist
playing with vae
Comparing FC VAE / FCN VAE / PCA / UMAP on MNIST / FMNIST
Stars: ✭ 53 (+194.44%)
Mutual labels:  mnist
form-segmentation
Let's explore how we can extract text from forms
Stars: ✭ 42 (+133.33%)
Mutual labels:  handwriting-recognition
gradient-boosted-decision-tree
GBDT (Gradient Boosted Decision Tree: 勾配ブースティング) のpythonによる実装
Stars: ✭ 49 (+172.22%)
Mutual labels:  mnist
tensorflow-mnist-MLP-batch normalization-weight initializers
MNIST classification using Multi-Layer Perceptron (MLP) with 2 hidden layers. Some weight-initializers and batch-normalization are implemented.
Stars: ✭ 49 (+172.22%)
Mutual labels:  mnist
BP-Network
Multi-Classification on dataset of MNIST
Stars: ✭ 72 (+300%)
Mutual labels:  mnist
fast-tsetlin-machine-with-mnist-demo
A fast Tsetlin Machine implementation employing bit-wise operators, with MNIST demo.
Stars: ✭ 58 (+222.22%)
Mutual labels:  mnist
Character-recognition-by-neural-network
Back Propagation, Python
Stars: ✭ 32 (+77.78%)
Mutual labels:  handwriting-recognition
MNIST-adversarial-images
Create adversarial images to fool a MNIST classifier in TensorFlow
Stars: ✭ 13 (-27.78%)
Mutual labels:  mnist

PaperSynth


Imgur

PaperSynth is a project that aims to read keywords you've written on a piece of paper and convert it into synthesizers you can play on the phone.

It uses a convolutional neural network model to do handwriting recognition in photos.

This project uses Apple's Vision framework in conjunction with CoreML to create bounding boxes around the visible text.

Eventually, the goal is to read all forms of synthesis block diagrams for music and generate digital equivalents for the same. Currently, it uses a paradigm I refer to as StackChain. Stack-chain treats signal flow as a stack where you pipe input/generate data at the first layer and eventually, get an output through the last layer of the stack.


Training the ConvNet:

First, we create the dataset:

To begin, download the Chars74k handwriting dataset from Here. Download the EnglishHnd.tgz archive.

The samples from EnglishHnd are organized in the format Sample0xx, where xx represents the current sample number. Each sample contains a letter or a number. Samples 001 through 010 contain numbers and we can remove these.

Navigate to the JPG-PNG-to-MNIST-NN-Format directory and follow the instructions in the README.md. The instructions guide you towards being able to store data in a way that can be classified easier.

Once you're done there, you should have four files:

test-images-idx3-ubyte.gz
test-labels-idx1-ubyte.gz
train-images-idx3-ubyte-gz
train-labels-idx1-ubyte.gz

For convenience, in case things go south for you, these four files come included with repository.

Go to the Handwriting directory here and you're ready to start training.

Let's setup the directory structure

Now, your Handwriting directory looks something like this:

├── MNIST_Chars74k_Jupyter.ipynb
├── main.py
├── utils/
├── share/
├── data
│   ├── old
│   │   ├── test-images-idx3-ubyte.gz
│   │   └── test-labels-idx1-ubyte.gz
│   │   ├── train-images-idx3-ubyte.gz
│   │   └── test-labels-idx1-ubyte.gz
│   ├── test-images-idx3-ubyte.gz
│   ├── test-labels-idx1-ubyte.gz
│   ├── train-images-idx3-ubyte.gz
│   ├── train-labels-idx1-ubyte.gz

In order to run the training process, you will need the following:

keras
tensorflow
h5py
PIL
numpy
scipy
scikit

In order to allow you to tool around with the dataset, a Jupyter notebook named MNIST_Chars74k_Jupyter.ipynb has been included.


Resource credits:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].