Giter VIP home page Giter VIP logo

mdx_perfconv's People

Contributors

bobanspasic avatar probonopd avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

mdx_perfconv's Issues

AMEM

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 :-)

TX802 performances

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
        # ...

Performances with references to ROM voices

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.

Where does the converted performance ini get saved?

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

TX816 performances

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.

http://www.synthmanuals.com/manuals/yamaha/tx816/performance_notes/yamaha_tx816_performance_notes_rvgm.pdf

Are the split points correct?

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.

How to build?

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.

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.