Adam SporkaVisualization of the audio signal of my chiptune "The Dutch Tune (for Ember)" on a Hilbert curve. A half of the 11th order Hilbert curve is drawn from its beginning to its end as the music plays. The colors correspond to the signal which was being played back at the time of drawing. Inspired by Outsider Art 2017 in Caslav :-)
Yellow: Melody Green: Harmonic pads Blue and violet: Textures and bass
The Dutch Tune (For Ember) on a Hilbert CurveAdam Sporka2017-08-03 | Visualization of the audio signal of my chiptune "The Dutch Tune (for Ember)" on a Hilbert curve. A half of the 11th order Hilbert curve is drawn from its beginning to its end as the music plays. The colors correspond to the signal which was being played back at the time of drawing. Inspired by Outsider Art 2017 in Caslav :-)
Yellow: Melody Green: Harmonic pads Blue and violet: Textures and bass
0:00 Amtrak train horn an udertone series? 0:20 Undertone series definition 0:46 Overtone series mirror undertone series 1:05 Frequency division for digital control of pitch 2:17 Constraint 1: Limited resolution of high-pitched tones 2:33 Approximating chromatic scales using undertone series 3:57 Constraint 2: Counter range limits the bass 4:30 POKEY chip of ATARI 400 and newer computers 4:50 Pitch discontinuity is what makes the sweeps crisp 4:46 SOUND 3,A,14,5: The "A" is the undertone series member index 5:14 ATARI 2600: Even more constrained 5:28 Surprise Kingdom Come: Deliverance cameo 5:35 The Undertone Organ in Gradrigo 5:48 Shameless self-promo 6:04 Nerdy encore
https://adam.sporka.eu
Studio2600 for the Atari VCS by Norbert Landsteiner: http://www.masswerk.at/rc2018/04/studio2600
Keywords: #gameaudio, undertone series, acoustics, intonation, cheap hardware, sound effects, retrocomputingChannel Order Trap in 5.1 Audio (Game Audio Bytes #3)Adam Sporka2022-02-09 | When making Kingdom Come: Deliverance, we almost delivered the music in half of the cutscenes in the wrong 5.1 channel order. Watch this video to see what happened, how we fixed this, and how we started preventing this from happening again.
0:00 Introduction 0:35 Audio files often come without channel labels 1:02 Mono is safest 1:10 Stereo has 2 possible orders 1:49 5.1 channels: Film standard L-C-R-Ls-Rs-LFE 2:38 Stereo downmix from 5.1 2:58 5.1 channels: SMPTE standard L-R-C-LFE-Ls-Rs 3:15 Kingdom Come: Deliverance 5.1 experience 4:25 Listening exercise: Can you spot the wrong stereo downmix? 5:03 What exactly happened? 5:31 How to fix the channel order? 6:04 Channel mismatch prevention 6:28 Can this issue be ignored? Spoiler: No.
Keywords: #gameaudio, channel order, 5.1, surround, spatial audio, infrastructure, project setup, bloopers, exercise44.1 kHz vs 48 kHz: Dangers of Audio Sample Rate Mismatch (Game Audio Bytes #2)Adam Sporka2022-01-11 | PSA: Be mindful of the sample rate (sampling frequency) you use for your audio production and in your game audio engine. A mismatch can go unnoticed and will ruin your project.
Edit: This video is not about high-end music studio production pipelines, those sometimes use specific settings and often much higher sample rates, 96 kHz and even more. The context is general game audio development.
0:00 Introduction 0:59 Interactive exercise 1:28 Clip #1 1:53 Clip #2 2:16 Clip #3 2:44 Clip #4 3:13 Clip #5 3:27 Clip #6 3:50 Clip #7 4:14 Clip #8 4:35 Clip #9 5:02 Clip #10 5:22 Answers (clicking here spoils the exercise) 5:54 How come it's even possible? 6:08 Real-world examples of unchecked mismatches
Keywords: #gameaudio, sample rate, sampling frequency, infrastructure, project setup, 44100 Hz, 48000 Hz, bloopers, exerciseOvertone Series: Now You Hear It, Now You Dont (Game Audio Bytes #1)Adam Sporka2021-12-30 | This video looks at overtone series (harmonic series) an illustrates how tricky the perception of harmony can be. Game Audio Bytes is a new series of short videos illustrating important concepts in game audio and related fields.
I used my Gradrigo VST. Get it for free at https://adam.sporka.eu/gradrigo.html Please consider joining my Patreon at patreon.com/adam_sporka
Keywords: Overtone series, harmonic series, partials, harmonics, sinewave, experiment, demonstration, tutorial, software, game audio.FMOD Studio in Unity: The Very Basics (Game Audio Bytes #0)Adam Sporka2021-12-14 | In this video: * What to download * How to create a one-shot sound and a sustained atmosphere FMOD events * How to produce a perfect loop in REAPER using a synthesizer * How to import the FMOD Unity package to your project * How to trigger the two FMOD events using Event Emitter componentAdaptive Music in Kingdom Come: Deliverance – Developers Interface (No Speaking)Adam Sporka2021-04-21 | This video shows the debug interface of the Sequence Music Engine which drives the music in Kingdom Come: Deliverance. The interface list all pieces of in-game music of KC:D. By setting the values of the variables using the built-in consle I simulate the communication from the game. The engine then handles the seamless transitions. Shown: Exploration Music, Combat, Skip Time Music.
Music, tech design, and implementation by Jan Valta and Adam Sporka Get the game at kingdomcomerpg.com Get the soundtrack at kcdsoundtrack.comGradrigo – Real-time Sound Effects in UnityAdam Sporka2021-04-18 | How to use Gradrigo as a procedural audio generator for sound effects in Unity, directly controlled by your game.
Repository with this game: github.com/adam-sporka/gradrigo-test-game Get Gradrigo from: https://adam.sporka.eu/gradrigo.html Please consider supporting the project via patreon.com/adam_sporka Commercial license of Gradrigo available!Gradrigo – Language TutorialAdam Sporka2021-04-08 | Gradrigo is a procedural audio generator based on a simple programming language. You can use it as a video game SFX middleware, as a VST synthesizer and as a live-coding platform.
0:00 Welcome + URL of the IDE download 0:22 Acronym GraDriGO 0:45 The core concept: Audio generation grammar 1:56 Example of grammar: Alarm clock in Gradrigo. 3:35 Example of grammar II: Some more basic syntax 4:02 Single-character box names 4:18 Output volume 5:11 Fade-out 5:44 Fade-in 6:25 Subsequences 7:20 Timing in Gradrigo, incl. BPM-based durations 10:17 Built-in generators: Square, sawtooth, and noise 12:36 Tuning in Gradrigo, incl. MIDI note numbers 15:03 Polyphony 16:00 Polyphony in subboxes 17:30 Global variables 18:20 Voice variables + passing parameters to boxes 19:47 Syntactic shorthand: Sequence of instances of the same box 21:43 Sequence variables 22:17 Mathematical operations 23:10 MIDI input handling 24:20 @loop and @release: A simple release envelope 25:56 Conclusion
Get the tool from here: https://adam.sporka.eu/gradrigo.html
Patreon: patreon.com/adam_sporkaGradrigo – Procedural Chiptune Synthesizer for Game Audio and MusicAdam Sporka2021-04-03 | Gradrigo is a musical instrument as well as a procedural audio generator. You can use it as a video game SFX middleware, as a VST synthesizer and as a live-coding platform. It's a new audio programming language, combining the approach of CSound, and SuperCollider on one side and ByteBeat on the other.
Project home page: https://adam.sporka.eu/gradrigo.html Patreon: patreon.com/adam_sporkaReal-Time Sound Effects with GradrigoAdam Sporka2021-03-24 | Gradrigo can be used as a simple middleware for procedural audio. Check out Gradrigo at https://adam.sporka.eu/gradrigo.htmlPlexigan VST – If Hammond Organ was a Medieval Music InstrumentAdam Sporka2021-02-16 | Plexigan VST is a prototype of a hypothetical electro-mechanical instrument similar to Optigan. It is available as a VST3 and as a standalone .exe file (Windows).
Please let me know if it doesn't work but please note it is presented as is. It's still a work in progress and a 30-minute demo version. Make sure to go over readme.txt to check the license.
Please consider becoming my patron on Patreon to get the full version. patreon.com/adam_sporka
I will be releasing additional sample banks every now and then :-)Adhaesio – Render Music from Kingdom Come: DeliveranceAdam Sporka2021-01-01 | Jan Valta and I are very proud and happy when we see YouTubers utilizing our music in their videos about KC:D and other topics. Here is a tool that facilitates this. Adhaesio is an experimental prototype tool for rendering (bouncing) the non-linear (adaptive) ingame music as a linear medium by running Sequence Music Engine on our server according to the user-specified playlist.
0:20 AudioSources + Clips 1:40 Smyčky, výška/rychlost přehrávání, přehrávání pozpátku 2:40 2D a 3D zvuky, Dopplerův jev 6:47 AudioSource.Play() 8:45 AudioSource.PlayOneShot() 10:25 Zvuky pomocí prefabů 11:10 Intermezzo 1: freesound.org 13:07 Intermezzo 2: ffmpeg 14:00 Zvuky pomocí prefabů (pokračování) 16:50 Instance audio prefabů v náhodných místech 18:06 "Perfect loops" pomocí nástroje REAPER 22:25 Programování jednoduchého velnutí (fade-in) 24:59 Útlum hlasitosti se vzdáleností (volume roll-off) 28:57 Konec
Příkaz ffmpeg pro konverzi souboru: ffmpeg -i input_file output_file
REAPER: https://www.reaper.fmGradrigo Live Coding Demo (Old Syntax)Adam Sporka2020-11-11 | This video shows a previous version of Gradrigo, featuring a different syntax. The newest tech is available from https://adam.sporka.eu/gradrigo.html
Gradrigo is a new Swiss Army Knife of chiptune synthesizers. It can be a sound effect generator, a VST for chiptune production, or (as shown in this video) a live coding platform. More videos about Gradrigo are coming. Please subscribe to stay tuned!House in C Minor (MIDI Animation)Adam Sporka2020-04-16 | We interrupt this program to bring you the MIDI-driven Stick Figure Band performing their latest hit "House in C Minor".
(A bit of technical background: In addition to the usual MIDI tracks in REAPER which are fed to various VST synthesizers, I made some MIDI tracks, each for a separate members of the band, telling them when to move. The position of the keyboard players corresponds to the melody they're playing. The screen behind them shows Game of Life, synchronized to the beat. The scene is rendered in Unity.)
q=poke r=0x3200 s={0x2d2c,3,65,16,67,32} t={0,2,3,5,7} for i=1,#s,2 do q(r+s[i],s[i+1]) end sfx(0) cls() ::_:: flip() l=stat(20) pset(2*l,44,15) if l==31 then cls() for x=0,31 do y=r+x*2 n=12+t[flr(rnd(#t)+1)] q(y,n) q(y+1,94-x%8*2) line(2*x,42,2*x,42-n,1.7*(7-x%8)) end end goto _
Twitter: http://twitter.com/adam_sporka SoundCloud: soundcloud.com/adam_sporkaLatency Test with OpenSL ES Audio API on Xiaomi Mi A1Adam Sporka2018-05-08 | Playing a piece of Awake on my Android 7.1.2 phone to test the latency using a default patch in Caustic DAW. The sounds of impacts come approx. 100 ms before the onsets of the tones. Not perfect but already usable for real-time performance! :-)
December 2021 edit: This video made most sense when VCV didn't with the vast majority of boxes it does these days. At that point, 16-step sequencer did not exist and had to be emulated as shown.
Original text from 2017: VCV Rack is fun! This is my hack of a 16-step sequencer. I am using two rows of a SEQ-3 to specify a 16-step sequence and an additional SEQ-3 to drive the pair of A*B+C used as a multiplexer.
Twitter: http://twitter.com/adam_sporka SoundCloud: soundcloud.com/adam_sporkaAdeste, Pure Data! A makeshift 16-step SequencerAdam Sporka2016-12-25 | A quick hack of a 16-step sequencer made in Pure Data, controlled by the Novation LaunchControl, during Christmas chill-out :-)
Original text from 2016: During my weekend procrastination I started coding this little VST synthesizer plugin, inspired by Optigan, an instrument from the 1970s. My synth has 9 synchronized loops (channesl) of audio (currently organ sounds), representing 9 different tones selected between C3 and G5. When a tone from this set is played, the synth simply copies the loop to the output. When a note outside this set needs to be played, the playback speed needs to change to accommodate this, just like a PCM synth would. The fun comes with the fact that the playback speed is the same for all loops and so the entire playback comes with notable pitch glitches.
This synth hasn't got a name yet and the digital signal interpolation needs work. Other than that, I'd say it's a successful proof of concept.
(BTW, the reverb you can hear has been added using a different plugin. I don't really plan to have reverb path in my synth.)
Twitter: http://twitter.com/adam_sporka SoundCloud: soundcloud.com/adam_sporka48 Hours without Daylight [Chillstep]Adam Sporka2016-03-27 | 2016 remake of my "ballad of jet lag induction and recovery", written during my November 2013 trips when I skipped couple days of daylight due to sleeping cycle getting out of sync.
[Please watch in HD.] My chiptune with visualization. Each bubble represents a MIDI note. Visualization coded in Processing. The entire audio synthesis has been done using ~8 instances of Superwave P8 VST plugin.
Follow me on twitter: http://twitter.com/adam_sporkaLHR Layover Music (Atari 800XL)Adam Sporka2015-07-08 | An Atari 800XL piece written while trying not to fall asleep last week at LHR when returning from our Wasteland Wailers' meetup. The video was rendered using Atari800Win Plus 4.0. The content is a scripted injection of data to the emulated Atari computer, driven by Raster Music Tracker's screen. A very simple OCR of the RMT's screen did the trick. (I coded this during Fall 2014.) The audio was rendered in a separate Atari800Win Plus session and then sped up a little bit to match the video frame rate.
A piece I'm going to perform at the HWCon 2015 (@HWConvention) in the Netherlands this week. Ember is their mascot :-)
Disclaimer: This tune will have nothing to do with the Overmare Studios' FoE RPG game. But I am a proud member of the Wasteland Wailers, the resident TOmS' music team.
SoundCloud: soundcloud.com/adam_sporka soundcloud.com/wasteland_wailersUltrafast Galactic Bebop from Outer SpaceAdam Sporka2015-01-30 | (2015) So novel that critics won't get it. So retro that it's beyond hipsters. So funky that Pinkie Pie would love it. A little piece I'm going to perform at the upcoming party of the Faculty of Informatics at the Czech Tech University in Prague and at Hearth's Warming Con 2015 (@HWConvention) in the Netherlands.
Patreon: patreon.com/adam_sporkaEnd of SummerAdam Sporka2015-01-04 | Recorded using authentic Atari 800XL hardware. Uploaded on SoundCloud April 24, 2011.
http://adam.sporka.eu soundcloud.com/adam_sporkaAtari ForeverAdam Sporka2015-01-03 | Recorded using authentic Atari 800XL hardware. Uploaded on SoundCloud March 5, 2011.
Music made using Raster Music Tracker and then rendered via Atari800WinPlus emulator. The track cover contains an image from a cool collection of pixel ponies pixelatedponies.tumblr.com and is used with permission of its author who meanwhile has taken his blog offline. Too bad, I have no idea how to contact him now :(Awake [Chiptune]Adam Sporka2014-09-27 | Music made using Raster Music Tracker and then rendered via Atari800WinPlus emulator.
Published November 21, 2011
http://soundcloud.com/adam_sporka http://adam.sporka.euThe Story of Three Medium-sized Giraffes [Chiptune]Adam Sporka2014-09-26 | Music made using Raster Music Tracker and then rendered via emulator called Atari800WinPLus.
Published June 29, 2014 soundcloud.com/adam_sporkaFive Fifty-Five [Chiptune]Adam Sporka2014-09-22 | 555 SoundCloud Followers Special. This track features 5/4 rhythm to celebrate the numeral '5'. Music made using Raster Music Tracker and then rendered via emulator called Atari800WinPLus.