{"id":21651810,"url":"https://github.com/hoytech/pdl-radio","last_synced_at":"2025-03-20T04:00:15.477Z","repository":{"id":11833444,"uuid":"14389225","full_name":"hoytech/PDL-Radio","owner":"hoytech","description":"Amateur radio system built on PDL","archived":false,"fork":false,"pushed_at":"2013-12-05T11:15:38.000Z","size":212,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T05:43:03.685Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoytech.png","metadata":{"files":{"readme":"README.pod","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-14T08:28:27.000Z","updated_at":"2024-06-27T02:08:29.000Z","dependencies_parsed_at":"2022-09-22T20:51:39.044Z","dependency_job_id":null,"html_url":"https://github.com/hoytech/PDL-Radio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoytech%2FPDL-Radio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoytech%2FPDL-Radio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoytech%2FPDL-Radio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoytech%2FPDL-Radio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoytech","download_url":"https://codeload.github.com/hoytech/PDL-Radio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244547602,"owners_count":20470103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T07:49:37.838Z","updated_at":"2025-03-20T04:00:15.383Z","avatar_url":"https://github.com/hoytech.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"=encoding utf-8\n\n=head1 NAME\n\nPDL::Radio - Amateur radio system built on PDL\n\n=head1 SYNOPSIS\n\n    use PDL::Radio::All;\n\n\n    ## Basic sounds for testing:\n\n    ## Play 500 Hz sine wave for 5 seconds:\n    PDL::Radio::Sine-\u003enew(freq =\u003e 500)-\u003eplay(5);\n\n    ## Play 1 second of a sine wave, phase shift 180 degrees, play another second:\n    PDL::Radio::Sine-\u003enew-\u003eplay(1)-\u003eplay(1,PI);\n\n    ## Plot .01 second of a sawtooth wave:\n    plot(PDL::Radio::Sawtooth-\u003enew-\u003eget(.01));\n\n\n    ## CW (morse code):\n\n    ## Call CQ:\n    PDL::Radio::CW-\u003enew-\u003eplay(\"CQ CQ CQ DE VE3HOY VE3HOY \" x 10);\n\n    ## Change keying envelope (hard/min/hanning):\n    PDL::Radio::CW-\u003enew(shape =\u003e 'hard')-\u003eplay(\"CQ CQ CQ\");\n\n    ## Risetime in milliseconds:\n    PDL::Radio::CW-\u003enew(shape =\u003e 'hanning', risetime =\u003e 10)-\u003eplay(\"CQ CQ CQ\");\n\n\n    ## RTTY:\n\n    ## Call CQ:\n    PDL::Radio::RTTY-\u003enew-\u003eplay(\"CQ CQ CQ DE VE3HOY VE3HOY \" x 10);\n\n    ## Custom baud/freq_shift:\n    PDL::Radio::RTTY-\u003enew(freq_shift =\u003e 90, baud =\u003e 20)-\u003eplay(\"CQ CQ CQ\");\n\n\n    ## PSK-31:\n\n    ## Call CQ:\n    PDL::Radio::PSK-\u003enew-\u003eplay(\"cq cq cq de VE3HOY VE3HOY \" x 10);\n\n    ## Transmit all 0s (two tones):\n    PDL::Radio::PSK-\u003enew-\u003eplay(\"\\x00\"x100, 800);\n\n    ## Transmit all 1s (single tone):\n    PDL::Radio::PSK-\u003enew-\u003eplay(\"\\xFF\"x100, 800);\n    \n\n=head1 DESCRIPTION\n\nThis is a work-in-progress library for generating modem data and playing it through L\u003cPulse Audio|http://www.freedesktop.org/wiki/Software/PulseAudio/\u003e. Pulse Audio makes redirecting the audio output to programs like L\u003cfldigi|http://www.w1hkj.com/Fldigi.html\u003e really easy.\n\n=head1 SEE ALSO\n\nL\u003cThe PDL::Radio github repo|https://github.com/hoytech/PDL-Radio\u003e\n\nL\u003cPDL::Audio\u003e is similar to this module except that it interfaces to sndlib where this module interfaces to pulseaudio. L\u003cPDL::Audio\u003e is a pain to setup and I couldn't figure out how to send data to fldigi. Also, L\u003cPulse::Audio\u003e doesn't seem to be on CPAN anymore?\n\n=head1 AUTHOR\n\nDoug Hoyte, C\u003c\u003c \u003cdoug@hcsw.org\u003e \u003e\u003e\n\n=head1 COPYRIGHT \u0026 LICENSE\n\nCopyright 2012-2013 Doug Hoyte.\n\nThis module is licensed under the same terms as perl itself.\n\n\n=cut\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoytech%2Fpdl-radio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoytech%2Fpdl-radio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoytech%2Fpdl-radio/lists"}