bobanspasic / mdx_perfconv Goto Github PK
View Code? Open in Web Editor NEWMiniDexed performance converter - convert TX7, DX7II, DX5 etc. function and performance banks into MiniDexed format
MiniDexed performance converter - convert TX7, DX7II, DX5 etc. function and performance banks into MiniDexed format
From #3
Dunno if it is worth to convert without AMEM. AMEM contains the controller settings (ModWheel, BreathController etc.), portamento settings, poly/mono...
Let's also convert AMEM and put its keys and values into the converted performance; that way, the MiniDexed developers have a target to work against :-)
Would it be possible to also convert TX802 performances? Along these lines:
wget -q "http://hsjp.eu/downloads/Dexed/Dexed_cart_1.0.zip"
unzip -q Dexed_cart_1.0.zip
bin/Linux/MDX_PerfConv --info -a "./Dexed_cart_1.0/Original Yamaha/TX802/TX802BankA1.SYX" -b "./Dexed_cart_1.0/Original Yamaha/TX802/TX802BankB1.SYX" -p "./Dexed_cart_1.0/Original Yamaha/TX802/TX802_Factory_Performances.syx"
bin/Linux/MDX_PerfConv -c -n 65 -a "./Dexed_cart_1.0/Original Yamaha/TX802/TX802BankA1.SYX" -b "./Dexed_cart_1.0/Original Yamaha/TX802/TX802BankB1.SYX" -p "./Dexed_cart_1.0/Original Yamaha/TX802/TX802_Factory_Performances.syx"
# wget "https://github.com/asb2m10/dexed/files/5360597/tx802bankb-fixed.zip"
# unzip tx802bankb-fixed.zip
# ...
I need to re-write the code because of DX7II and TX802 performances that are using ROM voices.
I also need to provide the ROM voices with the executable, in order to complete this.
When I do
wget -q "https://yamahablackboxes.com/patches/dx7ii/voices/dx7iifdvoice32.syx"
wget -q "https://yamahablackboxes.com/patches/dx7ii/voices/dx7iifdvoice64.syx"
wget -q "https://yamahablackboxes.com/patches/dx7ii/performances/dx7iifdperf.syx"
bin/Linux/MDX_PerfConv --info -a dx7iifdvoice32.syx -b dx7iifdvoice64.syx -p dx7iifdperf.syx
bin/Linux/MDX_PerfConv -c -a dx7iifdvoice32.syx -b dx7iifdvoice64.syx -p dx7iifdperf.syx
ls -lh
then I see this, but no .ini
file:
X7/DX9 Voice Bank - VMEM at position 6
Calculated data size: 4096
Real data size: 4096
Checksum match
DX7/DX9 Voice Bank - VMEM at position 6
Calculated data size: 4096
Real data size: 4096
Checksum match
DX7II PMEM at position 6
Calculated data size: 1642
Real data size: 1642
Checksum match
total 84M
-rw-r--r-- 1 runner docker 25K Nov 12 10:39 COPYING.LGPL.txt
-rw-r--r-- 1 runner docker 1005 Nov 12 10:39 COPYING.modifiedLGPL.txt
-rw-r--r-- 1 runner docker 4.9K Nov 12 10:39 MDX_PerfConv.lpi
-rw-r--r-- 1 runner docker 9.0K Nov 12 10:39 MDX_PerfConv.lpr
-rw-r--r-- 1 runner docker 15K Nov 12 10:39 MDX_PerfConv.lps
-rw-r--r-- 1 runner docker 860 Nov 12 10:39 MDX_PerfConv.res
-rw-r--r-- 1 runner docker 1.6K Nov 12 10:39 README.md
drwxr-xr-x 3 runner docker 4.0K Nov 12 10:39 bin
-rw-r--r-- 1 runner docker 215 Nov 12 10:39 compile.bat
-rw-r--r-- 1 runner docker 195 Nov 12 10:39 compile.sh
-rw-r--r-- 1 runner docker 1.7K Nov 12 10:39 dx7iifdperf.syx
-rw-r--r-- 1 runner docker 4.1K Nov 12 10:39 dx7iifdvoice32.syx
-rw-r--r-- 1 runner docker 4.1K Nov 12 10:39 dx7iifdvoice64.syx
drwxr-xr-x 2 runner docker 4.0K Nov 12 10:39 fpc-3.2.2.x86_64-linux
-rw-r--r-- 1 runner docker 83M May 19 2021 fpc-3.2.2.x86_64-linux.tar
drwxr-xr-x 3 runner docker 4.0K Nov 12 10:39 lib
drwxr-xr-x 2 runner docker 4.0K Nov 12 10:39 units
-rw-r--r-- 1 runner docker 25K Nov 12 10:39 untConverter.pas
-rw-r--r-- 1 runner docker 3.4K Nov 12 10:39 untDispatcher.pas
https://github.com/probonopd/MDX_PerfConv/actions/runs/6840186012/job/18599167257#step:3:227
Let's recreate the TX816 performances based on the voice syx, the function data and the stereo panning from the printed documentation (below).
If I read it correctly, the performances for the TX816 could be loaded from a 5.25 inch floppy disk (no public backups available?) using the QX1 sequencer into the TX816.
The manual contains graphical symbols for how the stereo panning should be set for each tone generator (on a separate mixer device) "to produce the optium stereo effect". It also documents the voice and function data.
Are the split points correct? E.g., in Sample&Hold(2F
, the middle C should probably be the main voice rather than the arpeggiated voice? I noticed the same for multiple of the split voices.
https://www.youtube.com/watch?v=wXYkIPmpnwM
TX7 coming with a special bank (on cassette) which was to be used with both the DX7 and TX7
Files linked there:
https://www.dropbox.com/s/el7l9u8p3zzsor3/TX7_Cassette_ADAPTED_DX7iiD_FD_by12op.zip?dl=0
Performance Notes:
https://de.yamaha.com/files/download/other_assets/0/317010/TX7E2.PDF
Hi @BobanSpasic, thanks for making this very useful tool!
Since the provided Linux binary was built on a newer Linux distribution than what I use (and hence doesn't run on my system), I wanted to build it myself on Ubuntu 20.04.6 LTS (Focal Fossa).
$ sudo apt-get install fpc
$ fpc *.lpr
Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling MDX_PerfConv.lpr
MDX_PerfConv.lpr(24,3) Fatal: Can't find unit untUtils used by MDX_PerfConv
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
# Getting "creative"... probably not the way to do it
$ ln -s units/* .
$ fpc *.lpr
Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling MDX_PerfConv.lpr
Compiling untUtils.pas
untUtils.pas(208,22) Error: Operator is not overloaded: "AnsiString" in "Array[1..22] Of AnsiString"
untUtils.pas(209,23) Error: Operator is not overloaded: "AnsiString" in "Array[1..22] Of AnsiString"
untUtils.pas(213,7) Error: Wrong number of parameters specified for call to "IntToHex"
Error: Found declaration: IntToHex(LongInt;LongInt):AnsiString;
Error: Found declaration: IntToHex(Int64;LongInt):AnsiString;
Error: Found declaration: IntToHex(QWord;LongInt):AnsiString;
untUtils.pas(217,7) Error: Wrong number of parameters specified for call to "IntToHex"
Error: Found declaration: IntToHex(LongInt;LongInt):AnsiString;
Error: Found declaration: IntToHex(Int64;LongInt):AnsiString;
Error: Found declaration: IntToHex(QWord;LongInt):AnsiString;
untUtils.pas(240) Fatal: There were 10 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
I am looking for command-line instructions, since I'd like to automate the build.
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.