GitHub - reillypascal/data2audio: Convert any file to audio (often called “databending”)

Convert any file to audio (often called “databending”) - reillypascal/data2audio

GitHub

There's definitely going to be a blog post about this, with some more backstory on ADPCM and the VOX format

I've been reading windytan's blog (https://www.windytan.com/2012/11/the-sound-of-dialup-pictured.html) lately and really enjoying the deep dives into how specific audio things work, and I think I want to do some of that.

#Databending #Rust #Programming #Coding #Telecom #Telecommunications #ADPCM

The sound of the dialup, pictured

If you ever connected to the Internet before the 2000s, you probably remember how it sounded. But what do these sounds mean?

absorptions

I found the original VOX ADPCM specification (https://multimedia.cx/mirror/dialogic-adpcm.pdf), and when that didn't sound quite like Audacity's implementation, I looked at the FFMPEG source (https://ffmpeg.org/doxygen/7.0/adpcm_8c_source.html#l00553)

For some reason, FFMPEG seems to do it a bit differently than the specification. I'll have to look into that more and see what's going on, but for the time being, it works!

#Databending #Rust #Programming #Coding #Telecom #Telecommunications #ADPCM

I implemented my own VOX ADPCM decoder!

I had mentioned (https://reillyspitzfaden.com/posts/2025/05/databending-part-4/#adpcm) wanting to use that format to interpret raw data as audio, and the Rust Symphonia crate (https://crates.io/crates/symphonia/0.3.0) didn't have the VOX variant and assumed the incoming data was properly formatted as an ADPCM file, rather than random data, so it was actually easier to do myself.

Here's how it sounds:

#Databending #Rust #Programming #Coding #Telecom #Telecommunications #ADPCM

Databending Part 4 – Data to Audio with a Rust Tool

Manually importing data as audio in Audacity sounds super cool but takes a while and slows down my composition. Today I'm automating it in Rust!

@silsinn9821 According to this documentation it's a YMF288/OPN3. I don't think the first five #touhou games ever used custom #ADPCM which is the most notable removal of this cheaper #OPNA imo, so probably should be fine for #PC98Touhou I guess? That is if Wikipedia is correct that the RSS and custom ADPCM are separate (even if both are using ADPCM) ​

@Pawlicker
BUFFALO SXM-F

"Only a Synth deals in absolutes....."

My "nemesis", as I refer to them, said that to me once.
I disagreed at the time, citing the persistent fluctuations that exist with analogue synthesis systems, but we held accord on that there was argument to be had for digital (DSP) synthesis methods and absolutes.
(a copy log of that particular conversation can be found HERE)
But how much information is really needed for a workable "absolute"?

https://joindiaspora.com/posts/fb017730d2fb0135bdf10242ac110007 https://friendica.feneas.org/display/76158462-425f-a8aa-c5ad-5fc554362525

SYNTHESIS DISCUSSIONS (Jan. 3 2018)

SYNTHESIS DISCUSSIONS (Jan. 3 2018) TB: Only a Synth deals in absolutes. Me: DSP maybe, but not so sure that's true with analogue TB: What is DSP? Me: Digital Signal Processing; the world of Walsh functions, binary finary=P TB: its just simple example CODEC : PCM,LPCM for Audio Signal processing and Me: n what's the frequency kenneth, what's the resolution depth? =P TB: a good one Me: at least twice the rate, less we alias away; that doesn't resolve the depth though TB: True true Me: synthetic fourier, practical in keeping things compact, but meh, it's just an illusion..... till conversion at least, then something real happens. TB: Cool https://joindiaspora.com/uploads/images/scaled_full_9ecd84fb5cfdbbeef123.gif Me: but the converse is also true, like parallel dimensions walsh and fourier kinda TB: totally agreed Me: qubits and bit depth, there's an interesting quandary TB: I think a qubit is both 1 and 0 or on and off simultaneously. Me: ahh, it would seem to close the cantor gap, ...

NeoChen1024/IMA_ADPCM

My exprimental ADPCM encoeder / decoder. Contribute to NeoChen1024/IMA_ADPCM development by creating an account on GitHub.

正在學習 IMA ADPCM 演算法的我:  
#ADPCM