25 June 2015, 06:27 | #61 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 763
|
Fantastic work adrdesign. Eres una máquina tío!
I will play with them this weekend. Thanks so much mate. |
25 June 2015, 15:22 | #62 |
Shameless recidivist
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 266
|
Yeah, I've run into those. Usually if you trim the fat with a hex editor (look for the SysEx start string - F0 43 - and trim everything before that; extra data on the end isn't so important, but the ending byte is always F7) you can get them working again, though sometimes they'll have removed the SysEx header/footer and you'd need to copy them from another bank file.
|
25 June 2015, 17:50 | #63 | |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
Quote:
|
|
25 June 2015, 19:27 | #64 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,658
|
I am sure it will not sound like a DX7, because it's an 8-bit sample at low sample rate. There will be a lot of aliasing and stuff.
|
25 June 2015, 19:53 | #65 | |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Quote:
I think you have to balance between quality/needed pitch/length. So, I choose 8363 based on Fairlight CMI library (also has kinda dx7 softsamples in the DX disks), because it retains enough quality and allows to use higher octaves. Moreover, I think crispy render rate adds some "analog" character the FM synthesis doesn´t have. so no standard length Synthesizers usually not only have the synth engine, after generating the sound, the DSP adds some chorus, reverb and so, thats why the Sound Blaster Fm Synth didnt sound like the DX7. Amiga doesn´t have any DSP, so it WONT sound like the DX7 (at least with this software). FMConvert needs two values to render a sound: one for the length, the other for VELOCITY. When creating a whatever-synth patch, Velocity is usually linked not only to VOLUME but also things like CUTOFF, RESONANCE, LFO (or all at once!) So, when you play the same .syx in a real DX7 (i had some in my hands) you experience richer sound. For example, an Electric Piano (whitney houston type) should play dark/bright when pressing the key soften/harder (thats velocity). The .voices I´ve prepared renders a note are like they were played at VELOCITY=100. If you need different velocities/lengths you could try batch convert FMConvert <bank.syx> -l(length) -v(velocity 0-127) Sorry for my english and hope u understand |
|
25 June 2015, 20:01 | #66 |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
@akira: I would convert these to wav, but the script Daxb did for rexx only converts one folder each time (there are more than 250 folders).
BTW: if you want it for testing, from cli: >rexxmast >rx MsynthVoiceTo8svx.rexx it will ask for the folder where you .voices are. Samples are rendered in RAM: by default |
26 June 2015, 00:18 | #67 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
@adrdesign:
Thanks for explanation. I didn`t know that you have to process so many drawers. But makes it really sense to batch convert all of them to 8svx? If the voices are already different to dx7. For individuell use yes, but as a standard sample bank for the public? However, you can temporary copy the files to convert to one drawer. Or if you really need I can change the script to your needs. |
26 June 2015, 01:33 | #68 | |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Quote:
BUT: There are some VST compatible with DX7 .syx (such FM7/8). There are LOTS of .syx and there isnt already a way to preview the patches they have in a confortable way. THERE ISNT. So, If I knew how to program, my ultimate tool would: 1) Scan for all syx in a folder. Detect if they are 4096-long. if not, trim them for good. 2) Ask for length (<65534) and velocity (0-127), defaults would be 16384, 100. 2) Convert each .syx with "FMConvert <file.syx> -l<length> -v<velocity>" and put the .voices in a folder with .syx name. 3) Finally convert each .voice to .8svx (1 octave) saving in the same folder the .voice is. I imagine a copy of such bach conversion (in .wav format) in ableton for previewing all the syx we have, even in 8bit, they would be enough to have an idea how the patch sounds in FMx. Really, I think musician community would appreciate it A LOT. So, we´ll have enough if I we could add recursive scanning to the tool you did. |
|
26 June 2015, 16:03 | #69 | |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
Quote:
1) I fear we need file information (SysEx header) of .syx files to process them proper. If I understand it right the filesize isn`t always the same. Further, will truncate 6 bytes from leading and 2 from trailing always work?! FMconvert docs say: "Acceptable are 32 and 33 voice banks without SysEx header and checksum (size 4096 or 4224 Bytes)." 2) Easy. Do you want a requester asking that or just in command line? Process on all sys files or ask each sys for new values? What do you mean with "put the .voices in a folder with .syx name."? As default FMconvert saves the .voices in current directory. Why a drawer with ".syx" as name? Or do you mean that the bank name should be used as drawer name? E.g. bank "rom1a.syx" ---> drawer "rom1a". 3) I guess you mean the lowest octave, right? |
|
26 June 2015, 17:16 | #70 |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Thanks for your interest!
I think we can stay in AmigaOS, because we must use FMSynth for the rendering. I didn´t know if you can call a rexx command inside an amigados script inside WinUAE from a Windows batch (!) Selecting octave (1-5) output would be the same to selecting sample rate. If you add that option you can somehow get different qualitys. 1) Me too. I havent found any >4104 .syx. If someone puts one, or better two here, I could play a little with. If not, just ignore them. 2) For the length: button requester with some values (like 16384, 32768, 65534, 131072, 254000, custom). Custom would open a text field asking for an integer <254000. A text field requester to enter velocity (1-127) It would process all .syx files at once, please! Entering values for each .voice file would be a pain in the ass! BTW: a different script with the option to take a single .voice and render all its velocities with a common custom length would be great for Electric Pianos. -About the drawer´s name (sorry for my english): processing "rom1a.syx" will create drawer "rom1a/" and will move all the .voices in (by default fmconvert puts all the .voices in the same drawer the .syx was, not in the current path). 3) If you dont add the 1-5 octave requester, the lower octave then. Sorry if Im abusing asking too much. I warn you It would be enough if the script you did could read recursive folders. Anyway, thanks in advance ! EDIT: NOTE if we release this in any form, ALL PEOPLE INVOLVED WILL BE CREDITED, but,I think this library would be named YamahaDX7_4_Amiga_by_DAXB_and_friends for the better Last edited by adrdesign; 26 June 2015 at 17:29. |
27 June 2015, 17:23 | #71 | |
Shameless recidivist
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 266
|
Quote:
|
|
27 June 2015, 17:38 | #72 | |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Quote:
-Sega Megadrive/Genesis (warm) -SoundBlaster 16 (digital) -MAME (Yamaha coin-ops: OutRun, Enduro Racer alike, with darker and rustier sound) ... |
|
27 June 2015, 21:14 | #73 |
Shameless recidivist
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 266
|
The basic sound of one operator modulating another at a given pitch ratio and modulation level is pretty much indistinguishable across the whole Yamaha FM line.
The main thing that separates the DX7 from the single-chip FM sound generators used in consoles, arcade systems, and lesser Yamaha synths is that it has six operators per voice (versus four in most of the single-chip solutions, and two in the OPL line) with more routing "algorithms" to combine them, much finer control of operator frequencies (which makes it easier to create unusual timbres,) and much better modulation options (a completely programmable five-stage envelope versus a simpler ADSR or ADSDR design, and LFO control of individual operator levels.) (On the other hand, some of the other FM chips, in particular the OPL line used in the Sound Blaster and clones, had multiple waveforms for the operators, while the DX7 has only sine, so they can create some complex and unique timbres of their own despite being much, much simpler in overall design.) So they're very similar in overall character, but very different in the details of their capabilities. Which is why everyone should buy several and love them all very much Last edited by commodorejohn; 27 June 2015 at 22:06. |
27 June 2015, 21:35 | #74 |
Shameless recidivist
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 266
|
P.S. if you want some demos of the DX7's sound specifically...
DX7: [ Show youtube player ] [ Show youtube player ] DX7-II: [ Show youtube player ] [ Show youtube player ] [ Show youtube player ] DX7s (DX7-II sound generator minus the DSP and split/layer capability): [ Show youtube player ] [ Show youtube player ] Last edited by commodorejohn; 27 June 2015 at 22:06. |
27 June 2015, 21:44 | #75 |
Shameless recidivist
Join Date: Jun 2012
Location: Duluth, Minnesota (USA)
Age: 38
Posts: 266
|
Addendum: well heck, I was wrong! Even the DX7-II didn't have DSP effects! (I thought it did, but it only has some basic performance/pan effects.) Which means that it wasn't until the SY77 (an expanded six-operator architecture with sampled sounds) and the V50 (a double TX81Z in a keyboard) that Yamaha added anything more complex than a basic chorus effect to their FM synthesizers.
|
30 June 2015, 18:54 | #76 | ||
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
The raw stuff is ready and working. Needs some testing and maybe some finetuning. Let me know. On top of the script there is a configuration section. You need to change the path of FMsynth and FMconvert that fits on your system.
Following external common requirements are needed: RequestString V1.2 by Thomas Rapp (included in archive but can get from thomas web page too. Need to be in Sys:C directory or change path in script)) FMsynth V3.7 FMconvert V1.2 rexxsupport.library (comes with OS)) rexxarplib.library V3.8 (get it from Aminet if you don`t have it) reqtools.library (get it from Aminet if you don`t have it All files with ".syx" suffix and valid "F04300" header will overwritten and converted to voice files. Then all voice files will converted to 8svx. If started a second time voice files are deleted first and recreated. The 8svx files will overwritten if they exists alreday. ps: I guess the 4224 size syx is broken or just unknown format. Quote:
Quote:
Last edited by daxb; 09 July 2015 at 17:27. |
||
30 June 2015, 19:50 | #77 | |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Quote:
About multiple velocity, just ignore it. It would be a mess converting 127 times the same syx just for a single patch. Im happy with your work. SO PRO! I´ll tell later. EDIT: Tried a folder with 3 syx. It stop after opening FMSynth to convert the voices. And gives me an End Last edited by adrdesign; 30 June 2015 at 21:40. |
|
01 July 2015, 01:24 | #78 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
Oh, I forgot about WBRun. If you don`t want to use it then just start FMsynth manually before the script. I could use OS command Run but then the tooltypes are ignored. RequestChoice and RequestFile are part of the OS, so I didn`t mentioned it.
About your error. Example output looks like this: Do you get the same or different output? Are the voice files created with the new drawer? E.g.: "Ram:4104/ROM1A/BASS_1.VOICE". Maybe the header/footer of .syx file isn`t correct removed? Code:
Ram:4104/ROM1A.SYX ---> Header and footer removed! ROM1A.SYX ---> Converted to voice(s)! Now calculate and save 8svx: Process on: Ram:4104/ROM1A/BRASS_1.8svx Process on: Ram:4104/ROM1A/BRASS_2.8svx Process on: Ram:4104/ROM1A/BRASS_3.8svx Process on: Ram:4104/ROM1A/STRINGS_1.8svx Process on: Ram:4104/ROM1A/STRINGS_2.8svx Process on: Ram:4104/ROM1A/STRINGS_3.8svx Process on: Ram:4104/ROM1A/ORCHESTRA.8svx Process on: Ram:4104/ROM1A/PIANO_1.8svx Process on: Ram:4104/ROM1A/PIANO_2.8svx Process on: Ram:4104/ROM1A/PIANO_3.8svx Process on: Ram:4104/ROM1A/E.PIANO_1.8svx Process on: Ram:4104/ROM1A/GUITAR_1.8svx Process on: Ram:4104/ROM1A/GUITAR_2.8svx Process on: Ram:4104/ROM1A/SYN-LEAD_1.8svx Process on: Ram:4104/ROM1A/BASS_1.8svx Process on: Ram:4104/ROM1A/BASS_2.8svx Process on: Ram:4104/ROM1A/E.ORGAN_1.8svx Process on: Ram:4104/ROM1A/PIPES_1.8svx Process on: Ram:4104/ROM1A/HARPSICH_1.8svx Process on: Ram:4104/ROM1A/CLAV_1.8svx Process on: Ram:4104/ROM1A/VIBE_1.8svx Process on: Ram:4104/ROM1A/MARIMBA.8svx Process on: Ram:4104/ROM1A/KOTO.8svx Process on: Ram:4104/ROM1A/FLUTE_1.8svx Process on: Ram:4104/ROM1A/ORCH-CHIME.8svx Process on: Ram:4104/ROM1A/TUB_BELLS.8svx Process on: Ram:4104/ROM1A/STEEL_DRUM.8svx Process on: Ram:4104/ROM1A/TIMPANI.8svx Process on: Ram:4104/ROM1A/REFS_WHISL.8svx Process on: Ram:4104/ROM1A/VOICE_1.8svx Process on: Ram:4104/ROM1A/TRAIN.8svx Process on: Ram:4104/ROM1A/TAKE_OFF.8svx This is the END! |
01 July 2015, 19:50 | #79 | |
Registered User
Join Date: Nov 2013
Location: Spain
Age: 45
Posts: 314
|
Quote:
So I´ve tested it on ClassicWB Ful v28 following your indications and finally IT (edit: will) WORK LIKE A CHARM. Thank you DAXB! I will play a little with this, then decide what to do. You will be not credited never ever. EDIT2: When I try converting to 1 octave 8svx it stops. When I try to convert to multioctave 8svx, it seems to be working but after stop I don´t know where the samples are. EDIT: I have the same problem with some SYX. I think, could it be due to .voices filenames, since they contain " / : wich can commit error on a DOS filename? Last edited by adrdesign; 01 July 2015 at 20:17. |
|
02 July 2015, 16:27 | #80 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,310
|
Please add "trace i" at line 17 in the script and save it. Then launch it from Shell like this:
Code:
rx Convert_Syx.rexx >ram:log About filenames, yes some voice names have bad characters. I`ll see if they can renamed before converting. 8svx files should be in the same path where the voices are. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Request: Keyfiles for FMsynth, Klondike | mr_a500 | request.Apps | 4 | 03 April 2005 14:02 |
|
|