https://github.com/anfractuosity/musicplayer
Play audio files (.wav) via the system bus of your computer and pickup with an AM radio. See youtube link for example.
https://github.com/anfractuosity/musicplayer
am audio exfiltration musicplayer pdm radio rf system-bus
Last synced: 9 months ago
JSON representation
Play audio files (.wav) via the system bus of your computer and pickup with an AM radio. See youtube link for example.
- Host: GitHub
- URL: https://github.com/anfractuosity/musicplayer
- Owner: anfractuosity
- Created: 2016-03-04T11:06:39.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-09-05T19:45:57.000Z (almost 3 years ago)
- Last Synced: 2025-08-13T01:48:09.343Z (10 months ago)
- Topics: am, audio, exfiltration, musicplayer, pdm, radio, rf, system-bus
- Language: C
- Homepage: https://www.youtube.com/watch?v=KH9yb1qFKDY
- Size: 8.79 KB
- Stars: 52
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# musicplayer
Play .wav audio file via system bus.
Based on the work of https://github.com/fulldecent/system-bus-radio
We make use of Pulse Density Modulation (PDM) (see https://en.wikipedia.org/wiki/Pulse-density_modulation for more
information). The Pulse Code Modulation (PCM) data from a .wav file is converted to a PDM bit stream.
Each PDM bit, is output at the same sample rate as the audio. If we see a bit with a value of 1, we make use of the
_mm_stream_si128 instructions, otherwise we simply use a busy-wait loop. We perform each of these operations for a duration
of 1/samplerate seconds.
You simply use sox to convert your audio to a high sample rate such as 1MHz, as seen below (This
high rate is necessary for PDM).
```
make
sox in.wav -r 1000000 out.wav
./musicplayer out.wav
```
### Requirements
* Sox
* libsndfile - http://www.mega-nerd.com/libsndfile/