Hacker News new | past | comments | ask | show | jobs | submit login
Xwax Is an Open-Source Digital Vinyl System (DVS) for Linux (xwax.org)
107 points by gjvc 59 days ago | hide | past | favorite | 30 comments



xwax author here, nice to see it submitted to HN front page. Must be 20+ years now since I wrote the original code for DJ'ing live. Very happy to answer questions


In terms of beat mixing/matching, how does xwax compare to mixxx? They seem to be about the same age, but xwax seems a lot more lightweight/barebones compared to mixxx, is xwax perhaps not meant for end-users?


xwax /is/ meant for end-users, but right at the beginning it only had actual live professional use in mind. I was literally DJ'ing in clubs at the time and I wanted the digital equivalent of playing vinyl records.

I was collaborating with a friend on the early versions, to see if it could be commercialised to provide a "house" system for radio studios and clubs (much like the house provides CDJs or turntables). Today that's superseded by DJs bringing their own laptops, of course.

I don't know much about Mixxx these days; that project was always much better set up to grow through a range of contributors (eg. with its scripting engine). But I think it's technical architecture is probably quite different.

Whereas, xwax was designed from day 1 with the idea it was a realtime system with very tight latencies, taking input from one audio interface and responding to it on another. That was fun on Linux (and FreeBSD!) systems of the early 2000s.


From what I’ve read on Wikipedia, mixxx apparently uses the xwax source code. As does PiDeck. It would be really interesting to know what else uses it.


Serato DJ Pro and Traktor probably


Amazing work. Thanks for sharing xwax with the world!

Are you aware of Rasteri’s SC1000? It uses a magnetic rotary sensor with a modified version of xwax instead of time-coded vinyl. I wonder if xwax has support for other DIY jog wheel controllers? I didn’t see anything in the docs.

GitHub - rasteri/SC1000: An open-source digital portable turntablist instrument https://github.com/rasteri/SC1000/ « the scratch wheel is handled by an Austria Microsystems AS5601 magnetic rotary sensor »


It's something I have seen before! Seeing xwax reduced to very small hardware is interesting. Thanks for sharing here.


I owe you a huge thanks! As a music + open source nerd, XWax was magic for my teenage turntablist brain. That era with Ms. Pinkys (https://mspinky.com/vinyl/) was just such a special time. <3


It was magical and very exciting seeing these things emerge!


Thank you for your contribution to open source music production/dj'ing!


I used Final Scratch about 20 years ago. These days I use Recordbox DVS as all my kit is Pioneer.

The infinite music catalogue in digital format with the analogue feel of mixing vinyl is the perfect match for me. It’s been fun introducing friends to DJing by loading up anything they want into Rekordbox and seeing the delight on their faces after a first successful blend of their favourite music.


I'm probably not the only person that hoped this was a digital archiving tool.

Apparently, a one-off record costs about $99:

https://vinylify.com/how-to-make-vinyl-online/

Using modern LDPC (or whatever error correction is most appropriate), and assuming a midrange stylus (budget ~ $99), and 100 year retention, I wonder how much data can you jam onto a 10", 2-sided record.


The records used by xwax have about 100 kilobytes of data on each side of a 12" record. However, the goals are very different here; it's designed to decode the position under specific conditions such as being moved very fast, in reverse and changing direction rapidly. There would be a more efficient encoding if your goal was to fit as much data as possible and relax the other requirements.


Yeah; I'm imagining the record sits in a basement for 100 years, and has mildew + scratches. Each error correction block has to be (I'd guess) at least 10x wider than a scratch, assuming the codes can correct 1 bit out of 10.

CDs use Reed Solomon, configured for a 1:10000 bit error rate, but NAND storage uses LDPC, which is much more robust.

Anyway, reading such a block would likely take the record player 10's-100's of milliseconds, and xwax seems to target 1ms.


I was a little confused when reading "Getting Started" page as it is not immediately obvious that you need a vynil player and a timecoded disc to use it.

And I am surprised that there was an open-source software for this.

I wonder if there is software to do scratches using a mouse or a MIDI slider? It looks like Mixxx might allow that using scripting.


Pre-dating xwax and Mixxx there was "TerminatorX", sounds like it might be what you're interested in.


Xwax is amazing. But what was more amazing to me was that the magic external box with Final Scratch was actually just a sound card and the rest was all software. Dunno if I am over simplifying but it was amazing to see that the time coded record and the software like xwax was all that was actually needed.


Acquiring one of these "ScratchAmp" boxes that was missing its software is what started the whole project. These earlier systems deserve a lot of credit. If I'd had access to the software I don't imagine I would have dug so deeply into the concept.


I used xwax for many years and was always delighted by it. A fantastic bit of software!


Leaving this here in hopes someone has an idea or wants to initiate a project.

I would love to be able to do DVS without a computer. I basically just want some piece of hardware with buttons (something like a groove box or https://1010music.com/product/blackbox) and I want to connect it it with usb-c to a one of those DVS mixers or a Reloop Flux.

I don't need anything fancy really. I basically just want to use my technics and this as a replacement / alternative for CDJs.

Been looking for something like this for years. The closest I know of is an iOS app that does DVS named djaypro


How do you propose that you'd select and load tracks? Or view time remaining. Even if you don't care about a waveform display, some sort of computer (ie. display) seems to become necessary at some point. Perhaps you could check the PiDeck project, which puts xwax into smaller hardware.


A friend of mine was doing Technics repair and customization and about 6 years back we started building a prototype of embedding a Pi with a 3.5" LCD in the body of a 1200. I build a custom Qt GUI for xwax that was controlled by a single rotary encoder with a push button. We could throw out a lot of the UI since it was only ever playing one track at a time. He eventually got called up to be Alle Farben's touring sound guy and we never picked it back up once he was back.


djaypro is what you want in this case - but you’ll also need a mixer/interface which supports DVS (like Numark Scratch).

There are all-in-one hardware options but from what I remember all of them come with their own control platters etc


Is this not what the Denon Prime is, basically?


I first started using xwax in 2011. Been on and off until last year when my PC setup changed. Currently blocked from using it because the armbian won't recognize the Audio4DJ soundcard. I definitely need to put time into fixing that.


I'm just curious are any (Name) DJ's using this / Linux in Live settings? Could it be piped thru a Reaper setup?


I don't know of any these days, though in the past I received some great photos of packed large venues with xwax laptops on display.

Check the xwax built-in Jack module, likely to be the easiest way to bridge with other applications.


xwax is an open-source Digital Vinyl System (DVS) for Linux. It allows DJs and turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC, AAC and more), controlled using a normal pair of turntables via timecoded vinyls.


note to whomever downvoted this comment: quite often people are too lazy to actually click the link and read the target site for themselves, (and instead complain here in the comments...) so I quite often copy a summary sentence to this discussion section to give better context.


good explanation about Final Scratch here https://en.wikipedia.org/wiki/Final_Scratch




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: