Code Monkey home page Code Monkey logo

neuronseq's Introduction

neuronSeq

A MIDI sequencer based on a real time oscillating neural network

(c) Jaakko Prättälä 2019-2023, use as you wish.

Based on the ideas of motion patterns and the MINN-network in the doctoral thesis of Pauli Laine.

What is neuronSeq?

-- An implementation of a neural network that outputs MIDI data.

-- neuronSeq can be connected to send real time event data to anything that reads MIDI.

-- An exploration of the oscillation/resonance model of music and mind.

-- Whole lot of psychedelic fun.

What is required?

-- Programming language python, libraries rtmidi, tkinter, numpy and matplotlib Also, a MIDI router or interface and some syntheziser or drum machine, soft or hard.

-- Patience.

What does it do?

-- neuronSeq's NNote objects implement a class that mimic the actions of a nerve cell. They fire when a threshold is reached by an ever ascending activation counter. As NNote fires, a MIDI event is produced and activation is reset to 0.0. NNotes can be connected to other NNotes. Connected NNotes modulate each other's activation value via a weighed connection to create simultaneous (positive weight in connection) or fluctuating patterns (negative weight in connection). These +/- connections are essentially the modes of operation needed to make anything musical.

-- Connection objects in neuronSeq model a neuron to neuron weighed connection.

-- Implements a model of sequencing musical events without a central timer. NNotes are bound to only their activation and the activation of their connected NNotes, not to a central clock that would specify tempo, quantization, groove and other such variables.

-- neuronSeq is a relatively novel way to use the neural network paradigm. In stead of creating a static representation of a pattern, neuronSeq creates a connected set of real time operating oscillators (nerve cell simulations). This network could be taught to simulate any musical pattern, but then, a learning algorithm is needed. At the moment parameters have to be set manually.

-- It makes noise. Which is nice.

Run the gui with $ python nsTkGUI3.py

neuronseq's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

itsbrex

neuronseq's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.