msg / g2ools Goto Github PK
View Code? Open in Web Editor NEWNord Modular G2 utilities
License: GNU General Public License v2.0
Nord Modular G2 utilities
License: GNU General Public License v2.0
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.
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?
please can u explain in a better way how to convert from sys file to pch2..... thanks a lot
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
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)
For example, in http://www.cim.mcgill.ca/~clark/nordmodularbook/patches/Juno6.pch
The module labeled "26-241 BPM" is a master LFO in the original patch, and becomes a master oscillator in the G2 patch. It seems that it should be some sort of LFO.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.