Giter VIP home page Giter VIP logo

g2ools's Introduction

			 g2ools - Nord Modular G2 Tools

Description:

g2ools is a set of python applications and libraries to handle the Nord
Modular G2 synthesizer.  It allows a person to write simple tools to process
G2 .pch2 patch files as well as .prf2 performance files.  Python was chosen
because of the authors knowledge of the langauge and portability.  The main
application written was nm2g2 Nord Modular (nm1) to G2 patch converter.  The
first version took 3 weeks from start to finish.  After the initial release,
3phase provided main models of the various modules available within the nm1
as they are quite different or missing from the Nord Modular G2.  It works
on many patches, but there are patches that will not work after the converted
patch is loaded into the G2.  3phase and I have made every attempt to do the
best convertion possible.

This software is released under the GPL licence and comes complete with
source code to the applications and libraries.

nm2g2.py

nm2g2.py is a converter from Clavia's original Nord Modular (nm1) patch file
to the Nord Modular G2 (g2) patch file.  It can convert whole directories and
currently is used to converter the Nord Modular Patch Collection consisting
of almost 30000 patches.  Many patches work and some do not.  You're success
will vary depending on the complexity of the original patch and the
differences between the two synthesizers.

dx2g2.py

dx2g2.py converts DX7 syx files into G2 patch files containing 8 DX7 patches
each.  The operators are converted exactly as the G2 contains 2 modules:
DXRouter and Operator.  The is extra circuitry for the LFO, PitchEG and
transpose.  The LFO and PitchEG are modeled as closely as possible (and may
get better) but there are differences.  The LFO rates are different between
the DX7 and G2 so the closests match is used.  The PitchEG rate parameter
is constant reguardless of the levels used.  This requires determining a
normalized time for the rate and caculating the actual time to go from one
level to the next.  Then the G2's envelope time is set to the closest match.

Installation:

Installation is a matter of decompressing the zip file into it's directory
structure stored in the zip file.

Linux:

The application requires python version 2.4 or higher to be installed.  Most
of the lastest distributions will have it.

Mac OS-X:

To run under Mac OS-X, python version 2.4 or higher must be installed.  Goto
http://www.python.org

Windows:

There is a nm2g2.exe and dx2g2.exe that should run on any Windows XP machine
without the need to install python.

Running:

Because the programs require the python modules stored in the <release>/nord
directory and the initial patches stored in the <release>/ directory, the
converters must be run within the directory.  This may be fixed in a future
release but currently this is how it works.

g2ools's People

Contributors

msg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

g2ools's Issues

Reorganizing DX7 patches

Hi,

I have some pch2 files that have been converted from DX7 files, but I do not have the original DX7 sources. I'd like to reorganize them: take some variations from one patch and some variations from a different one, then save them together as one. Is there a way to use g2ools to do this?

does nm2g2.py work?

Matt

I've tried nm2g2.py on both Windows 10 and MacOS using Python 2.7.15, every patch in the tests directory fails for a KeyError, 241
Would you verify that what is in this repo works?

Thanks

dx2g2 converter - broken / untested

When trying to use the dx2g2 converter, an exception is thrown immediately.

File "./dx2g2.py", line 282, in doconvert
convert(filename, options)
File "./dx2g2.py", line 129, in convert
dxconv = DX7Converter()
File "./dx2g2.py", line 16, in init
self.pch2 = Pch2File('dx7.pch2')
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 868, in init
self.read(filename)
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 913, in read
bytes = len(self.parse(memview[2:-2]))
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 893, in parse
return self.parse_patch(self.patch, memview)
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 881, in parse_patch
memview = self.parse_section(PatchDescription(), patch, memview)
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 877, in parse_section
section.parse(patch_or_perf, memview[3:l])
File "/Users/myusername/work/python/g2ools/nord/g2/file.py", line 119, in parse
bitstream = BitStream(data, 7*8)
TypeError: init() takes exactly 2 arguments (3 given)

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.