Notes gqrx – piping I/Q audio stream into Max
Update: This method has limitations – see below. It is an alternative to CubicSDR. But not as robust especially with audio streaming. There is something wrong with the I/Q output from gqrx. Can’t get a consistent set of signals across the band.
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
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
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
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
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
- 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.
- Remove any traces of rvm (ruby virtual machine) from the computer. Use the answer from this post: https://stackoverflow.com/questions/3558656/how-to-remove-rvm-ruby-version-manager-from-my-system . Then log out of terminal and log back in.
- update ruby gems using xcode – not the usual gem command: use this command: xcrun gem install <your_gem> – as described in an answer by Christina De Rito in this post: https://stackoverflow.com/questions/51263768/gem-install-fatal-error-ruby-config-h-file-not-found-in-mojave
- Inside the Ruby code, change “oauth_token” to “access_token” and “oauth_token_secret” to “access_token_secret”
- The streaming client example code failed and I replaced it with a filter that looks for tweets from a twitter id. To get your twitter id, go to https://tweeterid.com/
- By the way, here’s how to find your Twitter access tokens https://pixert.com/blog/how-to-find-access-token-for-twitter-app/
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.
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.]
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.
by Rich Holoch
Use on of these to replace a potentiometer with an Arduino, for example
Another approach is gluing an LED to an LDR…
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
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:
- Practical advice from Dan McGillis: http://theradioboard.com/rb/viewtopic.php?t=3182
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
A compilation of Pd help screens.
Slice//Jockey is an interactive audio performance instrument
by Katja Vetter
Click any of the screenshots to see a full size image.
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.
- white: left slice unit
- grey: right slice unit
- black: global
Notes on notes:
- x: pitch low to high (independent of BPM)
- y: rhythmic variation low to high
Patterns and slices
Slice units left and right
Algorithmic composition and generative music – part 2
With reactive music, audio is the input. Music is the output. Music can also be the input.
from Wikipedia: http://en.wikipedia.org/wiki/RjDj
“Reactive music, a non-linear form of music that is able to react to the listener and his environment in real-time. Reactive music is closely connected to generative music, interactive music, and augmented reality. Similar to music in video-games, that is changed by specific events happening in the game, reactive music is affected by events occurring in the real life of the listener. Reactive music adapts to a listener and his environment by using built in sensors (e.g. camera, microphone, accelerometer, touch-screen and GPS) in mobile media players. The main difference to generative music is that listeners are part of the creative process, co-creating the music with the composer. Reactive music is also able to augment and manipulate the listeners real-world auditory environment.
What is distributed in reactive music is not the music itself, but software that generates the music…”
Ableton Live field recorder
Uses dummy clips to apply rhythmic envelopes and effects to ambient sound: https://reactivemusic.net/?p=2658
InstantDecomposer and Slice/Jockey
Making music from from sounds that are not music.
by Katja Vetter
InstantDecomposer is an update of Slice//Jockey. It has not been released publicly. Slice//Jockey runs on Mac OS, Windows, and Linux – including Raspberry-PI
Slice//Jockey help: https://reactivemusic.net/?p=19065
Slice//Jockey is written in Pd (PureData) – open source – the original Max.
By Miller Puckette
Local file reference
- local: InstantDecomposer version: tkzic/pdweekend2014/IDecTouch/IDecTouch.pd
- local: slicejockey2test2/slicejockey2test2.pd
A music factory.
By Christopher Lopez
- A company that mysteriously vanished? http://en.wikipedia.org/wiki/RjDj
- Some explanation? http://evolver.fm/2012/09/24/rip-rjdj-developer-pivots-retires-legendary-immersive-app/
Inception and The Dark Knight iOS apps:
As of iOS 8.2, Dark Knight crashes on load. Inception only works with “Reverie Dream” (lower left corner)
Running RJDJ scenes in Pd in Mac OS X
Though RJDJ is a lost relic in 2015. It still works in Pd. The example scenes used here are meant to run under libpd in iOS or Android, but they will actually work in Mac OS X.
First, use Pd Extended. Ok maybe you don’t need to.
1. Read the article from Makezine by Mike Dixon http://makezine.com/2008/11/03/howto-hacking-rjdj-with-p/
2. Download sample scenes from here: http://puredata.info/docs/workshops/MobileArtAndCodePdOnTheIPhone The link is under the heading “RJDJ Sources”
3. Download RJLIB from here: https://github.com/rjdj/rjlib
4. Add these folders in RJLIB to your Pd path (in preferences)
5. Now, try running the scene called “echelon” from the sample scenes you downloaded. It should be in the folder rjdj_scenes/Echelon.rj/_main.pd
- turn on audio
- turn up the sliders
- you should here a bunch of crazy feedback delay effects
Note: with Pd-extended 0.43-4 the error message: “base: no method for ‘float'” fills the console as soon as audio is turned on.
Scenes that I have got to work:
The ones with marked with a * seem to work well without need for modification or an external GUI. They all have error messages) – and they really are meant to work on Mobile devices, so a lot of the sensor input isn’t there.
- Amenshake (you will need to provide accelerometer data somehow)
- Atsuke (not sure how to control)
- CanOfBeats (requires accelerometer)
- ChordSphere (sounds cool even without accelerometer)
- DubSchlep* (interesting)
- Flosecond (requires accelerometer)
- FSCKYOU* (Warning, massive earsplitting feedback)
- Ghostwave* (Warning, massive earsplitting feedback)
- HeliumDemon (requires accelerometer)
- NobleChoir* (press the purple button and talk)
- SpaceStation (LoFi algorithmic synth)
to be continued…
Random RJDJ links
Including stuff explained above.
- “RJDJ Addles me”, by Ann Althouse: http://youtu.be/_Ss52PH0oEM quite possibly the worst video ever
- The second worst video ever, by Jeangenie 1970: http://youtu.be/vWsc2bwRkI0
- rjlib: https://github.com/rjdj/rjlib – last update 5/2013
- PdParty https://github.com/danomatika/PdParty
- sample scenes? http://puredata.info/docs/workshops/MobileArtAndCodePdOnTheIPhone
- try echelon, eargasm, diving
- Makezine artlcle (links are outdated) http://makezine.com/2008/11/03/howto-hacking-rjdj-with-p/
- libpd http://libpd.cc/about/ community http://createdigitalnoise.com/categories/pd-everywhere
- RJDJ Tokyo user group: https://reactivemusic.net/?p=7585
- Shepard tones by Christopher Dobrian: https://reactivemusic.net/?p=17255
- Visual Shepard tones: https://reactivemusic.net/?p=17251
I’m thinking of something: http://imthinkingofsomething.com
USB webcam support for Mac OS X.