Synthesizing audio with sox on Linux

December 6th, 2016

Recently I spent some time finally finishing my DIY DAC and needed some signal generator for digital AES/EBU, coax / spdif audio to test and evaluate it. Turns out sox is pretty handy for that:

sox -r 48000 -n -t alsa spdif synth sine 1000 # square, triangle, sawtooth

Bluetooth audio

December 6th, 2016

I am a longstanding fan of analog audio connectors, such as the headphone jack. During the iPhone7 rumors I long pointed out the many drawbacks of wireless audio: very lossy SBC -few combination support the also lossy aptX-, charging, connectivity issues etc.

While I still boycott the iPhones without headphone jack I run into the issue myself testing a Sennheiser Momemtum M2 Wireless the other weekend. Turns out on iOS Garageband does not use bluetooth by default, if you select it anyway, the App even warns about latency, and then if you actually use it iOS is such a degenerated crap, that it Garageband not allow you to use a Lightning connected audio input with Bluetooth audio out, … !!! What the heck?!?!

And when you do the Joe-user task of watching video? It is not even lip-sync anymore - the audio is seeable lagging like half a second or so, … !!!

Sad new wireless world :-/

Bluez 5

November 6th, 2016

I only realize now, in good old Linux tradition the command-line-interface of Bluez 5 was totally renewed compared to what was used the last decade up to Bluez 4.

So instead of “hcitool scan” and such you now have to run all the commands in some command line interpreting shell, sigh:

$bluetoothctl

[bluetooth]#list

[bluetooth]#show controller_mac_address

[bluetooth]#select controller_mac_address

[bluetooth]#power on

[bluetooth]#agent on
[bluetooth]#default-agent

[bluetooth]#discoverable on
[bluetooth]#pairable on

[bluetooth]#scan on

Update: some more details

The older Surface 2 can play at 192kHz

November 5th, 2016

In the 192kHz article I recently mentioned that Microsoft’s Surface Pro 3 with it’s ALC288 codec would max out at 48kHz. Turns out the Surface Pro 2 uses a ALC280 that surprisingly supports up to 192kHz. WTH?

/proc/asound/card1# grep rate codec#0
rates [0×5f0]: 32000 44100 48000 88200 96000 192000
rates [0×560]: 44100 48000 96000 192000
rates [0×560]: 44100 48000 96000 192000
rates [0×5f0]: 32000 44100 48000 88200 96000 192000
rates [0×560]: 44100 48000 96000 192000
rates [0×560]: 44100 48000 96000 192000

Random cloud changes

October 21st, 2016

For a while I already watched some other business struggling with workflow inefficiency by using cloud services that randomly (like monthly) change some user interface, options etc. and thus waste hours and hours of the time of workers to actually get their work done.

While we protect our data and investment by not using cloud services for anything productive (exception like Google Adwords, …) today we hit a similar issue. I automated invoice generation from our online store PayPal email notifications. Some days ago on October the 15th PayPal deviced out of the blue sky that it would probably be nice if they modernized their email templates.

Well, great for them, no so for our nicely script automated invoice generation. But even for the users:

Before the PayPal notifications where: Content-Type: multipart/alternative; with a Content-Type: text/plain; charset=UTF-8 and a Content-Type: text/html; charset=UTF-8 and about 20 kB in size.

Unix veterans could still nicely read the text/plain part in pine, mutt or wherever. The new emails did away with the text/plain part, and only send a Content-Type: text/html; charset=UTF-8 and the designers even blew that up to now consume a whooping 90kB.

Worst of all as of today they still send us a mix of old a new template based emails. Obviously awesome for some reliable processing, …

So this is what the silicon valley companies call progress? :-/

Update: Most of the size increase is actually mobile optimization CSS. WTF optimization is that? I rather have a smaller, plain text email than a 80kB CSS monster when I’m on the go :-/

Can the tech industry please stop messing with everything and thereby actually making things worse? :-/!

Samplerate: 192000Hz

October 4th, 2016

All the FLAC and high bitrate hi-fi testing? Right now I’m listening to a 192000Hz FLAC:

# play *flac

Alanis Morissette - 01. Eight Easy Steps.flac:

File Size: 106M Bit Rate: 4.92M
Encoding: FLAC Info: Purchased from 7digital.com
Channels: 2 @ 24-bit Track: 1 of 10
Samplerate: 192000Hz Album: So-Called Chaos
Replaygain: off Artist: Alanis Morissette
Duration: 00:02:52.37 Title: Eight Easy Steps

In:100% 00:02:52.37 [00:00:00.00] Out:33.1M [ | ] Hd:1.7 Clip:0

on a last-gen Retina MacBook Pro 15″ under (you guessed it from the quote above, right?) (T2) Linux.
Read the rest of this entry »

24 bit flac, 96/192 kHz audio

October 4th, 2016

I’m currently researching the case for higher audio fidelity. Lossless FLAC, 24bit, more than 44.1kHz you name it. The open source Xiph.org has some comments on that, too.

And when I then see online stores selling Melissa Etheridge, McNichol’s Arena, Boulder, Colorado, October 1st, 1988 (Remastered, Live On Broadcasting) as 24-bit/44.1kHz FLAC I really wonder.

1988, …, how was that recorded? On a Revox/Studer reel-to-reel, or what? At least it does not cost as much than the up-to-20 bucks they usually ask for more recent albums in 24/96, or /192 …

But seriously, analog noise and damp frequency response from 1988 I do not need in 24-bit, … ;-)

Or another example Phil Collins, Hello, I Must Be Going from 1982, … ??? 2016 remastered in 24-bit/96kHz - 96 kHz analog noise floor or what?!?

This legacy PC BIOS USB boot problems

September 30th, 2016

Believe it or not in 2016 I came across updating some aging x86 hardware, and it did not want to boot from our usual so2stick.sh T2 USB pen drive disk images. After some research and debugging it turned out syslinux has the answer:

On these BIOSes, you’re generally stuck booting them in USB-ZIP mode.

A standard zipdrive (both the 100 MB and the 250 MB varieties) have a “geometry” of 64 heads, 32 sectors, and are partitioned devices with a single partition 4 (unlike most other media of this type which uses partition 1.) The 100 MB variety has 96 cylinders, and the 250 MB variety has 239 cylinders;

And this stupid hack indeed works, sigh. PC BIOS programmers, a very special kind of bread, … :-/

Dell XPS 15 and Linux - a developer’s dream

September 16th, 2016

This is one of the few and longer review articles I write on this site, for two reasons. First of all I am pretty dissatisfied with Apple’s laptops (and workstations) for a decade, and second Dell provided me with XPS 15 to try for a few weeks.

Read the rest of this entry »

Screen on a serial port

September 16th, 2016

Although I use and develop on Linux for a very, very, very long time it never had the idea to use screen as a terminal emulator on a serial port for an embedded board.

Turs out that is very well support and just works:

screen /dev/ttyUSB0 115200