Mars flight simulator (beta)

Mars flight simulator using ARCGIS javascript API and a synchronized control panel in Max/MSP

This project is under construction. And not yet available.

temporary files

internetsensors/arcgis

  • mars7.html – ARCGIS API javascript code (run in browser)
  • maxplanet.maxpat (Max control panel)
  • maxplanet.js (node.js maxAPI interface for web sockets)
notes

The js code in the html file is completely self contained. ie., will run without Max. The control panel is synchronized with the Max control panel using mutation observers in javascript to watch for changes to the control panel objects and notify the Max patch

to be done:
  • Need to get permission from ARCGIS to release this as open source.
  • Music and sound
  • Improve animation with better acceleration/deceleration in animations

 

Realtime Boston train map

Animated symbols on a map using Leaflet (open street map) and node.js

This project is under construction:

It uses Leaflet to handle map graphic layers and Stamen for the underlying map.

The data is provided via websockets using a node server

Temporary local files

internetsensors/mbtanode:

  • tn.js (background node server: mbta api and websockets)
  • leafredline1.html (handles leaflet code) and must be run on a web server.

After the map loads, scroll down and send the message “go” to open the websocket.

notes:

The animation of the train symbols is very primitive. It redraws the entire train line with each polling request.

There are better methods to move symbols on a leaflet map – to be used in subsequent versions.

Gqrx SDR with Max Mac OS

More notes: 2024/12/15:

It looks like you can pipe a stereo UDP audio stream out of GQRX. See this note: (from https://github.com/gqrx-sdr/gqrx/issues/868#issuecomment-727695048

As a basis, maybe a 48ksps complex IQ output is a good idea.

This already exists. Select “Raw I/Q” mode in the Receiver Options panel, widen the filter, then click the “…” button in the lower right corner of the Audio panel and enable the Stereo option in the Network tab.

Notes gqrx – piping I/Q audio stream into Max

Update: Looks like we need to widen the filter, as described above. And consider using udp streamed audio as an alternative. But its now working well with GQRX 2.17.6 on m3 mac sequoia.

Will need to find out if its possible for Max to read UDP audio streams, and if its possible to increase the sample rate beyond 48k

Also we can build a scaled down sdr in max and send the freq data via the sadam tcp libraries.

https://github.com/csete/gqrx Information here on adding hardware drivers.


Install gqrx with macports:

sudo port install gqrx


Install gtelnet with macports (Mac OS has jettisoned telnet)

sudo port install inetutils


Here’s a list of telnet commands that work with gqrx: https://gqrx.dk/doc/remote-control

For some reason gqrx not accepting ivp4 addresses. Need to telnet the frequency commands using this:

gtelnet ::ffff:127.0.0.1 7356

actually this netcat command works too. Make sure to use double quotes:

echo “F 7015000” | nc -w 1 ::ffff:127.0.0.1 7356

update 2024/12/14: this simpler command works with current gqrx

echo 'F 7033000' | nc -w 1 127.0.0.1 7356

In gqrx, select the I/Q demodulator and set the audio output to blackhole 2ch


For some reason, you can’t set the audio output sr to anything other than 48 KHz. This is apparently a feature. So the I/Q output bandwidth is limited, therefore no Wide band FM.

Unfortunately UDP audio streaming is limited to 1 channel, so no chance of I/Q streaming: https://gqrx.dk/doc/streaming-audio-over-udp

 

Updating Max/MSP internet sensor projects

Notes for updating from Max6 to Max8 in Mac OS Catalina

In general, 32 bit code will not work

Link to internetsensors project: https://reactivemusic.net/?p=5859

Github: https://github.com/tkzic/internet-sensors

1. mxj object

Need to update, but the Oracle link leads to a dead end message. Go to the Oracle download link https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html but instead of pressing the green download button, <ctrl> click and save the link as described in the instructions from intrepidOlivia in this link https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6

2. aka.objects

I have used aka.shell, and aka.speech – among others. These objects no longer work. Replace with Jeremy Bernstein’s shell object: https://github.com/jeremybernstein/shell/releases/tag/1.0b2

NOTE: There’s a problem with [shell] – it rejects input that is converted to a symbol using [tosymbol].

This can be fixed by using from symbol – or just eliminating [tosymbol] – it make affect the stderr-stdout redirection token, ie., “>” and other special characters but for now [shell] does not accept symbol input

aka.speech can be replaced using the “say” command in the shell.  more details to follow about voice parameters.

‘say’ has similar params to aka.speech, eg., voice name and rate. There are voices for specific languages. This feature could be used, for example, to match the language from a Tweet to an appropriate voice

3. Twitter streaming API

I revised the php code for the Twitter streaming project, to use the coordinates of a corner of the city polygon bounding box. That seems to be more reliable than the geo coordinates which are absent from most Tweets.

There is a new API in the works – but its difficult to decipher the Twitter API docs because they have so many products and the documentation is obtuse.

Also it would be interesting to extract the “language” field and use it to select which voice to use in the speech synthesizer. Or even have an english translation option.

4. Echonest API

Echonest was absorbed into Spotify. The API is gone. But the Spotify API does have some of the feature detection and analysis code. But it doesn’t allow you to submit your own audio clips. There are also some efforts to preserve some of the Echonest stuff like the blog by Paul Lamere, and the remix code. Here are a few links I found to get started.

Spotify API (features) https://developer.spotify.com/console/get-audio-features-track/?id=06AKEBrKUckW0KREUWRnvT

Echonest blog:  https://blog.echonest.com/

Amen – algorithmic remix project:  https://github.com/algorithmic-music-exploration/amen

5. Google speech to text

Several issues:

  • Replacing [aka.shell] with [shell] – instead of using [tosymbol], this workaround seems to help

  • Now have rewritten all of the recording code, and shell interactions with Google.
  • Still need to work on voice options for the ‘say’ command (text to speech)
  • pandorabots API problems turned out that the URL needed to be https instead of http

6. twitter curl project

Looks like xively.com is gone. Maybe purchased by google? Anyway – this project is toast

7. Twitter via Ruby

Got this working again.

8. Bird calls from xeno-canto.com

This patch has been completely re-written. The old API was obsolete. This version uses [dict] and [maxurl] to format and execute the initial query. Then it uses [jit.uldl] to download the mp3 file with the bird-call audio.  Interesting that [maxurl] would not download the file using the “download” URL. It only worked with a URL containing the actual file name.

9. ping

Needed to reinstall ruby gems using xcrun (see above)

seems to be a problem with mashape:

Could not resolve host: igor-zachetly-ping-uin.p.mashape.com (Patron::HostResolutionError)

[mashape was acquired by rapidapi.com – so will need to refactor the code in the ruby server.]

 

Test

Returning after a long long time

For many years this website lived on an Amazon cloud server. Around 2016 the attacks began. Malware and viruses swarmed the site and used it to send bizarre emails. Then the people at Amazon threatened to shut it down if I didn’t do something. I added recommended security features. The attacks continued. Eventually I closed the site to all outside IP addresses. Until today. I found a new hosting platform.

Varactors

Voltage controlled variable capacitors

Also called varicaps. They are diodes operated in a reverse bias condition. As voltage increases the capacitance decreases.

Read this first

Tutorial by Phillip Atchely, KO6BB http://www.qsl.net/ko6bb/varactor.html

More tutorials

Using Varactors by Stefan Hollos and Richard Hollos: http://www.exstrom.com/journal/varac/varac.pdf

Tutorial by Ian Poole at Radio-Electronics http://www.radio-electronics.com/info/data/semicond/varactor-varicap-diodes/basics-tutorial.php 

Another tutorial from Radio-Electronics?: http://www.radio-electronics.com/info/data/semicond/varactor-varicap-diodes/circuits.php

Threads from The RadioBoard Forum:

Varactor tuned regenerative radio by Tony G4WIF “The Two Dollar Regen” : http://www.cqham.ru/forum/attachment.ph … ntid=28430 More information here: http://theradioboard.com/rb/viewtopic.php?t=3568

 

Slice//Jockey help

A compilation of Pd help screens.

Slice//Jockey is an interactive audio performance instrument

by Katja Vetter

http://www.katjaas.nl/slicejockey/slicejockey.html

Screen Shot 2015-04-19 at 5.03.09 PM

Overview

Click any of the screenshots to see a full size image.

Screen Shot 2015-04-19 at 4.57.49 PM

X-Y field

The x-y origin is in the lower left corner. In the x plane numbers increase from left to right. In the y plane numbers increase from bottom to top.

Colors
  • white: left slice unit
  • grey: right slice unit
  • black: global

Screen Shot 2015-04-19 at 5.59.03 PM

Notes on notes:

  • x: pitch low to high (independent of BPM)
  • y: rhythmic variation low to high

Screen Shot 2015-04-19 at 4.58.27 PM

Screen Shot 2015-04-19 at 4.59.05 PM

Screen Shot 2015-04-19 at 4.59.17 PM

Screen Shot 2015-04-19 at 5.01.49 PM

Screen Shot 2015-04-19 at 5.02.03 PM

Screen Shot 2015-04-19 at 5.02.13 PM

Screen Shot 2015-04-19 at 5.02.36 PM

Screen Shot 2015-04-19 at 4.58.52 PM

Audio Settings

Screen Shot 2015-04-19 at 5.01.27 PM

Screen Shot 2015-04-19 at 4.59.33 PM

 IO section

Screen Shot 2015-04-19 at 5.00.32 PM

Screen Shot 2015-04-19 at 5.00.41 PM

Screen Shot 2015-04-19 at 5.00.58 PM

Screen Shot 2015-04-19 at 5.00.49 PM

 

Patterns and slices

Slice units left and right

Screen Shot 2015-04-19 at 4.59.57 PM

Screen Shot 2015-04-19 at 5.56.19 PM

Screen Shot 2015-04-19 at 5.00.06 PM

Screen Shot 2015-04-19 at 5.00.17 PM

Screen Shot 2015-04-19 at 5.53.28 PM

Screen Shot 2015-04-19 at 5.53.08 PM

Global recorder

Screen Shot 2015-04-19 at 4.59.42 PM