{"id":20965,"date":"2024-04-04T15:30:35","date_gmt":"2024-04-04T19:30:35","guid":{"rendered":"https:\/\/reactivemusic.net\/?p=20965"},"modified":"2024-04-05T10:20:13","modified_gmt":"2024-04-05T14:20:13","slug":"websdr-as-a-remote-receiver-with-max-msp-and-elecraft-k4","status":"publish","type":"post","link":"https:\/\/reactivemusic.net\/?p=20965","title":{"rendered":"Websdr as a remote receiver with Max\/MSP and Elecraft K4"},"content":{"rendered":"<p>Remote receiver project using Websdr as a remote alternative to a local receiver.<\/p>\n<p><iframe loading=\"lazy\" title=\"40 meter CW Transmission Using remote receiver with Websdr and Max\/MSP\" width=\"525\" height=\"295\" src=\"https:\/\/www.youtube.com\/embed\/Eloxbd7nJ6A?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><span class=\"yt-core-attributed-string--link-inherit-color\">Demonstration of a Max\/MSP program that connects an amateur radio transceiver to Websdr &#8211; transmitting locally from Maine (USA) while receiving remotely using a radio in the Netherlands. The Max program reads the frequency from a Elecraft K4 transceiver, to control the Websdr sites. It also loads the remote receivers, controls audio routing, mode, filter, and waterfall display settings. An iPad, running touchOSC, acts a a control panel. Up to 4 remote receivers operate at the same time. Websdr is a remarkable system, developed by PA3FWM at <\/span><span class=\"yt-core-attributed-string--link-inherit-color\">http:\/\/websdr.org\/<\/span><span class=\"yt-core-attributed-string--link-inherit-color\">. It lets you control remote receivers worldwide, from your Web browser. <\/span><\/p>\n<h3>Components:<\/h3>\n<ul>\n<li>Max\/MSP<\/li>\n<li>Websdr<\/li>\n<li>TouchOSC<\/li>\n<li>Elecraft K4 transceiver with antenna system<\/li>\n<li>Skookumlogger (logging software)<\/li>\n<\/ul>\n<h3>Max Patches:<\/h3>\n<p>websdrjweb7.maxpat : main control program. Contains [jweb] objects for launching websdr instances. Also code for injecting javascript to control parameters like frequency, filter, and volume. This patch acts as an intermediary between TouchOSC, WebSDR, and allows external MIDI control as well as getting frequency input from CAT controlled radios like the Elecraft K4.<\/p>\n<p>websdrCATaudio.maxpat : handles serial port interaction for the K4. Also reads audio stream from either the K4 receiver (via USB) or the websdr receiver (via Blackhole.)\u00a0 I created an aggregate audio device called K4sdr to allow Max to read both devices at the same time. Audio switching and levels are handled using a Korg nanoControl2. For example to switch between the audio streams or listen to both.<\/p>\n<p>Optional: arduino-ptt-detect2.maxpat : reads serial data from an Arduino, connected to the amplifier keying line, to determine whether the radio is in transmit mode, so we can switch back to the local audio stream to eliminate latency of hearing your signal via websdr. See subsequent post about this setup&#8230;<\/p>\n<h3>TouchOSC<\/h3>\n<p>websdrCW3.touchOSC : controls all 4 websdr channels, ie,., volume, mute, filter, CW offset, filtershift, &#8211; Also handles window management, loading js code, zoom in\/out websdr and selecting channel waterfall views or Max code views.<\/p>\n<h3>CW Offset<\/h3>\n<p>websdr doesn&#8217;t have a control for CW pitch offset.\u00a0To sync the frequency of the K4, the websdr is run in LSB mode with a frequency offset equal to the CW pitch setting in the transceiver. eg., 450 Hz. This works for most of the websdr sites, but unfortunately some of the sdr&#8217;s are off-frequency. You can usually compensate by adjusting the CWfreqOffset for that channel (in Max or TouchOSC).<\/p>\n<p>Setting the offset also requires shifting the filter so it is centered over the actual signal.<\/p>\n<h3>Files<\/h3>\n<p>This is currently a work in progress, not available on Github. Local files are in max teaching examples folder.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remote receiver project using Websdr as a remote alternative to a local receiver. Demonstration of a Max\/MSP program that connects an amateur radio transceiver to Websdr &#8211; transmitting locally from Maine (USA) while receiving remotely using a radio in the Netherlands. The Max program reads the frequency from a Elecraft K4 transceiver, to control the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reactivemusic.net\/?p=20965\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Websdr as a remote receiver with Max\/MSP and Elecraft K4&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[142,28,332],"tags":[191,345,105,25,57,243,164,12],"class_list":["post-20965","post","type-post","status-publish","format-standard","hentry","category-ideas","category-maxmsp","category-radio-2","tag-favorites","tag-maxmsp","tag-osc","tag-programming","tag-radio","tag-software-defined-radio","tag-web-audio","tag-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Websdr as a remote receiver with Max\/MSP and Elecraft K4 - reactive music<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/reactivemusic.net\/?p=20965\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Websdr as a remote receiver with Max\/MSP and Elecraft K4 - reactive music\" \/>\n<meta property=\"og:description\" content=\"Remote receiver project using Websdr as a remote alternative to a local receiver. Demonstration of a Max\/MSP program that connects an amateur radio transceiver to Websdr &#8211; transmitting locally from Maine (USA) while receiving remotely using a radio in the Netherlands. The Max program reads the frequency from a Elecraft K4 transceiver, to control the &hellip; Continue reading &quot;Websdr as a remote receiver with Max\/MSP and Elecraft K4&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/reactivemusic.net\/?p=20965\" \/>\n<meta property=\"og:site_name\" content=\"reactive music\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-04T19:30:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-05T14:20:13+00:00\" \/>\n<meta name=\"author\" content=\"Tom Zicarelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Zicarelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965\"},\"author\":{\"name\":\"Tom Zicarelli\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"headline\":\"Websdr as a remote receiver with Max\\\/MSP and Elecraft K4\",\"datePublished\":\"2024-04-04T19:30:35+00:00\",\"dateModified\":\"2024-04-05T14:20:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965\"},\"wordCount\":467,\"keywords\":[\"favorites\",\"Max\\\/MSP\",\"OSC\",\"programming\",\"radio\",\"software defined radio\",\"web audio\",\"web development\"],\"articleSection\":[\"ideas\",\"Max\\\/MSP\",\"Radio\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965\",\"name\":\"Websdr as a remote receiver with Max\\\/MSP and Elecraft K4 - reactive music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\"},\"datePublished\":\"2024-04-04T19:30:35+00:00\",\"dateModified\":\"2024-04-05T14:20:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/reactivemusic.net\\\/?p=20965\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20965#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/reactivemusic.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Websdr as a remote receiver with Max\\\/MSP and Elecraft K4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/\",\"name\":\"reactive music\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/reactivemusic.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\",\"name\":\"Tom Zicarelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"caption\":\"Tom Zicarelli\"},\"sameAs\":[\"http:\\\/\\\/tomzicarelli.com\"],\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Websdr as a remote receiver with Max\/MSP and Elecraft K4 - reactive music","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/reactivemusic.net\/?p=20965","og_locale":"en_US","og_type":"article","og_title":"Websdr as a remote receiver with Max\/MSP and Elecraft K4 - reactive music","og_description":"Remote receiver project using Websdr as a remote alternative to a local receiver. Demonstration of a Max\/MSP program that connects an amateur radio transceiver to Websdr &#8211; transmitting locally from Maine (USA) while receiving remotely using a radio in the Netherlands. The Max program reads the frequency from a Elecraft K4 transceiver, to control the &hellip; Continue reading \"Websdr as a remote receiver with Max\/MSP and Elecraft K4\"","og_url":"https:\/\/reactivemusic.net\/?p=20965","og_site_name":"reactive music","article_published_time":"2024-04-04T19:30:35+00:00","article_modified_time":"2024-04-05T14:20:13+00:00","author":"Tom Zicarelli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tom Zicarelli","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/reactivemusic.net\/?p=20965#article","isPartOf":{"@id":"https:\/\/reactivemusic.net\/?p=20965"},"author":{"name":"Tom Zicarelli","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"headline":"Websdr as a remote receiver with Max\/MSP and Elecraft K4","datePublished":"2024-04-04T19:30:35+00:00","dateModified":"2024-04-05T14:20:13+00:00","mainEntityOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=20965"},"wordCount":467,"keywords":["favorites","Max\/MSP","OSC","programming","radio","software defined radio","web audio","web development"],"articleSection":["ideas","Max\/MSP","Radio"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/reactivemusic.net\/?p=20965","url":"https:\/\/reactivemusic.net\/?p=20965","name":"Websdr as a remote receiver with Max\/MSP and Elecraft K4 - reactive music","isPartOf":{"@id":"https:\/\/reactivemusic.net\/#website"},"datePublished":"2024-04-04T19:30:35+00:00","dateModified":"2024-04-05T14:20:13+00:00","author":{"@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"breadcrumb":{"@id":"https:\/\/reactivemusic.net\/?p=20965#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/reactivemusic.net\/?p=20965"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/reactivemusic.net\/?p=20965#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/reactivemusic.net\/"},{"@type":"ListItem","position":2,"name":"Websdr as a remote receiver with Max\/MSP and Elecraft K4"}]},{"@type":"WebSite","@id":"https:\/\/reactivemusic.net\/#website","url":"https:\/\/reactivemusic.net\/","name":"reactive music","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/reactivemusic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571","name":"Tom Zicarelli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","caption":"Tom Zicarelli"},"sameAs":["http:\/\/tomzicarelli.com"],"url":"https:\/\/reactivemusic.net\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20965"}],"version-history":[{"count":2,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20965\/revisions"}],"predecessor-version":[{"id":20973,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20965\/revisions\/20973"}],"wp:attachment":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}