Hacker News new | past | comments | ask | show | jobs | submit login
Recreating the THX Deep Note (2009) (earslap.com)
193 points by citywide-fondue on Sept 26, 2018 | hide | past | favorite | 24 comments



Here's what the THX note would look like in creative sheet music notation. https://twitter.com/THX/status/1000077588415447040

DEEPNOTE from NYSTHI for VCV Rack does this in a virtual modular environment. https://github.com/nysthi/nysthi#deepnote You could create this with other modules too, like E-Series E340.


There's seems to be a THX contest on currently and I found this version quite remarkable. https://youtu.be/ZRvJW4-izLs


that is amazing haha


That's really neat.

There is a very good 20 000 Hz podcast on the creation of the THX Deepnote:

https://www.20k.org/episodes/thxdeepnote

https://www.20k.org/episodes/thxdeepnote2


If you’re interested in the history of stuff like this be sure to look into Beaver and Krause (https://en.m.wikipedia.org/wiki/Beaver_%26_Krause). If you recognize the THX sound then you’ll also probably recognize the last 30 seconds of Spaced (https://youtu.be/2xKO3KAtDZ0). They started off as early Moog salesmen showing off equipment and ended up introducing many famous musicians like George Harrison, the Doors, and the Byrds to electronic music. They also scored for movies such as The Graduate, In Cold Blood, Point Blank and Rosemary's Baby. True pioneers in the space and good music to boot.


The version on the official site (worth a few clicks if you have headphones)

https://www.thx.com/deepnote/


The animated background is also very cool.


Headphone? Deep Note was made for speakers.


And mixed for at least a 5.1 soundfield. The low frequency start absolutely has to come from the subwoofer, or the whole effect is lost.

I have deepnote as an AC3 audio file, along with a lot of other sound clips such as the original Dolby Digital trailers (the steam train is my favourite), and when ever I'm tweaking the audio in my Home Cinema I always fire them all up and give the house a good shake :)


It doesn't necessarily have to come from a subwoofer. Dolby specifically states that the LFO channel does not have to correspond to a physical speaker. The LFO channel only exists to ease retrofitting a subwoofer into old cinemas (in that case they would simply wire the LFO to a subwoofer and be done). But any other channel can contain bass information and in practice a new cinema will use a bass management system to route bass from all channels into their subwoofers. In theory a cinema could also have no subwoofers at all and send all bass to the mains and drop the LFO. It all works.


Link to the real one seems to be dead. Here's a version I found on youtube: https://www.youtube.com/watch?v=uYMpMcmpfkI


Edit: someone else posted a much better version, https://www.thx.com/deepnote/. My link fails in comparison. Also, that website is actually pretty cool.




This has been on HN several times in the past:

https://hn.algolia.com/?query=Recreating%20the%20THX%20Deep%...


Maybe someone here can help.

A few years ago I tried to implement what is shown on that page but without using something like SC, i.e. I was generating list of samples directly. I recall I was stuck trying to find how the 2nd order resonant Low Pass Filter (BLowPass [1]) was working.

Any good pointer to help me write it would be appreciated. I didn't spent much time reading SC source but I think it was not very clear for me without much sound synthesis knowledge.

1. http://doc.sccode.org/Classes/BLowPass.html


A typical implementation is simple - a couple of single sample delays, a couple of multiplications, some addition.

Deriving the coefficients and the design is not simple. There is math.

https://ccrma.stanford.edu/~jos/filters/Two_Pole.html

A characteristic equation called the Transfer Function defines what a filter (actually any circuit) does using polar complex numbers to represent the frequency and phase of an arbitrary input signal.

Basically the TF says "If you put a sine wave in, the circuit will change its amplitude and phase like this" - across all possible frequencies.

Filters are usually designed with a combination of poles and zeroes.

Poles are low-pass building blocks. Zeroes are high-pass building blocks.

Poles are a polynomial on the denominator of the Transfer Function, zeroes a polynomial on the numerator.

When you have your continuous Transfer Function you apply something called a z-transform, which gives you a form you can turn into a difference equation, which is basically the core equation for the filter, and another set of equations for calculating the coefficients.

Instead of deriving this from scratch you use standard forms which you can find on sites like the JOS tutorial I linked to, and dspguru.com.

But you do need to have some idea how all of this works - and also when this nice simple model stops working. (E.g. digital filters have issues close to the sampling rate, so good designs compensate for this and don't just use the difference equation blindly.)


Thanks a lot. It seems this remains quite a challenge to turn those into working code though !


Here is my code.

https://github.com/kbob/deep-synth

Specifically, look at experiments/deep-svf.c. If SVF is not defined, it uses a C translation of the Supercollider BLowpass2 algorithm. If SVF is defined, it uses a Chamberlin state variable filter (SVF).


Here is one done in Pd:

https://www.youtube.com/watch?v=Rz1uNLHorEs

The little GUI allows you to change all the parameters, like the partials of the final chord and the range of the glissando for each voice.

But I think the sound would only "lock in" by recording an actual cello and using that for the source of the oscillator. (A friend of mine suggested a cello harmonic which seems right given the timbre of the opening texture.)


There's also the issue of how far each voice travels from its initial randomly chosen state to its goal frequency.

It sure sounds to me like the original algorithm sought to choose initial frequencies that would be farthest from the goal frequencies. In other words, a lot of voices traveling several octaves from low to high while others go low to high. But I haven't tested that.


The one at the end that fits in the size of a tweet sounds better than all of them, IMO. Including the original.


The early part (with the most randomness) sounds very similar to the prop buzzing noise multirotors make.


I would never have thought there is a C code behind this masterpiece.




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

Search: