13 May 2020, 20:37 | #1 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
AmigaKlang is out
|
13 May 2020, 21:45 | #2 |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
Wow, that looks pretty cool!
|
14 May 2020, 06:52 | #3 |
Demoscener
Join Date: May 2006
Location: FR
Age: 54
Posts: 459
|
OMG, this is fab. Thanks a lot Virgill.
Btw, it says v1.0 in the CLI and v0.95 in the GUI Last edited by Crown; 14 May 2020 at 06:58. |
14 May 2020, 07:34 | #4 |
Registered User
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 818
|
|
14 May 2020, 09:19 | #5 |
OCS forever!
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 418
|
Virgil, what is the replayer like performance wise? I’ll add it to my intro framework when I get mo but just interested compared to p61 and pretracker
|
14 May 2020, 10:33 | #6 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
Antiriad: you can use whatever mod player you want. The exported .bin just renders the synthesized samples to a given memory location. For the "export executable“ function, I've used the Protracker v2. 1a player by Peter Crayon Hanning.
|
14 May 2020, 11:13 | #7 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Sorry for the stupid question/statement, but am I right in thinking that this is "just" an Amiga based softsynth?
I mean, there was a lot of hype around this around Revision, and I don't get quite get it having seen your video about it. Does this produce smaller mods or what am I missing here? |
14 May 2020, 11:16 | #8 |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
@Steril707: the way I understand it, it produces code that then can be run from your own program and will generate all the samples so that you can use them in your program.
|
14 May 2020, 12:17 | #9 |
OCS forever!
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 418
|
Had a look at the readme and it makes a bit more sense.
Code:
Export samples to mod file -------------------------- Use Save -> Export Samples to mod Select a mod file in the file dialog. ATTENTION: All sample data will be overwritten !! Export to Amiga executable -------------------------- Use Save -> Export executable Select a mod file in the file dialog. Now the "exemusic.exe" can be found in the sub-folder "exe_creator" Export to Amiga binary ---------------------- Use Save -> Export binary Now the "a.mingw.bin" can be found in the sub.folder "exe_creator" Demo coders can use this binary as described here: The binary contains relocatable code. Put it in memory where you want. You need an own player and the mod song data, since the binary just contains the sample render code. It needs following adresses in registers: a0: startaddress where to render the samples to chipmem . a1: startaddress of a temporary render buffer (32768 byte) a2: startaddress of external samples (if used. Include Ismp.raw) a4: address where the synth puts the rendering progress (e.g. for a progressbar) Second is a standalone amiga binary. Makes sense. The third looks like instead of saving the samples, it creates a piece of code you can run from within your demo to generate the samples on the fly. That would make it good for small 64k like productions as I'm assuming that the precalc code is a lot smaller than saving the final waveforms in your prod. I'm just a bit confused what you do with the samples once you've precalced them. How do you convert say the p61a replayer to use those samples? |
14 May 2020, 12:21 | #10 | |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Quote:
|
|
14 May 2020, 13:02 | #11 |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 352
|
@virgill
|
14 May 2020, 13:40 | #12 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
You've guessed right. It's designed to have low memory footprint for executable music compos or 64k Intros.
Antiriad: can't tell how it behaves with the P61 player since I don't have experience with that one. |
14 May 2020, 13:43 | #13 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
Btw, this is what it sounds like: (exe size 27kb)
https://soundcloud.com/virgill/redrum-redrum |
14 May 2020, 16:50 | #14 | |
OCS forever!
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 418
|
They sound great, Virgill
Quote:
Is this the workflow? 1. In amigaklanggui create instruments. 2. Export those instruments to a mod file 3. Write your mod using those instruments 4. Save mod without samples 5. In amigaklanggui export instruments to binary 6. In own intro, include the PT 2.1a replayer. 7. At the mt_data: label in the replayer include your sample-less module 8. Include the amigaklang binary file 9. Fill in the a0-a4 registers and jsr to to the amigaklang binary file to render samples. (how do you know how big the chipmem buffer needs to be for a0?) I still don't see how the replayer and the samples link up. I think the sample data in a normal mod file is stored right at the end from what I read on wikipedia. Maybe it's as simple as just placing the target for the rendered samples directly following the mod?: Code:
mt_data: incbin "mymodule.mod" klangsamples: dcb.b <however long the samples need to be> |
|
14 May 2020, 18:49 | #15 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
This will come in handy for my 64k intro for next years revision...
|
14 May 2020, 19:13 | #16 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
|
We had issues with P61 player, as the converter also seems to do some stuff to the samples... meaning that the resulting module sample offsets were not correct for the aklang sample renderer.
We switched to use phx's ptplayer (which I then stripped down to remove all the stuff not required for a demo.. sfx playing and master volume etc.), and had no problems with that. You'll need a tool that splits a module into pattern data and separate sample data.. the advantage is that the pattern data doesn't need to go into chip ram We also have a little cmd line tool in the build process that read the size of the sample file for the module and created an EQU, so if the module changed, we wouldn't have to manually update the dc.b value for the samples |
14 May 2020, 19:19 | #17 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
Antiriad: You´re described the workflow absolutely right.
Most replayers expect the sample data directly behind the pattern data. With others you can have them separated. The needed size of the sample buffer is shown in the GUI. |
14 May 2020, 19:23 | #18 |
Registered User
Join Date: Apr 2020
Location: Ibbenbüren
Posts: 19
|
Oh, and here´s a little overview i did a while ago. Sorry for the bad voice recording :P
[ Show youtube player ] |
14 May 2020, 19:33 | #19 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
|
Code:
section modpatterns,data ModuleTrk: incbin "dh0/assets/2020vision/modules/lemonfuturefunk.mod.trk" ifeq GENERATE_SAMPLES section modulesamples,data_c ModuleSmp: incbin "dh0/assets/2020vision/modules/lemonfuturefunk.mod.smp" else section modulesamples,bss_c ModuleSmp: ds.b MOD_SAMPLE_SIZE endif |
14 May 2020, 21:20 | #20 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
|
Sounds excellent, really clear sounds.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
|
|