about & FAQ

absorptions is a blog about my hobbies. So far it's mostly about signals and programming, but may pick up a random new field at any point. It's a place for me to direct my need to talk nerdy. Why? I like the smell of unsolved mysteries. Call them obsessions or special interests; I call them absorptions.

Here I've collected some questions often asked in the comments section etc.

Contact info

Who?

Hi, I'm Oona, a computer geek from Finland. This is a blog about stuff I've found interesting along the years. In my working life I'm a software developer; I've mostly worked with real-time problems like Layer 1 networking and classical computer vision. You can follow me on Twitter for updates about new blog posts, although I don't tweet that much otherwise: @windyoona. There might be some fun stuff on my Youtube channel.

Why?

I write this blog because I want to share the joy of researching something interesting. And sound and waves are pretty interesting!

I'm the kind of person who enjoys absorbing information about something very specific and solving mysteries for no apparent reason. Or getting absorbed by them, if you will. Maybe it feels natural for people like us; maybe we see patterns in everything and are tempted to get to the bottom of them. Or maybe we never wanted to stop playing. Some would say there are lots of similarities with putting together puzzles. Perhaps you would like this Quora answer: Why do people like puzzles?

Sometimes I may do things the hard way, instead of the obvious way. Why? As a great composer once said, "only difficult solutions are worthwhile in art".

Could you release the source code for (x)?

No, to keep this hobby fun I prefer not to make software releases. It can be a lot of work to refactor and polish a hobby project into a presentable, portable, and legally license-compatible GitHub repository. It's also a big responsibility to publish and maintain software.

Instead of source code I prefer to share ideas, blog posts, diagrams, flow charts, algorithms; this is much more portable, and fun to create. Perhaps these could be used to formulate inputs for a chat bot to generate code?

However, I have published many of my command-line tools free on GitHub. These include:

  • redsea, an RDS decoder that aims to be fast and light-weight while still supporting most if not all RDS features.
  • deinvert, for descrambling a type of voice encryption known as voice inversion scrambling.
  • darc2json, for receiving DARC carriers. At the moment it only supports a few types of data packets.
  • squelch, a noise gate to facilitate RLE compression of PCM signals.
  • stereodemux is an FM stereo demultiplexer. Thanks to testing by some active users it now works pretty well in real situations.

But what if I pay you?

Currently I don't sell software. I recommend looking into ChatGPT and other AI solutions!

How did you learn about signals? How could I learn, too?

You can learn a lot about sound by listening. Listen to how sounds in your everyday life resemble each other. What makes them sound alike or different? What's the difference between a 'high' pitch and 'low' pitch? When you listen to a sound, does it have only one pitch or can you hear more of them?

Pay attention to music. Can you make out which instruments are playing? If there are lyrics, try to hum to the second voice instead of the melody.

Listen to how sounds reverberate in rooms and other spaces. If you close your eyes and talk to yourself, can you tell something about the room just by how it resounds?

The way I learnt was by spending much of my free time experimenting with computers, playing musical instruments, and reading for many, many years; see my nerd story. This geeky stuff is what I've always enjoyed doing and I find it relaxing as well. It's like when some people like listening to heavy metal or playing a video game, and end up having a lot of knowledge on the subject as a byproduct.

Here are some sources about signal processing that might be suitable for beginners:

And a few more advanced ones:

I don't do those at all, sorry.

Will you publish our article in your blog?

No, I appreciate the offer but it's just my personal project blog.

Can I buy ad space in your blog?

No, I don't do affiliate marketing or any ads of any kind in this blog.

Do you do talks or workshops?

There are some videos of past talks:

How could I support this blog?

Maybe leave a nice comment, or better yet, get inspired to investigate some mystery yourself and blog about it :) It's a nice way to have a diary of past projects for yourself, too.

Which software you use to decode signals?

Some command-line tools I use (Linux and macOS):

  • csdr does many kinds of basic low-level DSP tasks and can be used with Unix pipes on the command line. It can, for example, demodulate AM and FM, shift frequencies up and down, and convert integer data to floating point and back. It also works quite fast. It's not actively developed.
  • SoX can do brick-wall sinc filtering and arbitrary resampling. It's sometimes easier to use than csdr because the frequency parameters are in Hertz. I also use it to change the number of channels, to write WAV file headers, to play sound into the speakers, and to convert between file types.
  • For simple FSK stuff, minimodem might be the perfect choice.
  • multimon-ng for many digital modes.

For visually browsing the live radio spectrum and listening to carriers by ear I use the GnuRadio-based gqrx (macOS/Linux) and SDR# (Windows). You can use TV-Sharp to decode analog picture signals. For all kinds of offline measurements and visual inspection I use baudline. Microsoft Excel can do a lot of stuff.

I also write my own tools, many of them in C++ using the liquid-dsp C library. Some of these are open source:

What kind of radio hardware you've used in this blog?

In my projects I've used either

  • a cheap USB DVB-T receiver stick, also known as RTL-SDR, or
  • the more expensive Airspy R2.
  • Some FM radio related projects were done using a modified "worldband receiver".

What's the software you use to draw graphics and waveforms?

  • For waveforms I use my own program called oscille (explained in a blog post).
  • Baudline renders beautiful spectrograms, but I've also made my own renderers.
  • For graphics design and compositing I use free software like Inkscape, Blender, GIMP, ImageMagick, and librsvg.

Are you a hacker that can break into computers?

I don't mind being called a hacker, but I can't break into computers. I used the word 'hacker' half-jokingly in a blog post because I reverse engineered a simple encryption that mentioned the word 'hacker' literally in its specification. I then decided to embrace the term for some time, because 'hacker' can also mean someone who does 'hacks', i.e. weird solutions to technical problems. People who build weird little electronic circuits can be called 'hardware hackers', and so on.

However, it unfortunately causes a common confusion with a more popular meaning: infosec people (security researchers) can also be called 'hackers', even though they do quite a different kind of thing, and are even professionals at that. Also, it often refers to computer criminals. I'm not an infosec professional, and I don't want to claim otherwise by using that term.

There's a Wikipedia article that discusses these definitions.

What are you working on right now?

I always have some posts as drafts, but there are no rigid plans or schedules. Posts are often the result of a rush of inspiration. If the blog ever starts to feel like a chore I will take pauses of several months – even years – to pursue other interests.

For example, I make sleepy music (EP on Spotify). I also like city walks, solitary sports, making 3D art, reading, and thinking about life.

What's that weird länguääge?

My native language is Finnish. Not many people speak it, so I've had to learn several more, English being one of them.

I'd like to use this opportunity to tell you how fun languages are. Knowing another language opens up whole new worlds and ways of thinking about the everyday stuff. Did you know, for example, that perfectly translating a sentence to another language isn't always even possible, and Google Translate won't tell you that? And that the only way to understand the sentence might be to learn the rules of that other language.

It's actually never too late to start learning a language! In fact, you can start right now. Look up an online newspaper (or tech blog) in the language you wish to learn, and try to read an article with a dictionary in another tab. Make a note of every new word you encounter. You'll learn words quicker than you'd think! Later on, you can even do this with online radio stations (check out radio.garden) or YouTube videos.

How is your name pronounced?

If you're an English speaker, it's pronounced aw-nuh. I absolutely won't be offended if you adapt the sounds to your language. Or just call me Windy (as in weather, not roads).

I have questions!

Add a comment below and I'll try to answer!

23 comments:

  1. Discovered the dial-up poster last year. Loved it.
    Discovered your blog today. Enjoyed it.
    Saw that you have a radio license. Congrats!

    de VA1DF

    ReplyDelete
  2. I grew up hacking telephone systems, A lot of this for me is the old school of tech. Still, I find your signals analyses really interesting. Thanks again.

    -C

    ReplyDelete
  3. Hi

    Great blog! Would you mind sharing the details of the HW you use for your investigations?

    Thanks
    Cheers

    ReplyDelete
  4. Hi Oona,
    I started to follow your blog some years ago, congrats, I love this stuff... A personal question came up (sorry I'm curious), what's your type/result of Myers-Briggs test?

    Thanks!

    ReplyDelete
  5. Oona, what is the baudrate of the human ear and auditory processing system? What I mean is that someone could listen to and process a morse code transmission at 300 letters per second using just a single frequency (and different durations). If we added more frequencies could we double or quadruple this rate?

    ReplyDelete
    Replies
    1. Googling around, seems there's a world record for CW RX from 1939, at 75 WPM = 6 letters per second.

      Delete
  6. hi, if you didnt know there is a nice project on SDR, modem, codecs. There is even a physics defying low power tests... http://www.rowetel.com/blog/

    ReplyDelete
  7. hi windy... used to follow you on G+... refreshing to see you're still in the noise... don't hurt anyone with those massive flaming-shoes.... :-)

    ReplyDelete
    Replies
    1. Hi! I miss G+ sometimes, such a fun place to share all the geeky stuff. See you around!

      Delete
  8. hey oona, which gfx application did you used for that famous 56k dialup sound artwork? thats look great and i need design something like that for mine poster..

    ReplyDelete
    Replies
    1. Hi, the spectrogram is a screenshot of Baudline. Any software with a customizable spectrogram display should work. I used Inkscape for the layout and overlays.

      Delete
  9. Hello, thanks a lot for your work.
    I've got a couple questions for you.
    I use some of your programs (redsea and stereodemux) in a program that I created to broadcast stereo FM radio with live text from RDS to Icecast.
    However, I've noticed that stereodemux is no longer on Github. Is there a reason you removed it ? Can you suggest an alternate stereo demuxer that works well with rtl_fm ? Or perhaps an alternate program which can do stereo FM and RDS ?
    I still use stereodemux and while not perfect, it seems to work.

    ReplyDelete
    Replies
    1. Hi, thanks for the comment. There's no other reason for removing it than that I didn't have time to maintain projects and couldn't guarantee that the FM tools were actually standards compliant.
      I'm actually surprised it's being used - I could return it into existence and would be glad to hear about any improvement ideas or pain points in actual use.

      Delete
  10. Hi, is there a reason the TEMPEST demonstration video is gone? That was such a cool demonstration!

    ReplyDelete
    Replies
    1. Hi, I sometimes have to switch videos to private but you can still view it in my GRCon20 talk: https://www.youtube.com/watch?v=gJhRRTSDCa0&t=397s

      Delete
  11. Hi David, Im Yalek the Lembine. Im also an SDR geek for about maybe 5 years. The strangest signal ive received? Theres a signal in chicago that I cannot replicate ever, it gives off POCSAG, a familiar pager protocol, but in PSK and AFSK variants. My question is, I cant find any info on the PSK modes. Its on 454.475 Mhz, there is no morse ID associated with it.

    I was also able to discover how to modulate IQ signals in audacity with use of an IQ modulator plugin I have found on github. I have a whole bunch of knowledge on a lot of the signals and am part a big identifier with sigidwiki. I know the admin from sigidwiki.com and have been good friends with him for a years.

    ReplyDelete
  12. I came across this blog while investigating audio cassette storage. All of these posts are fascinating; I am hugely interested in things like signal processing and audio steganography. I am very much a beginner, but your writing has been wonderful. Thank you for sharing this!

    ReplyDelete
    Replies
    1. Glad to hear you've been inspired! Good luck with the signal adventures!

      Delete
  13. Hello Oona
    I have an old "new age" tape from 1988 which contains bird sounds and supposedly subliminals.
    I tried to make the voice audible using audacity filters, but it seems that human voice and bird songs are not easy to differentiate ! That's why I thought about your blog.
    I could swear i hear the word "caaalm", but the rest stays low pitched mumble which i couldn't manage to understand.
    Would you be interested in having a look ?

    ReplyDelete
    Replies
    1. Hi, that's so intriguing. You could try speeding it up by 1,6x and then running a low-pass filter curve to remove the loudest birds. This could make the voice less muffled but not distort it too much.
      Try to adjust the frequency and slope of the filter to be just right, to not muffle the voice even more.

      With some kind of a tracking filter (takes some manual work) the sounds of the airplanes could be reduced. You could also exploit the fact that the same 'mantra' seems to repeat every 50-60 seconds. The water noise would be very difficult to remove due to its randomness.

      All in all, a pretty difficult case!

      Delete
  14. Thanks, that sound more or less like what i tried and I didn't succeed. Yes it's a difficult case !

    ReplyDelete

Please browse through the FAQ first, it might be that your question is already answered.

Spammers have even found comments sections, so this comments section is pre-moderated; it will take some time for the comment to show up.