Running White Day on Linux
It is possible to run White Day near flawlessly on Linux using Lutris & Wine. Here's how to do it.
This was performed on both Linux Mint 21 Cinnamon Edition, and Fedora 41 KDE, with an Nvidia GTX 1080.
- Install Lutris and open it.
- Download the latest version of White Day Repackaged.
- In Lutris go to Settings > Runners, find Wine, and click the package icon (next to the cog icon).
- Install the latest "lutris-GE-Proton" (as of August 2023 this is 8.13), then click OK and close out the Settings window.
- In Lutris click the + button then "Install a Windows game from media".
- Set the "Game name" to "White Day" and click Continue, then click Install, and Install again.
- Click Browse and select the White Day Repackaged installer you downloaded earlier, then Continue.
- Wait for the installer to open and proceed normally.
- Once Installed just close out the White Day Repackaged launcher. If Lutris hangs, click Cancel, uncheck "Remove game files", then click Yes.
- Next we need to install Korean locale to your system. These steps might vary between different Linux distros. This was done on Mint so should be similar for any Debian based distro (Ubuntu, Pop, etc.).
- Open Terminal and enter
sudo nano /etc/locale.gen
- Find
# ko_KR.EUC-KR EUC-KR
and remove the hashtag and space that comes before it (#
). - Press Ctrl+O, then Enter to save the file, then Ctrl+X to exit the file.
- Run
sudo locale-gen
and wait for it to finish. - Close Terminal.
- Open Terminal and enter
- Go back into Lutris and click the + button again, then select "Add locally installed game".
- Under the "Game info" tab:
- Set the Name to "White Day".
- Set the Runner to Wine.
- Set Release year to 2001.
- Under the "Game options" tab:
- Click Browse next to "Executable" and select
whiteday.exe
under~/Games/white-day/drive_c/Program Files (x86)/whiteday/
. - Set Working directory to
~/Games/white-day
. - Set Wine prefix to
~/Games/white-day
.
- Click Browse next to "Executable" and select
- Under the "Runner options" tab:
- Set Wine version to the version of lutris-GE-Proton we installed earlier.
- Under the "System options" tab:
- Set Locale to "ko_KR".
- Click "Save" in the top right hand corner.
- Select the White Day entry in Lutris and click Play.
- The launcher will open as a black window. (Unfortunately I don't know how to make the options visible, but you can still click them just fine.) Start by clicking on where the "START WHITE DAY" button would be (at the top of the window, off to the right slightly).
- You will be prompted to set device settings. Set your resolution here and click OK.
- Click where the "START WHITE DAY" button would be again, then click "Launch Game".
- Hopefully White Day should now open in Korean locale and run smoothly.
- When closing White Day, sometimes the process hangs. To close it completely just click "Stop" in Lutris.
Optional - Set the game's icon in Lutris:
- Right click the White Day entry in Lutris, and select "Configure".
- Click on the Lutris icon and select icon.png (which you can grab here and save somewhere). This will set the game to use the White Day icon. Feel free to set the banners too, although I don't have anything prepared for those.
Optional - Add White Day shortcut to app menu, desktop & Steam:
- You can create application menu, desktop and Steam shortcuts from the context menu by right clicking the White Day entry in Lutris. This saves even having to open Lutris at all, and makes White Day feel like it's any other application on your system.
My account of Unnamed & White Day
Originally posted around 2013 on my old website, unnamedgs.com - active around 2012-2014. Later preseved on the White Day community wiki.
"On the 2nd of June 2012, I began repackaging White Day, going by the name Unnamed Game Studios.
Before then, the game was both difficult to find and difficult to install outside of Korea. Originally the best English source for the game (as far as I knew) was a Spanish blog post, which I found via a YouTube video (by user Kitsune).
That led me to find Rana Northwood, a Korean blogger who made regular posts about White Day. They had created a patch which enabled a (very scuffed) English translation left in the game by Sonnori, with some of their own edits - and this was the version of the game that was being supplied on the Spanish blog. After I spoke to them, they gave me the tools to pack and unpack the game's files (noppack.exe, nopunpack.exe). Apparently those files came from a Korean website called "Sonnori's WhiteDay: The Second Generation", which I believe went dead around 2006-2007.
With those files I opened the game up, and spent the next year or so, on and off, trying to correct the translation, add further features, bug fixes, etc. as well as creating installers to make the game easier to install for everyone. I used to host all of that on my own Unnamed blog and forum, which gained a lot of attention. The last version of my repackage to be hosted there was 15.6.
Around 2014 I decided to take down the blog and let other people reupload the package instead, as I didn't have the time anymore to maintain it.
In 2017 I returned to find the wiki community, who at the time had started to dive even deeper into the game, unearthing deleted content, etc. Later that year I made new versions of my package, ending in 16.3, which are available on ModDB."
White Day 2001 modding guide
For purveyors of my website who don't know what this is, I am an ethusiast, modder, speedrunner, translator and overall long-time fan of a Korean horror game from the early 2000s called White Day. You can check out my work on the game here and here.
This guide is a work in progress and I'll be expanding it every now and again with new information.
You can find all the relevant tools & programs in this repository: Mega.nz - it will be referenced a lot in this guide so keep it handy.
NOP files
You can find the NOP tools in the nop tools folder in the repository.
How the nop tools work:
When opened, nopunpack.exe
looks in the current directory for any .nop
files called whitedayXXX.nop
, where XXX is a number between 000-999. You can have multiple nop files (e.g. whiteday000.nop
, whiteday178.nop
, whiteday840.nop
, etc.) and it will go through all of them and extract them accumulatively.
noppack.exe
packs files & folders into a nop file. You can drag files & folders into it, or use a batch script or command line to pack things instead.
Important note: You will need to run the nop tools with a Korean locale to make sure the packed / unpacked files have correct Korean text & file names.
How to run nop tools with Korean locale:
To run nopunpack.exe
in Korean, use the included nopunpack.bat
file. When opened, the batch script tells Locale Emulator (LEProc.exe
) to run nopunpack.exe
, and Locale Emulator automatically uses the application specific settings in nopunpack.exe.le.config
(which tell Locale Emulator to use Korean).
Alternatively you can download & install Locale Emulator on your system, right click nopunpack.exe
, then click Locale Emulator → Run with Application Profile and that will do the same thing.
To run noppack.exe
in Korean, use the included noppack.bat
file. Just make sure that the unpacked data, script or custom folders that White Day recognises are in the same directory and then run the bat file.
Inside the noppack.bat
file there is an extra bit of code which waits for the noppack.exe
process to exit before continuing. This allows you to add more code to run after noppack has finished, perhaps to rename the nop file or copy it somewhere.
It turns out you can also use the "Pangya Pak File Manager" made by Seddi to open and create nop files! Pangya is another game series made by Sonnori that shares similar file types. For White Day, the tool only works when you run it with a Korean locale, and change settings to XOR and low compression.
If you like you can download it from my repository, where I've included extra files (locale emulator + batch script) to allow you to directly open nop files using the software by default, and with the correct locale. (nop tools/Pangya Pak File Manager). Read the included readme.txt
to set it up.
Asset overview
File & folder structure
Inside the nop files are all the main assets of the game. There are three main folders at the root of White Day's nop files:
data
: contains text, textures, audio, models, animation, fonts, and more.script
: contains most of the scripting in the game.custom
: special folder that allows users to make custom face textures for the main cast of characters.
It's also worth noting that White Day doesn't only look in nop files for these assets. In fact, if you place any of these folders in the main installation directory, White Day will use what it finds there too. This can be useful for when you're testing things, as you don't have to keep packing nop files to apply changes.
File formats
Moving on... Let's talk about what files there are, and what can be modified. Unfortunately for us, many of the files in White Day are either unique variants of existing file formats, or totally proprietary. On top of that, a lot of code and even some text that appears in-game is hidden inside dll files outside of nop files. Modifying certain things can be tricky. Here's a list of the unique formats you can expect:
WDB
- Old Microsoft Works Database file, can be opened like a text file. I recommend using Notepad++ with a User Defined Language (UDL) that adds syntax highlighting (I uploaded my own in the repository: /wdb tools/sonnoriwdb.xml).
- WDB files contain sheets of data that are usually referenced in scripting. The first line defines the number of columns and rows (this must be updated if the number of columns or rows is changed). The first column is the ID of the data which can be referenced elsewhere in scripts - it must be kept unique. Everything else is the actual data, which is all separated by quote marks.
- Be careful: Syntax errors can cause White Day to crash, and it won't usually be obvious where the syntax errors are. Fortunately I made a small program which can detect syntax errors (/wdb tools/wdbvalidator.exe) - just drag wdb files onto it and enter the number of columns, and it will tell you if any errors come up, and where.
langtable.wdb
is significant because it contains nearly all text in the game and can be easily expanded to add more text. Strings fromlangtable.wdb
are referenced elsewhere withGetString("example")
, where "example" is the ID (first column in the wdb file).- Syntax:
\n
= new line|
= new page\1
and\0
= highlight text\<img src=example.bmp size=128 128 rect=0 0 128 128 scale=0.5 offset=0 0>
= embed bmp image from\data\misc\image\diary_docs\
<cut00>
etc. = dialogue options
WEP
,WED
- Stands for WangReal Engine... P-something. These can be opened like text files. They define where objects, textures, etc. are inside levels. You can add and remove models (
.PET
files) or change their location by adding different coordinates. The map (.BSP
) and textures for that map (.WAD
) are also defined here.
- Stands for WangReal Engine... P-something. These can be opened like text files. They define where objects, textures, etc. are inside levels. You can add and remove models (
SCP
- Script files which can be opened like text files. Seem to be some variant of C, and references functions from the WangReal engine (for which there is no official documentation).
BSP
,ENT
- Map files which share the same file format as Half Life 1, and therefore can be opened with some HL1 map tools such as BSP Viewer (repository: /map tools/BSP Viewer). There are some unused BSP maps in the game's assets which are interesting to look at.
- Crafty by Nem can also view BSP, and has been reported to be able to convert White Day's BSP files to OBJ files. (/map tools/Crafty)
- ENT files list all the entities in the BSP file and can be edited with BSPEdit (/map tools/BSPEdit), or extracted from a BSP using GCFScape (/map tools/GCFScape) and edited like a text file.
LSF
,LTS
,NLF
- Unknown, possibly something to do with map lighting.
WND
,WYP
- Unknown, my best guess is waypoint / pathing information for NPCs.
MM
,MMP
,WMAP
- Definitely data for the maps you can find and view in-game, but there's no known way to open these files.
WAD
- Essentially a package of textures used by maps. Like BSP files, this format is used by Half Life so it can be opened / modified by some of the same tools. However... If you want to modify the textures inside these files, it's best not to edit them directly as this has been known to cause loading issues. Instead, you can extract the textures out using wad2bmp (repository: /map tools/wad2bmp), and then simply place the ones you modified in
\data\map\texture\
. The game will use those textures instead of the ones in the WAD. - If you really want to edit WAD files directly, you can try using HL Texture Tools, Wally or Slade.
- Essentially a package of textures used by maps. Like BSP files, this format is used by Half Life so it can be opened / modified by some of the same tools. However... If you want to modify the textures inside these files, it's best not to edit them directly as this has been known to cause loading issues. Instead, you can extract the textures out using wad2bmp (repository: /map tools/wad2bmp), and then simply place the ones you modified in
WFT
,FNT
- Old 4 bit bitmap font files. Contains the fonts for pretty much all in-game text.
- The main reason you would probably want to modify these files is to add additional symbols for other languages. This is because the fonts in this game have no support for symbols other than Korean, English and some very limited Japanese, so translating to other languages is a problem.
- Despite "FNT" being a common extension for old Windows bitmap fonts, no program intended for FNT files has been able to open or modify the ones found in White Day (at least, not the ones I've tried).
- A good program I have found for displaying these fonts is 7yuv. It's a program which is able to open raw data as pixels, and lets you define the bit depth, width, etc. yourself. For these fonts, the correct settings in 7yuv are usually 4 bpp and whatever pixel width is indicated by the file name (9, 18, 36).
- When it comes to actually editing these font files, I have developed my own tool - the White Day Font Editor, or WDFE. (repository: /font editing/wdfe). Version 1.0+ of the tool currently allows you to view and edit the 36px and 18px FNT files. The symbols you edit using this tool must be reimported in the same format they were exported - that is, 4 bit (4bpp), 16 colour, grayscale, BMP3 bitmap files. If you're having issues preserving that format after editing the bitmap, try using Corbi's imagemagick script (found in repository: /font editing/wdfe/corbi's script).
- Additional information: The font family White Day uses is HYGothic (a TTF version is provided in the repository: /font editing/HYGothic).
PET
- 3D models. They share the same format as Sonnori's other game, Pangya, which uses version 2 of the WangReal engine.
- There is a tool by HSReina that can display Pangya models which has been modified to also work with White Day's models. It needs to be opened with a Korean locale to work properly with White Day's models. (repository: /model tools/pangya models view).
- HSReina also developed a 3DSMax plugin which can import PET files. (/model tools/pangya puppet import).
- Retreev is a series of tools made for games by Ntreev (formerly Sonnori), including Pangya. Much of the documentation found there may apply to this game as well. Anyway, among those tools there is a script made by John Chadwick which is able to import Pangya MPET files into Blender. At HSReina's request he would later make a modified version of one of the files, mpet.py, which allows using White Day's PET files. You can find this version of the script in my repository: /model tools/io_scene_mpet.
- Worth noting that not all of the objects in White Day are PET models. A few are part of the map file itself (.BSP) and can't be viewed or modified the same way.
MTN
,FUT
- Something to do with animation? No known way to open / edit them.
SAV
- Save files, found in the saves folder in the installation directory (or in the Windows VirtualStore folder if running the game without admin mode on Windows Vista or higher)
State of my live music system & other musings
After some site upgrades it's become much easier for me to write posts. The site has better post management (for example, I can now store drafts on-site), and a better editor that uses markdown, rather than what I had before (which was a WYSIWYG editor embedded in flask admin). I've learned a lot building this site and it continues to be surprisingly adaptive to my needs
Anyway, recently I did two shows. The first show was a new spin on material from the March show, and the second show was all new. But both debuted an improved live set up that I dedicated (and hope to continue to dedicate) a lot of time developing. I want to once again share details about how that is all going and what's new. I've called the system "emsys" but I don't know if that will stick long term!
While I consider "emsys" more of a culmination of all the equipment I'm using put together (it is, after all, em's—that is to say, my—system, in its totality; and all the pieces matter), the most "custom" part of it, and the part I'm going to talk about most here, is the software I have developed for my Raspberry Pi 4 using mostly Pure Data and Python. So how did I end up here after my gig in March?
Desync: The heir to the MIDI throne
I started by reviewing two issues - the first was MIDI clock desync, which occurs for all manner of reasons including but not limited to MIDI bandwidth, tempo fluctuations, and the fact that time passes (yeah that bad). MIDI clock desync had occurred at the end of the March set, so something needed to be done.
The second issue was more of a limitation, and that is "pattern" desync between the Monomachine & Machinedrum (+MCL). To clarify, this is when the two synths have patterns of different loop lengths, and could not come back into sync unless the transport was restarted (pressing stop and then play). This is because the Monomachine has no way of interrupting a currently playing pattern; it can only queue. Naturally you could just avoid ever having the Monomachine's loop length be indivisible by MCL's, and you would never run into this - but this is a significant limitation for me as someone who loves polyrythm.
Fortunately, the solution I eventually came up with resolved both of these issues at once, but I'll take you through my journey getting there.
So, let's talk about MIDI clocks... Originally I had planned to continue using the Machinedrum's internal clock to run everything as it had done in March, only with my growing Pure Data patch in the mix. I implemented a system in the Pd patch that would keep track of MIDI latency from the clock source, and the time between beats, so that it could predictively stop and start transport - essentially resyncing the synths on the fly in a way that sounds fluid. (This is what I've previously called "forced interrupts" or "FIs" in other posts, but I now call it "transport interrupts" / "tins").
I made it work, but it was a total hacky mess and not easy to expand on. I got that feeling; the one where you're blindly developing a system, and you look back at it, and it starts to feel a bit ridiculous. That's when I knew I needed to switch course and reorient myself in a different direction for the sake of establishing good foundations for long term expansion
So, I started thinking of ways I could use an internal clock running from my Pi instead. That way, Pd would know when to restart transport since there was no latency concerns (since both Pd and the clock would be running on the same system). I had actually tried this before, but I couldn't work out how to make it stable and easy to manipulate externally. This was mainly thanks to two things: (1) the USB protocol introducing jitter to the timing of MIDI signals, and (2) being unable to find a piece of software that could run a clock and let you adjust its tempo interoperably (like from a Pd patch).
For the first issue, I did some research and ended up acquiring the pisound HAT, which gives the Pi native DIN MIDI ports through which I could send clock data without USB jitter. (After testing it turned out not quite as precise as the Machinedrum's, but good enough for 99% of purposes).
Since I was now using Pisound, I changed the Pi's OS to patchbox, the OS created for Pisound, which is based on Debian 12. It offers an easy way to install a realtime kernel for further minimising latency, as well as support for Pisound's special signature button which I later configured to perform basic actions like restarting the Pd patch, rebooting, and shutting down the system.
For the second issue (finding MIDI clock software with external controls), I tried lots of different solutions. I first tried wielding JACK's transport with jack_midi_clock, then seq24, and seq64 / seq66 - but all were more complicated than what I needed, and didn't seem to allow externally controlled BPM. In the end, I found a project on github which very simply generated a MIDI clock from Python with mido & rtmidi. I knew Python! It's what I made this site in (mostly). So I examined how that worked, and then I frankensteined it for my purposes; stripped away the UI, gave it virtual ALSA MIDI I/O connections, and a way to switch it on/off & have its tempo adjusted interoperably through those virtual connections (which another Python script maintains). I also adjusted the sleep interval between ticks to reduce CPU load to around 18-20%, which ought to leave enough room for whatever I have Pd get up to in the future (I hope ).
The Python script that maintains virtual MIDI connections, as I mentioned, is another aspect of this system. It continuously matches ports from aconnect -l
and establishes needed connections when they appear. This means there is no problem if any particular device fails or is disconnected, as it will automatically hook it back in when available. These needed connections would change over time to meet the demands of my growing Pure Data patch, and all of these scripts were given systemctl services so that they would run on boot too.
Segment data & msets: The nuts & bolts
The patch itself is currently designed to take care of the scheduling of material through what's essentially a more sophisticated version of "song mode" (p59) present on the Elektrons. Individual "segments" group several pieces of information together about any one point in a set. Most principally, Elektron bank IDs (p45) (e.g. A09, C11, H02...) for both the MD (via MCL) & the MnM, tempo information (bpm, ramp time), loop length, etc.
All of these segments are stored in .mset
files, which can be switched out. There is also a function to calculate the estimated duration of the mset you're working on, in order to help with pacing.
When designing sets, the patch keeps track of which Elektron banks aren't in use by a segment. This coincides with an "insert segment" function which creates a new segment that points to the first available unused banks. In reality the Elektrons may have content at those banks, but in my system, it regards those as blank and we can overwrite them. In other words, when we delete a segment, it's treated blank even if the content hasn't been removed from the synths - sort of like when a hard drive deletes files, it just labels them as disposable rather than physically removing them
This way of doing things drastically simplifies the cumbersome process of copying and pasting around patterns to different banks on the Elektrons in order to consolidate material. Better yet, it abstracts away the idea of there being any sense to the order of banks altogether, and ensures full use of the MnM & MD's total available pattern & kit space.
The goal with all this is so that there is as little overhead as possible while designing material, and performing material. In the studio I can develop material without counting bank numbers, and while performing, I can just focus on manipulating the material currently playing, and move on when I want to (with the hold function).
In future I may group segments into what I may call mtracks and mbridges, which would allow managing material in a more modular way - scheduling a series of segments of material, and bridging from one to any other.
As for how the system moves from one segment to another, there is a big cluster of checks—developed with 5% intuition and 95% trial and error —that decide when to do and when not to do things. The incoming MIDI clock is broken down into a series of [counter] objects that keep track of beat divisions, and messages are sent at different times according to the beat divisions to schedule or queue changes. For new seg data, MIDI program messages (which trigger bank changes), etc., this is done a few beats before the next phrase — this is the "load bang". For transport interrupts, the stop signal is sent 1/32nd note before the start of the next phrase, and is disallowed when a program message is queued for MCL - as this causes MCL to load MD data wrong (one of many checks in place to keep this all working as best I can).
All the more intricate, musical, sound design & performance information is managed by MCL and the Elektron synths directly. How they work as systems are well documented elsewhere, such as the Machinedrum, Monomachine & MCL manuals, and you'll see there is plenty that can be done (and is done) to twist ideas upside-down, or add and remove things on the fly. I could go into the what and how, but that gets into my creative process which isn't the focus for now
I will say I have some ideas that build off of those systems that I plan to try implementing into emsys. For example, having certain pertinent parameters slowly drift around randomly, particularly MnM parameters, since it needs more love... MIDI bandwidth permitting.
The face of emsys: a reverse engineered MiniLab 3
To manage these features and parameters we need good UI. At first I tried having Pd UI elements on a touch screen connected to the Pi. I took this to its conclusion by designing an interface and testing it all out, but in the end, having to interface with UI elements on a touch screen was too fiddly, and the screen had exposed internals that would've needed housing
I shifted gears. I thought back to university, when I was designing df-s2 - my first time trying to design a live music program, back then in Max/MSP. For that I used a Novation SL Zero to control the patch. The SL Zero has two LCD screens on it which can be written to with sysex messages, so I used those sysex messages in my patch to write UI feedback on the screens.
Fast forward to this year, I recently bought an Arturia MiniLab 3 for my studio. I was already using this controller in the March set to control MCL perf macros (p77), so in trying to expand its usage beyond a glorified slab of knobs, I did some research about what else I could do with it.
What I found was that a musician, Janiczek, had very graciously posted a Github Gist on the MiniLab 3, which detailed reverse engineered sysex to take control of its small OLED screen. The sysex data was gleaned from Arturia's Bitwig controller script.
Compared to the SL Zero's LCD screens, one advantage right off the bat with an OLED screen is that it updates information much faster and without leaving behind a trail of artifacts. This excited me so I got to work and rushed in some UI feedback from my Pd patch via sysex messages.
For emsys 0.1, which was used in both of the October sets, I used the ML3 to monitor the current segment ID, current phrase, beat, tempo, whether I had scheduled transport interrupts, whether I was holding on the current part of the set, among other things. I could also edit all this information with the ML3's knobs and sliders, and copy, paste, delete and insert segment data to structure my sets.
I have improved this dramatically since October with emsys 0.2. There is now a modular screen & line manager system. Now I am able to quickly put together menus, temporary alert messages, parameter information, etc. with a syntax I came up with for structuring information on the ML3's two available rows of text.
What I mean by "modular" in this case is that all screen information, for all screens, is stored and updated at once, but we simply select which to view at any given time, and we can add additional screens, or provide additional information, by simply adding another screen manager module.
I even made a startup animation — a blinking face. It feels like my own completely one of a kind device, and that feels really special
For managing the controls, this was fairly straightforward through CC messages. The Shift button, rightmost pad, and—funnily enough—the sustain pedal, act as function keys to modify the behaviour of other knobs and buttons. The pads do most of the performance functions, like triggering tins, holds, managing transport, etc. Whereas the knobs (currently) are used for editing segments. The only exception is the leftmost knob, which controls the tempo of my clock, and queues / switches segments when pushed in & turned.
There are undoubtedly things I have missed in my post... But that's okay. See you next time
Brief unhinged speculation on SLMs
Been having some thoughts about alternate arrangements for how I currently perform my music to allow for more freedom. Henceforth I'll dub these speculative ideas SLMs (speculative live mechanisms) and treat them as an object to be linked to other ideas in a grander system of thought. The extra unhinged ones can be called USLMs!
I am toying with the idea of incorporating a pure data patch on a raspberry pi that will serve to replace the MIDI merge box, as well as provide potential SLMs via the USB MIDI IN port on MCL, and some kind of redirect to the MnM via MCL PORT 2. Control would come into the pi via USB MIDI from a MIDI controller, similar to my current system with the MiniLab.
Here are some random unorganised SLM ideas:
-
Pd song mode for MnM & MCL - PGM IN for both, handled separately so that pattern slots do not need to be aligned beforehand; which means no automatic PGM OUT from MCL to MnM unlike how I currently do things, which is very laborious. Instead, PGM is read from Pd in sequence from a list (txt), with varying control prescribed to the performer of when to stay or move on. Syntax of song mode data (SMD) may look like:
a. MCL #1-128 / MnM #1-128 / Length: Steps (1-64) or Duration (00:00:00.000). e.g. 12,15,64 or 73,10,00:03:13.500 - perhaps with tempo markings.
-
Forced interrupts (FI) of MCL/MnM/MD can be used by queuing a pattern change via PGM message followed immediately by a Play message (still needs testing on MCL).
-
"Bent out of shape" / BOOs - Parameters gradually and/or randomly malformed to create continuous variation. Certain parameters and parameter macros will be relied on for the interest they create, and randomly selected or prescribed in a list (txt).
-
Kaiser inspired generative sequencing of MnM POLY mode, or individual MnM tracks.
-
Pd sampler - to expand the functionality of the UW capability of the MD by creating my own sampler in Pd with (good) sound output from the Pi.
Currently these are speculative ideas as stated before. They will probably not see use in the next sets that I do, but I hope to explore their use in the future.
A website my very own website
Welcome! This is my first post.
I still have lots of work to do... Fill the site with content, other various bug fixes. The style isn't quite how I want it yet but this should do. It's been a lot of fun building this from the ground up.
I want to use an emote here but I haven't added functionality for that yet.
Anyway, bye for now.
UPDATE: Now with emotes