loading...
Cover image for baby steps...

baby steps...

michaeltharrington profile image Michael Tharrington (he/him) Updated on ・2 min read

I got a Raspberry Pi 2 for Christmas... 2 years ago. And, I've not touched it since. 🙈

collecting dust.

I had aspirations to code then, but lost interest and willpower. Just kept saying, I'll get to that eventually.

Well, guess what? It's 2019 🥳, eventually is here, and I'm going to get somewhat serious! I'm going to learn to code something for my pi in Python. 🐍

But... I could probably use a hand here. I'm new to programming and don't exactly know where to start, just know that I need to start. I chose Python because I have a friend that lives nearby who codes regularly and suggested it. I figured we could do a bit of paired work and perhaps that'd help with learning.

I also stumbled upon this recent helpful discussion here:


... which points to some great resources for beginner-level Python projects.

🐍 🐍 🐍

As well as this post here:


... that seems to scratch my itch for some basic "just getting started" with coding in Python information.

I'm wondering is this the right way to go about it? If I plan on learning to code, do I just pick a lang and go for it? Should I backstep a bit and look at the fundamentals more? I guess I can just start flipping through these resources and Googling things when I get confused, right? Is there any one perfect place to begin?

My ultimate goal is to code a white noise machine for my pi. I've been using this really awesome site for years and would love to recreate something like this.

I also stumbled upon this repo:

GitHub logo scivision / soothing-sounds

Demo several ways of making sound from Numpy arrays in Python, white noise

DOI image image Build status pypi versions PyPi Download stats

Soothing Sounds Generator

An acoustically pleasing Python code, targeted initially for Raspberry Pi, but should run almost anywhere. Uses lightweight, pure Python SoundDevice to generate sounds. Optionally, other sound playback Python packages can be used.

I have used the outputs of this program written to SD cards, played on media players in multiple locations for a few years.

Install

pip install -e .

Usage

The noise color option is one of

white pink blue violet brown

the examples will use pink noise.

Play sound from speakers

python soothing.py pink

save sound to disk

  1. generate raw sound file: python soothing.py pink -o pink.raw
  2. convert raw to lossless FLAC (playable in almost all media players, computer, phone etc.)
    ffmpeg -f s16le -ar 16000 -ac 1 -i pink.raw pink.fla

Notes

The core noise generation code is almost entirely from Python Acoustics

optional high performance Python FFTW install:

apt install libfftw3-dev





... that looked quite promising.

But for now, baby steps. Or slithers. 🐍

One of the reasons I'm writing this post is so that I actually commit to creating something. If I can code my pi into a rain-making noise machine, I'll be pretty dang happy and will definitely take you all along for the ride.

Any words of wisdom, advice, or recommendations—feel free to leave them in the comments.

Now, please don't let me drop the ball on this resolution again! 🤞

Posted on by:

michaeltharrington profile

Michael Tharrington (he/him)

@michaeltharrington

I'm a friendly non-developer from NC who enjoys playing music/making noise, eating veggies, and hanging out with my best friend/wife + our 3 cats. (he/him)

Discussion

pic
Editor guide
 

Just noticed this post, I'm gonna (ir)regularly ask you about the progress from now, so better get started!

As for the best place to start, I think it's... whatever you come across first. Getting started in a suboptimal place is far better than not getting started because you're researching which book to pick or which framework to learn first. At least that's the case for me.

 

Oh jeez! 😅

But seriously, I need the push, so do check in on me.

And good advice! My starting point is here - learnpythonthehardway.org/python3/... and I'm enjoying it thus far. Bout to install Python and get set up. Wish me luck!

 

I am starting myself in python as well. I am in the same boat as you, I need to hold myself accountable on this to get myself going.

Chin up and just start writing.

 

Appreciate ya sayin' so! And cool to hear you're at the start of your journey, too.

Every message I get on this post gives me that extra little kick pat on the back to start going, haha! It's awesome how encouraging everybody is here. Right now, I'm just trying to learn some Command Line basics—not even any real programming yet—but hey, it's a start.

Anyway, this weekend I'm headed into deeper waters... python-infested ones! 🐍🐍 If I say it here, I'd better do it, right? Haha!

Best of luck to ya in your own python studies. Let me know how it goes!