KejPi / AbracaDABra

Abraca DAB radio: DAB/DAB+ Software Defined Radio (SDR)
MIT License
68 stars 8 forks source link

wrong codec detection - therefore no audio #24

Closed andimik closed 2 years ago

andimik commented 2 years ago

I have realized that the audio codec is very often not detected correctly and therefore I don't get a sound, no DLS and no SLS slideshow.

grafik

This should be HE-AAC, not AAC-LC, same here:

grafik

grafik

The console says for instance

=== MCI complete
AAC-LC 32 kHz mono
Output SR = 32000, channels = 2

I wonder the line

Muting... [available 2880 samples]

because then there is no following

Unmuting audio

for such silent audio services.

I need to try several other services before I get a sound. Switching back to the previous service may result (= not always) in correct codec detection and I may get audio.

This following screenshot was taken after 10 attempts ...

grafik

And I tried both, RTLTCP and RTLSDR. And it seems, rawfiles are not affected.

Hint: I don't think this is the issue #17

KejPi commented 2 years ago

I have never seen this issue on my antenna signals and test stream I have. In theory there should be no difference for the audio detection between input devices. In other words it should be reproducible also from raw file. This would be actually the only possibility for me to reproduce if you can share some raw files, longer better. Can you share some recordings?

Additionally, could you try apply the attached patch and check what number is printed in command line in faulty case? Is the number always the same?

printAACheader.zip

andimik commented 2 years ago

Let me try on another computer in the next days.

KejPi commented 2 years ago

One additional question. Is this issue new for 1.1 or you have observed this also in previous version?

andimik commented 2 years ago

Good question. Let me test it.

andimik commented 2 years ago

no, 1e3a6c5 did not help in 1.1+

grafik

grafik grafik

There is only a little chance for audio.

Switching back to 1.0:

git reset --hard 87aa017

There is still the same issue, no sound, no SLS, no DLS for the most attempts. Only a few attempts with audio.

Back to 1.1 I've applied the patch file you sent me.

For those with no audio I get lots of F0 (I guess that is for HE-AACv1 services) or E8 (all HE-AACv2 services) or 20,

For working audio 68 (HE-AACv2), 70 (HE-AACv1), 20 (HE-AACv1 32 kHz mono) or 60 (don't know what that stands for)

grafik (20, with SLS and DLS, but no sound)

So, 20 is not unique and could be either sound or no sound (but with SLS and DLS)

The service Radio Student has normal audio in Qt-DAB, so this is not related to the multiplex. (Hint: the red bar means mono)

grafik

I found another hint, maybe that could help you to identify it.

For sound, the error rate is 0

grafik

for no sound there are CRC errors only.

grafik

Here is the log for Austrian's bundesmux, I clicked each service for around 5 seconds.

abracaDABra_log_patch.txt

Remark: all other tools (Qt-DAB, welle.io, Qirx, etc) are working with all audio services.

Could you download this 150 MB raw file (recorded with AbracaDABra) and test it on your machine? (BTW: the constellation diagram of this recording looks very poor compared to live, don't know if this is another bug)

https://we.tl/t-T5rXMToUq1

KejPi commented 2 years ago

Thanks for the recording, I will try next week. It seems that there is a problem with CRC, but not clear why, because it seems that the signal is good enough. Can you also copy text from ensemble information for good and bad case? And I assume that with https://github.com/KejPi/AbracaDABra/commit/1e3a6c5aa601dcceb84427f28aaa83c45806b8f4 there is either no aac format detected or correct format. No longer wrong format, can you confirm?

andimik commented 2 years ago

I tried another laptop with the same Ubuntu 22.04 and there it works fine.

So I reinstalled all necessary packages, but no luck.

Later in the afternoon I will purge and install them again.

andimik commented 2 years ago

Update: The Windows version works well on the same laptop where I have problems under Ubuntu 22.04. So it's not related to the tool itself and seems to be a local issue on my computer under Ubuntu only.

I also tried the appimage under Ubuntu, same result.

I just need to investigate, if one of the packages (needed for e.g. dablin, ODR-DabMod and eti-tools, which I have installed in addition to my other PC) causes that issue.

Therefore, I close this issue unless I find out what causes the incompatibility.

andimik commented 2 years ago

I found out that it might has to do with 48 kHz sampling rate.

Because all (!) stations with 32 kHz are working all the time.

Found XPAD app 2
HE-AAC 32 kHz mono
Output SR = 32000, channels = 2
Unmuting audio

I tried the following muxes

Mux all services ok? content
TRT Turkey yes, all ok no SPI, only 48 kHz
ERT Greece partly only 48 kHz
DAB Italia partly only 48 kHz
Bundesmux Germany partly only 48 kHz
RAS 10D Südtirol nearly all only 48 kHz
RAS 10B Südtirol some only 48 kHz
Mux 1 Slovenia some, all 32 kHz 32 and 48 kHz
Mux 2E Slovenia partly only 48 kHz
Mux 2W Slovenia partly only 48 kHz
Bundesmux Austria some only 48 kHz
Salisbury UK all 32 kHz DAB 48 kHz and DAB+ 32 kHz
$ dpkg -l | grep portau
ii  libportaudio2:amd64                        19.6.0-1.1                              amd64        Portable audio I/O - shared library
ii  libportaudiocpp0:amd64                     19.6.0-1.1                              amd64        Portable audio I/O C++ bindings - shared library
ii  portaudio19-dev:amd64                      19.6.0-1.1                              amd64        Portable audio I/O - development files
andimik commented 2 years ago

Further attempts:

I tried to unselect portaudio in cmake and even uninstall portaudio (= as this is not used under Windows).

And I built it with option cmake .. -DUSE_FDK_AAC=ON.

Still 100% audio loss on lots of 48 kHz programs (some work from time to time). 32 kHz programs always work.

grafik

More and more I feel this is really a AbracaDABra bug and not a misleading constellation on my system.

KejPi commented 2 years ago

I would say the problem is not the audio decoder or audio output. The numbers printed by experimental patch show problems with CRC (bit 7 is set). It will be probably in libdabsdr, I will look at this next week, I think there is nothing wrong with your system and there is not much you can do to fix it. But in any case, thank you for all your reports a trials. Still any recording you can share is highly appreciated!

andimik commented 2 years ago

Remark: Above tests were done with prerecorded eti files which were modulated as raw file using ODR-DabMod. So it has nothing to do with reception.

KejPi commented 2 years ago

If the issue can be reproduced using files and ODR-DabMod then I should be able to reproduce the problem too. I have ODR-DABMOD on my Mac.

andimik commented 2 years ago

If you could send me another patch which prints more information in the console, then we can locate it where the bug comes from.

Because I fear only I can reproduce it on my machine according to my hardware or/and software packages.

For me I can reproduce it on a raw file as well, but you won't see a difference.

KejPi commented 2 years ago

Please find attached the debug version of libdabsdr with some messages that might help me to understand what is going on. This library was built under Ubuntu 22.04, apart from debug messages it has a small fix that might solve the problem. This was the only potential problem I was able to find. Please let me know your results, I have tried to reproduce the issue with the recording you have shared and with other recordings from the forum as well as on my antenna signals (most of the services @ 48kHz) but it always works on Mac.

libdabsdr_1.1.1_linux_x86_64.tar.gz

andimik commented 2 years ago

Thanks, it did not help, but attached you find the console output. I have clicked through all my stations I can receive, 5 seconds each.

abracadabra.log

KejPi commented 2 years ago

Well, I do not know what the problem could be. Obviously there is a lot of errors that is why you do not have audio, the question is why they are there. I do not understand why the problem is not reproducible from raw file recorded using IQ dump (Ensemble info -> Dump raw data). Can you confirm that if you dump the stream in AbracaDABra and then you play it via raw file device the problem is not present any more? I can see huge frequency offset in some of the screenshots you have shared (~13kHz). Can you confirm this offset also for the log you shared? What was the signal quality? And are you using SW AGC?

andimik commented 2 years ago

I do not understand why the problem is not reproducible from raw file recorded using IQ dump

I told you: This is only related to my Ubuntu installation on that particular laptop. I still need to find out what could be the reason.

Is it my soundcard? Also tried an external one. Is it the kernel? Also tried a previous kernel. Is it the one of the software packages? Also tried reinstall of all required packages.

$ sudo apt-get install --reinstall git cmake build-essential mesa-common-dev libusb-dev librtlsdr-dev libfaad2 mpg123 libmpg123-dev libfaad-dev portaudio19-dev qt6-base-dev qt6-multimedia-dev libqt6svg6-dev rtl-sdr

Next try is to use the appimage under a live system (where I still need to install the rtl-sdr driver)

KejPi commented 2 years ago

I would exclude sound card and kernel. If the input stream is correct (this can be checked by dumping it and playing it from file) then it is inside the application related to live playback. The dump takes input data and stores them to file as they are coming from rtldsr device. If it is playing from file correctly then it means that data are correct and the problem is caused in the application during the processing. The fact that you see a lot of RS/CRC errors means that this happens before audio decoder so there is no problem with audio decoder, audio output and sound card. One idea would be the slow CPU (what is the CPU load when AbracaDABra is running?) the other is big frequency offset that I could not test.

Please try to set #define RTLSDR_DOC_ENABLE 0 on rtlsdrinput.h line 10.

This is the last idea I have to explain difference between rtlsdr input and raw file input. Otherwise there is no difference apart from CPU load caused by handling USB input.

andimik commented 2 years ago

I am writing these lines now under Ubuntu 22.04 live CD on the same laptop.

Booting from ISO file and chose try Ubuntu. Then I had to install the rtl-driver:

sudo add-apt-repository universe
sudo apt-get install libusb-dev librtlsdr-dev rtl-sdr

then

sudo apt-get install fuse libfuse2

in order to get the appimage running. Then as root:

echo 0 > /sys/module/usbcore/parameters/usbfs_memory_mb

It still shows the same issue.

It has nothing to do with reception (= because same issue for raw files, same with generated raw files from ETI input). No changing when disable the software AGC (= because same issue for raw files).

Your suggestions don't seem reasonable.

So my conclusion is the problem needs to be found in your code. Please try to focus on 48 kHz/32 kHz.

If it is playing from file correctly

No, it does not. When I first wrote the issue I tested it with a raw file where - by chance - all were in 32 kHz, so please ignore the sentence

And it seems, rawfiles are not affected.

because it's wrong.

andimik commented 2 years ago

I just need to investigate, if one of the packages (needed for e.g. dablin, ODR-DabMod and eti-tools, which I have installed in addition to my other PC) causes that issue.

No, see above. Clean Live CD without any other tools installed.

KejPi commented 2 years ago

Let me summarize my current understanding of the issue - please correct whatever is wrong:

Open points / questions - please answer:

andimik commented 2 years ago

OK, I have downloaded the files and have tested them several times (around 10 per radio service).

5A RTI cz DAB 1

works 100%, always sound

Service: Radio PROGLAS SID = 0xE22AA1, SCIdS = 0
Service: DAB plus TOP40 SID = 0xE22FB5, SCIdS = 0
Service: Radio BEAT SID = 0xE22F31, SCIdS = 0
Service: CRo-KARLOVY VARY SID = 0xE22E0B, SCIdS = 0
Service: RADIO 1 SID = 0xE22339, SCIdS = 0
Service: Radio 7 SID = 0xE22FB9, SCIdS = 0
Service: Signal Radio SID = 0xE22511, SCIdS = 0

They are in AAC-LC 48 kHz.

does not work 100%, no sound at all

Service: RADIO UKRAJINA SID = 0xE22F70, SCIdS = 0

This is the only one in HE-AAC. All others are in AAC-LC. All are in 48 kHz.

Ensemble:
0x2003 RTI cz DAB1 [ RTI cz ] ECC = 0xE2, UTC 120 min, INT = 1, alarm announcements = 1
Services (8):
0x2339 RADIO 1 [ RADIO 1 ] ECC = 0xE2, PTY: 15 (static)
AudioComponent (primary), SCIdS: 0, Label: 'RADIO 1' [ 'RADIO 1' ], ASCTy: 0x3F (AAC)
      SubChId: 3, Language: 0, StartCU: 484, NumCU: 88, EEP 2-A, Coderate: 3/8, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2511 Signal Radio [ Signal ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Signal Radio' [ 'Signal' ], ASCTy: 0x3F (AAC)
      SubChId: 7, Language: 0, StartCU: 776, NumCU: 88, EEP 2-A, Coderate: 3/8, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2AA1 Radio PROGLAS [ PROGLAS ] ECC = 0xE2, PTY: 20 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio PROGLAS' [ 'PROGLAS' ], ASCTy: 0x3F (AAC)
      SubChId: 4, Language: 0, StartCU: 0, NumCU: 132, EEP 1-A, Coderate: 1/4, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2E0B CRo-KARLOVY VARY [ R-KVARY ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-KARLOVY VARY' [ 'R-KVARY' ], ASCTy: 0x3F (AAC)
      SubChId: 1, Language: 0, StartCU: 352, NumCU: 132, EEP 1-A, Coderate: 1/4, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F31 Radio BEAT [ BEAT ] ECC = 0xE2, PTY: 11 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio BEAT' [ 'BEAT' ], ASCTy: 0x3F (AAC)
      SubChId: 2, Language: 0, StartCU: 264, NumCU: 88, EEP 2-A, Coderate: 3/8, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F70 RADIO UKRAJINA [ UKRAJINA ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'RADIO UKRAJINA' [ 'UKRAJINA' ], ASCTy: 0x3F (AAC)
      SubChId: 6, Language: 0, StartCU: 704, NumCU: 72, EEP 1-A, Coderate: 1/4, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2FB5 DAB plus TOP40 [ TOP40 ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'DAB plus TOP40' [ 'TOP40' ], ASCTy: 0x3F (AAC)
      SubChId: 13, Language: 0, StartCU: 132, NumCU: 132, EEP 1-A, Coderate: 1/4, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2FB9 Radio 7 [ Radio 7 ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio 7' [ 'Radio 7' ], ASCTy: 0x3F (AAC)
      SubChId: 5, Language: 0, StartCU: 572, NumCU: 132, EEP 1-A, Coderate: 1/4, Bitrate: 88kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]

7A ČRa

does not work 100%, sometimes yes

Service: Classic Praha SID = 0xE2244A, SCIdS = 0
Service: HITRADIO CITY SID = 0xE22032, SCIdS = 0
Service: RADIO BONTON SID = 0xE22430, SCIdS = 0
Service: Radio BEAT SID = 0xE22F31, SCIdS = 0
Service: BLANIK PRAHA SID = 0xE2233C, SCIdS = 0
Service: Expres FM SID = 0xE2203B, SCIdS = 0
Service: ZET SID = 0xE2210E, SCIdS = 0
Service: PIGY RADIO SID = 0xE22FB7, SCIdS = 0
Service: EVROPA 2 SID = 0xE22204, SCIdS = 0
Service: FREKVENCE 1 SID = 0xE22205, SCIdS = 0
Service: Cesky Impuls SID = 0xE22FB4, SCIdS = 0
Service: Radio Dechovka SID = 0xE224B2, SCIdS = 0
Service: ROCKZONE SID = 0xE22445, SCIdS = 0
Service: Radio Impuls SID = 0xE22203, SCIdS = 0

All of them are in 48 kHz, all either HE-AACv1 or v2, no AAC-LC, no 32 kHz in the ensemble

Ensemble:
0x2002 CRa DAB+ [ CRa ] ECC = 0xE2, UTC 120 min, INT = 1, alarm announcements = 0
Services (14):
0x2032 HITRADIO CITY [ HITRADIO ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'HITRADIO CITY' [ 'HITRADIO' ], ASCTy: 0x3F (AAC)
      SubChId: 10, Language: 0, StartCU: 600, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x203B Expres FM [ ExpresFM ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Expres FM' [ 'ExpresFM' ], ASCTy: 0x3F (AAC)
      SubChId: 11, Language: 0, StartCU: 664, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x210E ZET [ ZET ] ECC = 0xE2, PTY: 17 (static)
AudioComponent (primary), SCIdS: 0, Label: 'ZET' [ 'ZET' ], ASCTy: 0x3F (AAC)
      SubChId: 7, Language: 0, StartCU: 456, NumCU: 40, EEP 2-A, Coderate: 3/8, Bitrate: 40kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2203 Radio Impuls [ Impuls ] ECC = 0xE2, PTY: 1 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio Impuls' [ 'Impuls' ], ASCTy: 0x3F (AAC)
      SubChId: 1, Language: 0, StartCU: 40, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2204 EVROPA 2 [ EVROPA 2 ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'EVROPA 2' [ 'EVROPA 2' ], ASCTy: 0x3F (AAC)
      SubChId: 6, Language: 0, StartCU: 376, NumCU: 80, EEP 2-A, Coderate: 3/8, Bitrate: 80kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2205 FREKVENCE 1 [ F1 ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'FREKVENCE 1' [ 'F1' ], ASCTy: 0x3F (AAC)
      SubChId: 5, Language: 0, StartCU: 296, NumCU: 80, EEP 2-A, Coderate: 3/8, Bitrate: 80kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x233C BLANIK PRAHA [ BLANIK ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'BLANIK PRAHA' [ 'BLANIK' ], ASCTy: 0x3F (AAC)
      SubChId: 9, Language: 0, StartCU: 536, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2430 RADIO BONTON [ BONTON ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'RADIO BONTON' [ 'BONTON' ], ASCTy: 0x3F (AAC)
      SubChId: 0, Language: 0, StartCU: 0, NumCU: 40, EEP 2-A, Coderate: 3/8, Bitrate: 40kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2445 ROCKZONE [ ROCKZONE ] ECC = 0xE2, PTY: 11 (static)
AudioComponent (primary), SCIdS: 0, Label: 'ROCKZONE' [ 'ROCKZONE' ], ASCTy: 0x3F (AAC)
      SubChId: 2, Language: 0, StartCU: 104, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x244A Classic Praha [ Classic ] ECC = 0xE2, PTY: 13 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Classic Praha' [ 'Classic' ], ASCTy: 0x3F (AAC)
      SubChId: 12, Language: 0, StartCU: 728, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x24B2 Radio Dechovka [ Dechovka ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio Dechovka' [ 'Dechovka' ], ASCTy: 0x3F (AAC)
      SubChId: 4, Language: 0, StartCU: 232, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F31 Radio BEAT [ BEAT ] ECC = 0xE2, PTY: 11 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Radio BEAT' [ 'BEAT' ], ASCTy: 0x3F (AAC)
      SubChId: 13, Language: 0, StartCU: 792, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2FB4 Cesky Impuls [ CeskyImp ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'Cesky Impuls' [ 'CeskyImp' ], ASCTy: 0x3F (AAC)
      SubChId: 3, Language: 0, StartCU: 168, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2FB7 PIGY RADIO [ PIGY ] ECC = 0xE2, PTY: 18 (static)
AudioComponent (primary), SCIdS: 0, Label: 'PIGY RADIO' [ 'PIGY' ], ASCTy: 0x3F (AAC)
      SubChId: 8, Language: 0, StartCU: 496, NumCU: 40, EEP 2-A, Coderate: 3/8, Bitrate: 40kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]

12C ČRO Bohemia

does not work 100%, sometimes yes

Service: CRo-VLTAVA SID = 0xE2232D, SCIdS = 0
Service: CRo-RADIOZURNAL SID = 0xE2232F, SCIdS = 0
Service: CRo-C.BUDEJOVICE SID = 0xE2250D, SCIdS = 0
Service: CRo-RZ SPORT SID = 0xE22F2C, SCIdS = 0
Service: UKRAJINSKE-RADIO SID = 0xE22FE0, SCIdS = 0
Service: CRo-PARDUBICE SID = 0xE2280C, SCIdS = 0
Service: CRo-LIBEREC SID = 0xE22706, SCIdS = 0
Service: CRo-DAB PRAHA SID = 0xE22F1A, SCIdS = 0
Service: CRo-POHODA SID = 0xE22F1B, SCIdS = 0
Service: CRo-PLZEN SID = 0xE22608, SCIdS = 0
Service: CRo-REGION SID = 0xE2243F, SCIdS = 0
Service: CRo-WAVE SID = 0xE22F23, SCIdS = 0
Service: CRo-JAZZ SID = 0xE22F27, SCIdS = 0
Service: CRo-DVOJKA SID = 0xE2232E, SCIdS = 0
Service: CRo-JUNIOR SID = 0xE22F25, SCIdS = 0
Service: CRo-DDUR SID = 0xE22F26, SCIdS = 0
Service: CRo-PLUS SID = 0xE22424, SCIdS = 0

strange is

Service: UKRAJINSKE-RADIO SID = 0xE22FE0, SCIdS = 0

18:52:18.488239 [D] : => ps_flag=0, dac_rate=0, sbr_flag=1, aac_channel_mode=0 18:52:18.488277 [D] : => HE-AAC 32 kHz mono

It's in 32 kHz, I get DLS, but no sound, although your tool does NOT have any AU CRC errors ...

With Qt-DAB I can listen to it.

Ensemble:
0x2005 CRo DAB+ [ CRo DAB+ ] ECC = 0xE2, UTC 120 min, INT = 1, alarm announcements = 0
Services (17):
0x232D CRo-VLTAVA [ R-VLTAVA ] ECC = 0xE2, PTY: 7 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-VLTAVA' [ 'R-VLTAVA' ], ASCTy: 0x3F (AAC)
      SubChId: 3, Language: 0, StartCU: 112, NumCU: 72, EEP 2-A, Coderate: 3/8, Bitrate: 72kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x232E CRo-DVOJKA [ R-DVOJKA ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-DVOJKA' [ 'R-DVOJKA' ], ASCTy: 0x3F (AAC)
      SubChId: 2, Language: 0, StartCU: 64, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x232F CRo-RADIOZURNAL [ R-ZURNAL ] ECC = 0xE2, PTY: 3 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-RADIOZURNAL' [ 'R-ZURNAL' ], ASCTy: 0x3F (AAC)
      SubChId: 1, Language: 0, StartCU: 0, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2424 CRo-PLUS [ R-PLUS ] ECC = 0xE2, PTY: 2 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-PLUS' [ 'R-PLUS' ], ASCTy: 0x3F (AAC)
      SubChId: 4, Language: 0, StartCU: 184, NumCU: 40, EEP 2-A, Coderate: 3/8, Bitrate: 40kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x243F CRo-REGION [ R-REGION ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-REGION' [ 'R-REGION' ], ASCTy: 0x3F (AAC)
      SubChId: 9, Language: 0, StartCU: 472, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x250D CRo-C.BUDEJOVICE [ R-CB ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-C.BUDEJOVICE' [ 'R-CB' ], ASCTy: 0x3F (AAC)
      SubChId: 16, Language: 0, StartCU: 656, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2608 CRo-PLZEN [ R-PLZEN ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-PLZEN' [ 'R-PLZEN' ], ASCTy: 0x3F (AAC)
      SubChId: 12, Language: 0, StartCU: 608, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2706 CRo-LIBEREC [ R-LBC ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-LIBEREC' [ 'R-LBC' ], ASCTy: 0x3F (AAC)
      SubChId: 19, Language: 0, StartCU: 704, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x280C CRo-PARDUBICE [ R-PCE ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-PARDUBICE' [ 'R-PCE' ], ASCTy: 0x3F (AAC)
      SubChId: 21, Language: 0, StartCU: 752, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F1A CRo-DAB PRAHA [ R-DAB PH ] ECC = 0xE2, PTY: 10 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-DAB PRAHA' [ 'R-DAB PH' ], ASCTy: 0x3F (AAC)
      SubChId: 10, Language: 0, StartCU: 520, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F1B CRo-POHODA [ R-POHODA ] ECC = 0xE2, PTY: 9 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-POHODA' [ 'R-POHODA' ], ASCTy: 0x3F (AAC)
      SubChId: 11, Language: 0, StartCU: 568, NumCU: 40, EEP 2-A, Coderate: 3/8, Bitrate: 40kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F23 CRo-WAVE [ R-WAVE ] ECC = 0xE2, PTY: 15 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-WAVE' [ 'R-WAVE' ], ASCTy: 0x3F (AAC)
      SubChId: 5, Language: 0, StartCU: 224, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F25 CRo-JUNIOR [ R-JUNIOR ] ECC = 0xE2, PTY: 18 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-JUNIOR' [ 'R-JUNIOR' ], ASCTy: 0x3F (AAC)
      SubChId: 6, Language: 0, StartCU: 288, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F26 CRo-DDUR [ R-DDUR ] ECC = 0xE2, PTY: 14 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-DDUR' [ 'R-DDUR' ], ASCTy: 0x3F (AAC)
      SubChId: 7, Language: 0, StartCU: 336, NumCU: 72, EEP 2-A, Coderate: 3/8, Bitrate: 72kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F27 CRo-JAZZ [ R-JAZZ ] ECC = 0xE2, PTY: 24 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-JAZZ' [ 'R-JAZZ' ], ASCTy: 0x3F (AAC)
      SubChId: 8, Language: 0, StartCU: 408, NumCU: 64, EEP 2-A, Coderate: 3/8, Bitrate: 64kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2F2C CRo-RZ SPORT [ R-SPORT ] ECC = 0xE2, PTY: 4 (static)
AudioComponent (primary), SCIdS: 0, Label: 'CRo-RZ SPORT' [ 'R-SPORT' ], ASCTy: 0x3F (AAC)
      SubChId: 24, Language: 0, StartCU: 800, NumCU: 48, EEP 2-A, Coderate: 3/8, Bitrate: 48kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]
0x2FE0 UKRAJINSKE-RADIO [ UKR-R ] ECC = 0xE2, PTY: 3 (static)
AudioComponent (primary), SCIdS: 0, Label: 'UKRAJINSKE-RADIO' [ 'UKR-R' ], ASCTy: 0x3F (AAC)
      SubChId: 25, Language: 0, StartCU: 848, NumCU: 16, EEP 2-A, Coderate: 3/8, Bitrate: 16kbps
            UserApp 1/1: Label: '' [ '' ], UAType: 0x2 (SlideShow), X-PAD AppTy: 12, DSCTy: 0x3C (MOT), DG: 0, Data (2) [0C3C]

Summary

it happens on one of your Linux PC, the other is without problem although both are running Ubuntu 22.04

I tried 3 different PCs with Ubuntu 22.04, on one other I also had problems, the only thing what I did is to reinstall libdrm-dev, then it worked. But no idea if it had to do with THIS issue.

it can be reproduced on both rtlsdr input as well as on raw filer input

yes

it seems that 32kHz services are always working while 48kHz services fail

Initially yes, but see above, Ukrainian radio was silent with 32 kHz.

On the other hand I had SWR live reception from Germany, all 48 kHz were playing, but the only 32 kHz not ...

it can be reproduces on more raw files, not specific to single raw file

yes, not related to any specific file. I tried around 50 different raw files including live signals from satellite (which were then converted into raw)

not related to Ubuntu configuration, issue can be reproduced on clean Live system using released AppImage

yes.

what CPU is in the laptop that is affected by the problem?

AMD® A8-4500m apu with radeon(tm) hd graphics × 4

I don't know it exactly by heart, but I am sure, my others are Intel CPUs.

$ lsb_release -a 
LSB Version:    core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 22.04 LTS
Release:    22.04
Codename:   jammy
$ uname -r
5.15.0-40-generic

any other observations that I missed?

I can listen to all radio programms with Qt-DAB, dablin, and other tools. No problem there.

image

SuperframeFilter: Superframe sync succeeded after 4 frame(s)
EnsemblePlayer: format: HE-AAC v2, 48 kHz Stereo @ 64 kBit/s
AACDecoder: using decoder 'FAAD2'
SDLOutput: using audio buffer of 192000 bytes
SDLOutput: audio opened; driver name: pulseaudio, freq: 48000, channels: 2, size: 18432, samples: 2304, silence: 0x00, output: 32bit float

Well, I also tried to build it with

cmake .. -DUSE_FDKAAC=ON

but there is a build error at the very end (100%)

/usr/bin/ld: CMakeFiles/AbracaDABra.dir/audiodecoder.cpp.o: in function `AudioDecoder::~AudioDecoder()':
audiodecoder.cpp:(.text+0x32): undefined reference to `NeAACDecClose'
/usr/bin/ld: CMakeFiles/AbracaDABra.dir/audiodecoder.cpp.o: in function `AudioDecoder::stop()':
audiodecoder.cpp:(.text+0x14a): undefined reference to `NeAACDecClose'
/usr/bin/ld: CMakeFiles/AbracaDABra.dir/audiodecoder.cpp.o: in function `AudioDecoder::initAACDecoder()':
audiodecoder.cpp:(.text+0x11be): undefined reference to `NeAACDecClose'
/usr/bin/ld: audiodecoder.cpp:(.text+0x11c3): undefined reference to `NeAACDecOpen'
/usr/bin/ld: audiodecoder.cpp:(.text+0x11d5): undefined reference to `NeAACDecGetCapabilities'
/usr/bin/ld: audiodecoder.cpp:(.text+0x11e6): undefined reference to `NeAACDecGetCurrentConfiguration'
/usr/bin/ld: audiodecoder.cpp:(.text+0x1208): undefined reference to `NeAACDecSetConfiguration'
/usr/bin/ld: audiodecoder.cpp:(.text+0x1231): undefined reference to `NeAACDecInit2'
/usr/bin/ld: CMakeFiles/AbracaDABra.dir/audiodecoder.cpp.o: in function `AudioDecoder::processAAC(QByteArray*)':
audiodecoder.cpp:(.text+0x1377): undefined reference to `NeAACDecDecode'
/usr/bin/ld: CMakeFiles/AbracaDABra.dir/audiodecoder.cpp.o: in function `AudioDecoder::initAACDecoder() [clone .cold]':
audiodecoder.cpp:(.text.unlikely+0xc15): undefined reference to `NeAACDecGetErrorMessage'
collect2: error: ld returned 1 exit status
make[2]: *** [gui/CMakeFiles/AbracaDABra.dir/build.make:677: gui/AbracaDABra] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: gui/CMakeFiles/AbracaDABra.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Could you try to fix that first and then I'll try the fdkaac?

define RTLSDR_DOC_ENABLE 0

Done, but no changing.

I have also tried ccmake and switched OFF all cmake options which ccmake finds. No changing.

KejPi commented 2 years ago

FDK-AAC issue should be fixed now.

Please try with attached library linux_x86_64_1.1.2.tar.gz

This is my last idea - it this is not helping I will probably give it up until I have some way to reproduce the problem :-(

andimik commented 2 years ago

Wow, progress!

Now it works for all station as long as I don't select a station with a different sampling rate.

For example I first select all 48 kHz services then they play all perfectly, but the first 32 kHz breaks it.

Important: Then all (!) following stations (48 and 32 kHz) have no audio (but SLS and DLS works) any more. You need to restart the tool.

Your 5A plays 100% (also RADIO UKRAJINA). All on 7A work, but on 12C I have selected UKRAJINSKE-RADIO at the end, which is in 32 kHz (no audio, but SLS and DLS work). And then all others won't have audio any more.

Log:

After the start I have chosen a 48 kHz station

=== MCI complete
23:41:39.748916 [I] : Superframe SYNC :-)
23:41:39.748978 [D] : AU header: 0x70
23:41:39.749022 [D] :   => ps_flag=0, dac_rate=1, sbr_flag=1, aac_channel_mode=1
23:41:39.749070 [D] :   => HE-AAC 48 kHz stereo
HE-AAC 48 kHz stereo
Output SR = 48000, channels = 2
Unmuting audio

Then after selecting a 32 kHz service no audio:

Muting... [available 2880 samples]
Found XPAD app 2
23:41:47.326193 [I] : RS detected uncorrectable errors
23:41:47.332030 [I] : RS detected uncorrectable errors
23:41:47.333064 [I] : RS detected uncorrectable errors
23:41:47.334088 [I] : RS detected uncorrectable errors
23:41:47.335090 [I] : Superframe SYNC :-)
23:41:47.335110 [D] : AU header: 0x20
23:41:47.335150 [D] :   => ps_flag=0, dac_rate=0, sbr_flag=1, aac_channel_mode=0
23:41:47.335197 [D] :   => HE-AAC 32 kHz mono
HE-AAC 32 kHz mono
Output SR = 32000, channels = 2

Back to a 48 kHz station, still no audio, but no error on the console.

Found XPAD app 2
23:42:53.327055 [I] : RS detected uncorrectable errors
23:42:53.333329 [I] : Superframe SYNC :-)
23:42:53.333350 [D] : AU header: 0x68
23:42:53.333401 [D] :   => ps_flag=1, dac_rate=1, sbr_flag=1, aac_channel_mode=0
23:42:53.333455 [D] :   => HE-AAC v2 48 kHz stereo
KejPi commented 2 years ago

Thanks for the report. Now it looks more like an issue with AAC decoder or audio output. I would like to ask you to do another trial with the attached patch. Please apply it on 056b5d6e7ad4005931186472f848d92d93d5341e using default FAAD decoder.

logAAC_audio2file.zip

After you compile the code I would like to ask you to follow these steps:

Preparation

  1. Run app
  2. Go to settings
  3. Choose Raw file input
  4. Select 12C raw file
  5. Apply settings
  6. Exit the applications

Test

  1. Run app
  2. Choose any DAB channel (this start processing of 12C raw file)
  3. Select any 48kHz service
  4. You should have audio at this point -> let it play for few seconds
  5. Choose UKRAJINSKE-RADIO
  6. There should be no audio - let it play for few seconds
  7. Go back to 48kHz service
  8. There should be no audio, let it play for few seconds
  9. Exit app

The application will print a lot of logs during the test, please copy it and share. Additionally it will create 2 files called audio.raw and audio.aac in the folder where the executable is. Please share these files too.

andimik commented 2 years ago

ok, first patch these two files (BTW: I had to learn how to patch 2 instead of 1 files ...)

~/apps/AbracaDABra/gui$ patch < /tmp/logAAC_audio2file.patch 
patching file audiodecoder.cpp
patching file audiodecoder.h

Then cmake without any options and make afterwards.

~/apps/AbracaDABra/build$ cmake ..
make

delete the ini file.

rm ~/.config/AbracaDABra/AbracaDABra.ini

Start the tool, stop the scan, go to expert settings and chose RAW. Close the app. Restart the app. Scan 12C (does not matter). Play a 48 kHz station, then switch to the only 32 kHz audio.

This is the log file from console. audio.zip abracadabra_12c.log

KejPi commented 2 years ago

You can apply the patch using git apply command. I am sorry my instructions were probably misleading. Please correct my if I am wrong, but it seems that you used the DABSDR library from repository not the one that I shared recently. Could you please redo the test with linux_x86_64_1.1.2.tar.gz

Just to be clear:

  1. Get AbracaDABra source revision 056b5d6e7ad4005931186472f848d92d93d5341e
  2. apply patch git apply logAAC_audio2file.patch
  3. Copy linux_x86_64_1.1.2.tar.gz to lib folder
  4. Compile without special options: mkdir build && cd build && cmake .. && make
  5. Do the test procedure with preparation phase as described above (no need to delete ini file)
  6. Share log and audio files.

Thanks and sorry for additional request.

andimik commented 2 years ago

Oops, yes, you are right. I forgot to use the new library.

Will repeat it in the evening.

andimik commented 2 years ago

this is the log:

Switched between CRo-C.BUDEJOVICE, then UKRAJINSKE-RADIO and back to CRo-C.BUDEJOVICE

$ ./gui/AbracaDABra
Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
    Service: CRo-VLTAVA SID = 0xE2232D, SCIdS = 0
    Service: CRo-RADIOZURNAL SID = 0xE2232F, SCIdS = 0
    Service: CRo-C.BUDEJOVICE SID = 0xE2250D, SCIdS = 0
    Service: CRo-RZ SPORT SID = 0xE22F2C, SCIdS = 0
    Service: UKRAJINSKE-RADIO SID = 0xE22FE0, SCIdS = 0
    Service: CRo-PARDUBICE SID = 0xE2280C, SCIdS = 0
    Service: CRo-LIBEREC SID = 0xE22706, SCIdS = 0
    Service: CRo-DAB PRAHA SID = 0xE22F1A, SCIdS = 0
    Service: CRo-POHODA SID = 0xE22F1B, SCIdS = 0
    Service: CRo-PLZEN SID = 0xE22608, SCIdS = 0
    Service: CRo-REGION SID = 0xE2243F, SCIdS = 0
    Service: CRo-WAVE SID = 0xE22F23, SCIdS = 0
    Service: CRo-JAZZ SID = 0xE22F27, SCIdS = 0
    Service: CRo-DVOJKA SID = 0xE2232E, SCIdS = 0
    Service: CRo-JUNIOR SID = 0xE22F25, SCIdS = 0
    Service: CRo-DDUR SID = 0xE22F26, SCIdS = 0
    Service: CRo-PLUS SID = 0xE22424, SCIdS = 0
=== MCI complete
Found XPAD app 2
22:25:39.590610 [I] : RS detected uncorrectable errors
22:25:39.595825 [I] : RS detected uncorrectable errors
22:25:39.597295 [I] : RS detected uncorrectable errors
22:25:39.598717 [I] : Superframe SYNC :-)
22:25:39.598735 [D] : AU header: 0x68
22:25:39.598765 [D] :   => ps_flag=1, dac_rate=1, sbr_flag=1, aac_channel_mode=0
22:25:39.598803 [D] :   => HE-AAC v2 48 kHz stereo
Decoder: AAC header 0x68
HE-AAC v2 48 kHz stereo
Output SR = 48000, channels = 2
Decoder: error = 0 | bytesconsumed = 199 | samples = 0
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 209 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 208 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 220 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 220 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 210 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 198 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 194 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 241 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 211 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 238 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 247 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 200 | samples = 3840
Unmuting audio
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 190 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 256 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 197 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 230 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 221 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 204 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 231 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 197 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 237 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 214 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 190 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 233 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 225 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 200 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 245 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 203 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 236 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 218 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 190 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 197 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 256 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 195 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 204 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 229 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 215 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 233 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 215 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 235 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 198 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 200 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 225 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 223 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 216 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 236 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 196 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 194 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 241 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 216 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 188 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 215 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 223 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 210 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 230 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 211 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 214 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 219 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 215 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 209 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 238 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 203 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 234 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 211 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 195 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 242 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 194 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 247 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 204 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 236 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 208 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 197 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 243 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 203 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 210 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 235 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 203 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 197 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 249 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 213 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 191 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 192 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 254 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 206 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 243 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 215 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 237 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 196 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 241 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 208 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 211 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 230 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 217 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 238 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 193 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 231 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 210 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 212 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 192 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 216 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 233 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 206 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 251 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 191 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 211 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 239 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 198 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 243 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 204 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 206 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 242 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 200 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 198 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 251 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 199 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 214 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 190 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 207 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 240 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 224 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 230 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 194 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 214 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 190 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 193 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 249 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 206 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 201 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 245 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 202 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 204 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 250 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 194 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 200 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 245 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 203 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 189 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 251 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 208 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 216 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 244 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 188 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 185 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 249 | samples = 3840
Decoder: AAC header 0x68
Decoder: error = 0 | bytesconsumed = 214 | samples = 3840
Muting... [available 2880 samples]
Found XPAD app 2
22:25:47.585185 [I] : RS detected uncorrectable errors
22:25:47.590606 [I] : Superframe SYNC :-)
22:25:47.590646 [D] : AU header: 0x20
22:25:47.590679 [D] :   => ps_flag=0, dac_rate=0, sbr_flag=1, aac_channel_mode=0
22:25:47.590724 [D] :   => HE-AAC 32 kHz mono
Decoder: AAC header 0x20
HE-AAC 32 kHz mono
Output SR = 32000, channels = 2
Decoder: error = 0 | bytesconsumed = 113 | samples = 0
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 98 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 120 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 91 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 105 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 106 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 123 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 88 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 110 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 101 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 97 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 114 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 110 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 101 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 120 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 91 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 114 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 97 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 115 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 96 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 117 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 94 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 115 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 96 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 133 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 78 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 126 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 85 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 126 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 85 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 100 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 111 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 132 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 79 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 120 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 91 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 124 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 87 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 123 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 88 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 102 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 109 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 116 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 95 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 103 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 108 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 114 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 97 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 112 | samples = 3840
Decoder: AAC header 0x20
Decoder: error = 0 | bytesconsumed = 99 | samples = 3840
Decoder: void AudioDecoder::handleAudioOutputFAAD(const NeAACDecFrameInfo&, const uint8_t*) 368640: 0 < 7680
Found XPAD app 2
22:25:57.590679 [I] : RS detected uncorrectable errors
22:25:57.595741 [I] : Superframe SYNC :-)
22:25:57.595764 [D] : AU header: 0x68
22:25:57.595881 [D] :   => ps_flag=1, dac_rate=1, sbr_flag=1, aac_channel_mode=0
22:25:57.596005 [D] :   => HE-AAC v2 48 kHz stereo
22:26:13.187989 [I] : Finishing thread...

22:26:13.188929 [I] : Thread joined

audio.zip

andimik commented 2 years ago

BTW: The app does not close correctly ... Need to use Ctrl + c

KejPi commented 2 years ago

EDIT: I have changed the patch file to print more info.

Thanks for the report. If I understand well, the application behaved during the test like this:

  1. CRo-C.BUDEJOVICE: audio out, no problem
  2. UKRAJINSKE-RADIO: no audio
  3. CRo-C.BUDEJOVICE: no audio, no further logs and application needs to be stopped by CTRL+C

If this was the behavior, then the problem is with audio output. It is not able to switch between sample rates for some reason. I am sorry I have to ask you to do few more tests :-(

Test 1:

  1. Restore git working copy to its original state: git reset --hard
  2. Apply this patch:
    logAAC_audio2file_portaudioDeviceList2.zip git apply logAAC_audio2file_portaudioDeviceList2.patch
  3. Copy linux_x86_64_1.1.2.tar.gz to lib folder.
  4. Compile mkdir build && cd build && cmake .. && make
  5. Do the test as before, share logs

Test 2:

  1. Leave the working copy as it is
  2. Delete build folder
  3. Compile application without portaudio, thus:
      mkdir build
      cd build 
      cmake .. -DUSE_PORTAUDIO=OFF
      make

    Please note that it is mandatory to delete build folder before.

  4. Do the test as before, share logs and results.
andimik commented 2 years ago

If this was the behavior

Yes, correct.

I will test it in the evening.

As I seem to be the first Linux user, I am glad to help here.

The tool itself is amazing and has much better performance (reception) than all other software.

KejPi commented 2 years ago

Thanks. I would like to solve it and I am grateful for your help. It seems that the problem is AMD HW platform. I have done all my tests on Intel and ARM64 (Apple Silicon M1) and there was never problem like this. On the other hand, my Linux building machine is AMD too but desktop CPU line and there seems to be no issue too. Just to share my current thoughts about the problems: There are more issues unfortunately. One is in library, that is probably "solved" in the latest build I have shared. But this is no solution at all, only workaround. I did not do any code change, I have disabled all optimization and suddenly it works. I do not consider this as solution because one of AbracaDABra advantages is low CPU usage and I do not want to give it up. Second issue seems to be related to audio output - target of the tests now. It seems that PortAudio is not able to handle transition between sample rates. I have never seen this on any other platform I have.

KejPi commented 2 years ago

Before doing any tests please try revision 3cb5f0e166dd64bfc0c678e2771d64f49d452a18 with last library linux_x86_64_1.1.2.tar.gz I believe it could solve the audio output issue. It it does not help then please perform the tests described above.

andimik commented 2 years ago

Test 1

Now CRo-C.BUDEJOVICE and UKRAJINSKE-RADIO have both audio The app quits normally.

abracadabra_12C_14july2022.txt audio.zip

Test 2

Please note that it is mandatory to delete build folder before.

Yes, sure. I always did it (resp. rm -r *)

CRo-C.BUDEJOVICE and UKRAJINSKE-RADIO have both audio The app quits normally.

abracadabra_12C_portaudiooff_14july2022.txt audio_portaudiooff.zip

Hint

There is still a message saying

Selected file : "/home/andreas/Downloads/2022-07-11_105700_12C.raw" Sample format unknown

Guess this is from sampledialog.cpp Line 311 as the extension is raw.

KejPi commented 2 years ago

Test 2 result is surprising, I would expect that it would not work. However more important for me is that Test1 works - this is the default configuration. Please try without patch but with modified library for the ensembles you have and please report any issue. If it is working I would consider audio problem solved and I will focus on DABSDR library optimizations.

EDIT: yes the message is because from .raw extension it is not clear what the sample format is. I should probably use .u8 for all files that the application dumps.

andimik commented 2 years ago

I will test it later regarding the audio, but at the start now I get lots of infos about portaudio on the console compared to before.

$ ./gui/AbracaDABra
Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
ALSA lib pcm_dsnoop.c:601:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Datei oder Verzeichnis nicht gefunden)
attempt to connect to server failed
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Datei oder Verzeichnis nicht gefunden)
attempt to connect to server failed
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Datei oder Verzeichnis nicht gefunden)
attempt to connect to server failed
PortAudio version: 0x00130600
Version text: 'PortAudio V19.6.0-devel, revision 396fe4b6699ae929d3a685b3ef8a7e97396139a4'
Number of devices = 5
--------------------------------------- device #0
Name                        = HDA ATI HDMI: 0 (hw:0,3)
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1,0000
Default low output latency  =   0,0058
Default high input latency  =  -1,0000
Default high output latency =   0,0348
Default sample rate         = 44100,00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000,00, 44100,00, 48000,00, 88200,00,
    96000,00, 192000,00
--------------------------------------- device #1
Name                        = HD-Audio Generic: CX20590 Analog (hw:1,0)
Host API                    = ALSA
Max inputs = 2, Max outputs = 0
Default low input latency   =   0,0058
Default low output latency  =  -1,0000
Default high input latency  =   0,0348
Default high output latency =  -1,0000
Default sample rate         = 44100,00
Supported standard sample rates
 for half-duplex 16 bit 2 channel input = 
    44100,00, 48000,00, 96000,00
--------------------------------------- device #2
Name                        = hdmi
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1,0000
Default low output latency  =   0,0058
Default high input latency  =  -1,0000
Default high output latency =   0,0348
Default sample rate         = 44100,00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000,00, 44100,00, 48000,00, 88200,00,
    96000,00, 192000,00
--------------------------------------- device #3
Name                        = pulse
Host API                    = ALSA
Max inputs = 32, Max outputs = 32
Default low input latency   =   0,0087
Default low output latency  =   0,0087
Default high input latency  =   0,0348
Default high output latency =   0,0348
Default sample rate         = 44100,00
Supported standard sample rates
 for half-duplex 16 bit 32 channel input = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
Supported standard sample rates
 for half-duplex 16 bit 32 channel output = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
Supported standard sample rates
 for full-duplex 16 bit 32 channel input, 32 channel output = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
--------------------------------------- device #4
[ Default Input, Default Output ]
Name                        = default
Host API                    = ALSA
Max inputs = 32, Max outputs = 32
Default low input latency   =   0,0087
Default low output latency  =   0,0087
Default high input latency  =   0,0348
Default high output latency =   0,0348
Default sample rate         = 44100,00
Supported standard sample rates
 for half-duplex 16 bit 32 channel input = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
Supported standard sample rates
 for half-duplex 16 bit 32 channel output = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
Supported standard sample rates
 for full-duplex 16 bit 32 channel input, 32 channel output = 
     8000,00,  9600,00, 11025,00, 12000,00,
    16000,00, 22050,00, 24000,00, 32000,00,
    44100,00, 48000,00, 88200,00, 96000,00,
    192000,00
    Service: CRo-VLTAVA SID = 0xE2232D, SCIdS = 0
    Service: CRo-DVOJKA SID = 0xE2232E, SCIdS = 0
    Service: CRo-RADIOZURNAL SID = 0xE2232F, SCIdS = 0
    Service: CRo-PLUS SID = 0xE22424, SCIdS = 0
    Service: CRo-REGION SID = 0xE2243F, SCIdS = 0
    Service: CRo-C.BUDEJOVICE SID = 0xE2250D, SCIdS = 0
    Service: CRo-PLZEN SID = 0xE22608, SCIdS = 0
    Service: CRo-LIBEREC SID = 0xE22706, SCIdS = 0
    Service: CRo-PARDUBICE SID = 0xE2280C, SCIdS = 0
    Service: CRo-DAB PRAHA SID = 0xE22F1A, SCIdS = 0
    Service: CRo-POHODA SID = 0xE22F1B, SCIdS = 0
    Service: CRo-WAVE SID = 0xE22F23, SCIdS = 0
    Service: CRo-JUNIOR SID = 0xE22F25, SCIdS = 0
    Service: CRo-DDUR SID = 0xE22F26, SCIdS = 0
    Service: CRo-JAZZ SID = 0xE22F27, SCIdS = 0
    Service: CRo-RZ SPORT SID = 0xE22F2C, SCIdS = 0
    Service: UKRAJINSKE-RADIO SID = 0xE22FE0, SCIdS = 0
andimik commented 2 years ago

EDIT: yes the message is because from .raw extension it is not clear what the sample format is. I should probably use .u8 for all files that the application dumps.

Use *.u8.raw which then is clearer ...

KejPi commented 2 years ago

Yes, I have added PortAudio info in the patch to understand what sample rates are supported by your HW. I will probably add the check for supported sample rates in the code as default to avoid problems in future.

I will maybe change the filename later, I still consider it as debug option not to be used by average user.

If and only if everything works with clean repository + and dabsdr library 1.1.2 shared before, please try with attached version of the library. I have re-enabled the optimization but changed compiler flags that might help with compatibility.

linux_x86_64_1.1.3.tar.gz

andimik commented 2 years ago

Do you mean 3cb5f0e166dd in combination with 1.1.3 without the patches? Well, it does not work for 48 kHz (only in a very few cases), for 32 kHz it seems to work.

21:12:33.256759 [I] : RS detected uncorrectable errors
21:12:33.257540 [I] : RS detected uncorrectable errors
21:12:33.258345 [I] : RS detected uncorrectable errors
KejPi commented 2 years ago

It seems I was too optimistic :-( Could you please try this? linux_x86_64_1.1.4.tar.gz

andimik commented 2 years ago

no, does not work

1.1.2 is the only one with 100% audio

KejPi commented 2 years ago

It seems to be some problem with SSE. Could you please compile and check FFTS:

git clone https://github.com/anthonix/ffts.git
cd ffts
mkdir build
cd build
cmake ..
make 
./ffts_test

Please share output from cmake and from ffts_test, thanks!

andimik commented 2 years ago

ffts

$ cmake ..
-- The C compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for mm_malloc.h
-- Looking for mm_malloc.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for aligned_alloc
-- Looking for aligned_alloc - found
-- Looking for memalign
-- Looking for memalign - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for valloc
-- Looking for valloc - found
-- Looking for _mm_malloc
-- Looking for _mm_malloc - not found
-- Looking for aligned_alloc
-- Looking for aligned_alloc - found
-- Looking for memalign
-- Looking for memalign - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for valloc
-- Looking for valloc - found
-- Looking for _mm_malloc
-- Looking for _mm_malloc - not found
-- Looking for xmmintrin.h
-- Looking for xmmintrin.h - found
-- Looking for emmintrin.h
-- Looking for emmintrin.h - found
-- Looking for pmmintrin.h
-- Looking for pmmintrin.h - found
-- Performing Test HAVE_GCC_VISIBILITY
-- Performing Test HAVE_GCC_VISIBILITY - Success
-- Looking for pow in m
-- Looking for pow in m - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/andreas/apps/ffts/build
$ make
[  8%] Building C object CMakeFiles/ffts_static.dir/src/ffts.c.o
[ 16%] Building C object CMakeFiles/ffts_static.dir/src/ffts_chirp_z.c.o
[ 25%] Building C object CMakeFiles/ffts_static.dir/src/ffts_nd.c.o
[ 33%] Building C object CMakeFiles/ffts_static.dir/src/ffts_real.c.o
[ 41%] Building C object CMakeFiles/ffts_static.dir/src/ffts_real_nd.c.o
[ 50%] Building C object CMakeFiles/ffts_static.dir/src/ffts_transpose.c.o
[ 58%] Building C object CMakeFiles/ffts_static.dir/src/ffts_trig.c.o
[ 66%] Building C object CMakeFiles/ffts_static.dir/src/ffts_static.c.o
/home/andreas/apps/ffts/src/ffts_static.c:239:36: warning: ‘ffts_constants_inv_64f’ defined but not used [-Wunused-const-variable=]
  239 | static const FFTS_ALIGN(16) double ffts_constants_inv_64f[16] = {
      |                                    ^~~~~~~~~~~~~~~~~~~~~~
/home/andreas/apps/ffts/src/ffts_static.c:195:36: warning: ‘ffts_constants_64f’ defined but not used [-Wunused-const-variable=]
  195 | static const FFTS_ALIGN(16) double ffts_constants_64f[16] = {
      |                                    ^~~~~~~~~~~~~~~~~~
/home/andreas/apps/ffts/src/ffts_static.c:141:36: warning: ‘ffts_constants_small_inv_64f’ defined but not used [-Wunused-const-variable=]
  141 | static const FFTS_ALIGN(16) double ffts_constants_small_inv_64f[24] = {
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/andreas/apps/ffts/src/ffts_static.c:77:36: warning: ‘ffts_constants_small_64f’ defined but not used [-Wunused-const-variable=]
   77 | static const FFTS_ALIGN(16) double ffts_constants_small_64f[24] = {
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~
[ 75%] Building C object CMakeFiles/ffts_static.dir/src/codegen.c.o
/home/andreas/apps/ffts/src/codegen.c: In function ‘ffts_generate_func_code’:
/home/andreas/apps/ffts/src/codegen.c:282:19: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
  282 |         if (ws_is != pLUT) {
      |                   ^~
/home/andreas/apps/ffts/src/codegen.c:121:15: warning: unused variable ‘len’ [-Wunused-variable]
  121 |     ptrdiff_t len;
      |               ^~~
[ 83%] Linking C static library libffts.a
[ 83%] Built target ffts_static
[ 91%] Building C object CMakeFiles/ffts_test.dir/tests/test.c.o
[100%] Linking C executable ffts_test
[100%] Built target ffts_test
$ ./ffts_test 
 Sign |      Size |     L2 Error
------+-----------+-------------
  -1  |         2 | 8.659561E-17
  -1  |         4 | 1.145552E-16
  -1  |         8 | 1.210162E-08
  -1  |        16 | 2.220916E-08
  -1  |        32 | 2.396272E-08
  -1  |        64 | 2.272872E-08
  -1  |       128 | 1.940460E-08
  -1  |       256 | 2.081312E-08
  -1  |       512 | 2.045939E-08
  -1  |      1024 | 2.079071E-08
  -1  |      2048 | 2.074052E-08
  -1  |      4096 | 2.124981E-08
  -1  |      8192 | 2.086463E-08
  -1  |     16384 | 2.071494E-08
  -1  |     32768 | 2.062090E-08
  -1  |     65536 | 2.054694E-08
  -1  |    131072 | 2.060355E-08
  -1  |    262144 | 2.054523E-08
   1  |         2 | 8.659561E-17
   1  |         4 | 1.145552E-16
   1  |         8 | 1.210162E-08
   1  |        16 | 2.220916E-08
   1  |        32 | 2.396272E-08
   1  |        64 | 2.272872E-08
   1  |       128 | 1.940460E-08
   1  |       256 | 2.081312E-08
   1  |       512 | 2.045939E-08
   1  |      1024 | 2.079071E-08
   1  |      2048 | 2.074052E-08
   1  |      4096 | 2.124981E-08
   1  |      8192 | 2.086463E-08
   1  |     16384 | 2.071494E-08
   1  |     32768 | 2.062090E-08
   1  |     65536 | 2.054694E-08
   1  |    131072 | 2.060355E-08
   1  |    262144 | 2.054523E-08
KejPi commented 2 years ago

Thanks, so it works. I have to review the code, it will take some time. Meanwhile you should be able to run the app with library 1.1.2, in case you find any problem please report. Once I get some idea how to fit this issue, I will ask you to do another test. Thank you for your help!

andimik commented 2 years ago

No, thank YOU!

KejPi commented 2 years ago

One additional question. For the same raw file input, do you see the same frequency offset when using library 1.1.2 and 1.1.4? (you can check it in Ensemble Information dialog). it should be about 263 Hz for 12C raw file.

andimik commented 2 years ago

Yes, around 263 Hertz

1.1.4

grafik

1.1.2

grafik

KejPi commented 2 years ago

Could you please check with this library when you have time: linux_x86_64_1.1.5.tar.gz