Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaakkopee/neuronSeq
A MIDI sequencer based on a neural network.
https://github.com/jaakkopee/neuronSeq
ai midi midi-sequencer neural-network python
Last synced: about 1 month ago
JSON representation
A MIDI sequencer based on a neural network.
- Host: GitHub
- URL: https://github.com/jaakkopee/neuronSeq
- Owner: jaakkopee
- Created: 2019-01-05T06:20:22.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-04T19:15:21.000Z (about 1 year ago)
- Last Synced: 2024-08-05T06:05:10.184Z (5 months ago)
- Topics: ai, midi, midi-sequencer, neural-network, python
- Language: Python
- Size: 6.62 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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