Commit ede6f3f
In AudioMonitor, the code for producing Mac direct mode audio was substantially revised. The Novocaine code for audio output was removed. AudioMonitor now uses Apple's AudioConverter and AudioQueue services to resample audio to 48000 Hz (compared to 44100 with Novocaine). TPCircularBuffer was added and used for a couple of buffers. The first buffer stores the original LPCM audio data from the RTL-SDR USB device. That buffer is also used as the input for the AudioConverter to resample the LPCM. The second buffer stores the output after the data is resampled, which is used as input to the AudioQueue for playback on the currently selected system audio device, usually the Mac speakers. Most of the processing occurs on threads threads. The first thread gets the RTL-SDR data and stores it to the first buffer. The second thread resamples the audio and stores it to the second buffer. The third thread retrieves the resampled data and renders it to audio.
In the initial test, AudioMonitor is running with about 2% CPU utilization.
A known problem is that audio resampled from a lower source rate than 48000 Hz has buffering problems when using Icecast playback, that problem will be investigated and fixed.
The project version was incremented to 1.11.1 parent dd847c0 commit ede6f3f
47 files changed
Lines changed: 1901 additions & 8314 deletions
File tree
- AudioMonitor
- AudioMonitor.xcodeproj
- AudioMonitor
- TPCircularBuffer-master
- novocaine-master
- Novocaine Mac Example
- en.lproj
- Novocaine iOS Example
- en.lproj
- Novocaine
- LocalRadio
- Web
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
15 | 20 | | |
16 | 21 | | |
17 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
18 | 26 | | |
19 | | - | |
20 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
21 | 30 | | |
22 | | - | |
23 | | - | |
24 | | - | |
| 31 | + | |
| 32 | + | |
25 | 33 | | |
26 | | - | |
27 | | - | |
28 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
29 | 43 | | |
30 | 44 | | |
31 | | - | |
32 | 45 | | |
33 | 46 | | |
34 | 47 | | |
35 | 48 | | |
| 49 | + | |
36 | 50 | | |
37 | 51 | | |
38 | 52 | | |
| |||
0 commit comments