pouët.net

some less drama, some more entertaintment!

category: music [glöplog]
Oh wow!
added on the 2021-08-21 09:09:29 by Virgill Virgill
Quote:
and when I say "Amiga" I actually mean "Amiga 500" and "Atari ST(E)"


🤔
like in "everything with a 68K in it".

the engine consists of two (rather independent) parts:
- the softsynth (>99% C, could easily be ported to ARM, MIPS, ..)
- the replayer (~80% C, ~20% 68K Assembly)

I originally wrote this for an (A500) musicdisk we intended to release for Evoke. This may still happen "somewhen", though.

Since most of the musicians involved were not so keen on learning a new tracker, there is the option to export the samples to a MOD file (i.e. replace the samples, keep the orderlist+patterns, similar to Amiga4Klang).

The custom replayer does have a lot of advantages over MOD files, though:
You can use "advanced" / modern sequencing techniques like polyrythms, micro-timing, HW controller interfaces and so on --
the exporter will create a very compact form of this "arbitrary sequence of events" that is (usually / as far as my tests indicated) much smaller than an equivalent MOD file.

Besides, many features are not possible in MODs anyway, for example you can use up to 255 samples, 4 "modulation sequencers" per sample (volume, pitch coarse, pitch fine, sample loop), and it supports wavetables (which are also good for other things besides Future Composer style chip tunes).

The replay currently runs at "octaspeed" but for a musicdisk that only has to display a menu and maybe a scroller that should not be an issue. This allows for some (relatively) snappy envelopes, and microtiming (192ppq).

Scaling it back to single-speed would be possible (it then takes ~3-12 rasterlines on a stock A500, depending on the currently active features).
For use in a demo it would probably make sense to look into Leonard/Oxygene's Light Speed Player (assuming it can be modified to handle arbitrary audio register input).


Anyway, enough with the "chit chat", it was not my intention to "derail" this thread, so please, back to the mash-ups !
added on the 2021-08-21 11:28:01 by bsp bsp
one last thing: the "killer" feature here is that you can tweak your sounds while listening to your track. in the editor (on a PC) this happens "instantly", of course (move slider, receive bacon :)).

there's also a HQ mode (I've implemented everything twice: fixed point for the Amiga, floating point for PC, plus an option to oversample the "lo-fi" (fixed point) sounds, which can be useful even for contemporary music)
added on the 2021-08-21 13:01:31 by bsp bsp
(for clarification: the (lo-fi / 8bit) fixed point mode is available on both Amiga+PC)
added on the 2021-08-21 13:20:22 by bsp bsp
Quote:
Just let us try ;)


ok Virgill, here's the latest and greatest release (just updated it):
synergy-miditracker-preview-21Aug2021-win64.7z

contents:
- sequencer app ("synergy")
- "DAW" app (sampler, VST2 host, Cycle softsynth) ("eureka")

system requirements:
- Windows (10) PC
- ASIO capable sound card (for the "DAW")
- MIDI loopback devices (e.g. loopmidi) (see GETTING_STARTED.html for setup instructions)

Source (LGPL / GPL / MIT) is available on request (it's a huge project and takes a lot of time to create a source release. an older version is still on my website).

not sure how far you'll get without further support but then again it's really not _that_ complicated.

the basic idea is that the two apps communicate via MIDI (loopback devices). You _must_ create two devices named "remote_audio" and "remote_seq" and you definitely _should_ create additional devices names "vst_a", "vst_b", "vst_c", "vst_d" (up to "vst_h". the MIDI input selection (A..H) in the "DAW" track UI refers to these devices).

Saving a project in the sequencer will also save it in the audio app (same for loading).
If you want to use VSTs you should take a look at "eureka_config.tks" and configure the VST paths (not so user friendly, I know, but this is just for the initial setup)

The sampler in the "eureka" app is quite "insane" (if I may say so about my own stuff).
It makes it very easy to auto-split recordings into multi-samples, has a very deep mod matrix, and it supports per-voice plugins (the source for these is on GIT hub).

If you follow down the rabbit's hole you'll also find my contact info, just in case.

p.s.: clicking on the "F11: Synth" button in the sampler takes you to the aforementioned "Cycle" softsynth
added on the 2021-08-21 14:33:15 by bsp bsp
Thx bsp. Ill try that cycle synth soon. :)
added on the 2021-08-21 20:21:52 by Virgill Virgill
@bsp .. how do i actually handle your framework? like, what exactly do you (you bsp) do with it? :)

i've looked at it and was totally lost!

and that 'just the two of us' cover is awesome!

@kuemmel wow, never heard of ymck. i rly liked those 2 songs :D :D

@virgill is there more covers of them? (dom&jd beck) .. i rly dig the drumming, eh. awesome!!! reminding me of joe morello! :)

@sir .. that mashup is freaking dope, haha xD .. that song doesn't sound dark at all anymore :D .. great pick
added on the 2021-08-23 22:11:25 by tEiS tEiS
@tEiS some YT recordings: Cycle patch demo , Cycle export synth patches to self-contained C source (for 68K GCC)

Most of the sounds are rather simple but keep in mind that synthesizing ~150k of samples on an (unaccelerated) A500 can easily take 10..20sec.

It's possible to use static (regular) samples as well. The exporter will write a separate ".smp" file and a "table of contents" (sample start offsets and loops are aligned to 16bit because of the Paula DMA HW constraints).

Going into details about the (optional) replay would fill a thread on its own (one fine day I may write a "blog" article about that instead).

The patch files shown in the video are here (unpack them into the eureka/samples/ directory then click "Rescan Samples" at the top of the start page).

and as mentioned before, this is for a (WIP) music disk.
added on the 2021-08-24 13:17:01 by bsp bsp

login