Since I discovered that using TTS speeds up my reading of books, I have been using it almost daily for around a decade, and I am very happy with it.
On my GNU/Linux computer, I use the “Read Aloud, TTS Voice Reader” browser extension to read books.
Lately, I have developed a growing interest in classic Arabic books about the purification of the soul written by ابن أبي الدنيا Ibn Abi al-Dunya (823–894 CE).
However, when I downloaded the books and converted them to .txt files for easier use with the extension, a considerable amount of time was lost to the TTS reading the three asterisks and the hadith, chapter, and page numbers, which appear hundreds of times throughout the book.
See below as an example:
6 - حَدَّثَنَا أَبُو خَيْثَمَةَ، وَإِسْحَاقُ بْنُ إِسْمَاعِيلَ، قَالَا: حَدَّثَنَا جَرِيرٌ، عَنِ الْأَعْمَشِ، عَنِ الْحَكَمِ بْنِ عُتَيْبَةَ، وَحَبِيبِ بْنِ أَبِي ثَابِتٍ، عَنْ مَيْمُونِ بْنِ أَبِي شَبِيبٍ، عَنْ مُعَاذِ بْنِ جَبَلٍ رَضِيَ اللَّهُ عَنْهُ قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، أَنُؤَاخَذُ بِمَا نَقُولُ؟ قَالَ: «ثَكِلَتْكَ أُمُّكَ يَا ابْنَ جَبَلٍ، وَهَلْ يَكُبُّ النَّاسَ فِي النَّارِ عَلَى مَنَاخِرِهِمْ إِلَّا حَصَائِدُ أَلْسِنَتِهِمْ؟» قَالَ حَبِيبٌ فِي هَذَا الْحَدِيثِ: «وَهَلْ تَقُولُ شَيْئًا إِلَّا لَكَ أَوْ عَلَيْكَ»
* * *
الحديث: 6 ¦ الجزء: 1 ¦ الصفحة: 46
* * *
7 - حَدَّثَنِي حَمْزَةُ بْنُ الْعَبَّاسِ، أَخْبَرَنَا عَبْدَانُ بْنُ عُثْمَانَ، أَخْبَرَنَا عَبْدُ اللَّهِ، أَنَا مَعْمَرٌ، عَنِ الزُّهْرِيِّ، عَنْ عَبْدِ الرَّحْمَنِ بْنِ مَاعِزٍ، عَنْ سُفْيَانَ بْنِ عَبْدِ اللَّهِ الثَّقَفِيِّ قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، حَدِّثْنِي بِأَمْرٍ أَعْتَصِمُ بِهِ. قَالَ: " قُلْ: رَبِّيَ اللَّهُ ثُمَّ اسْتَقِمْ ". قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، مَا أَخْوَفُ مَا تَخَافُ عَلَيَّ؟ فَأَخَذَ بِلِسَانِهِ ثُمَّ قَالَ: «هَذَا»
A SED command
sed '/^\* \* \*$/d; /^الحديث:/d' الصمت_وآداب_اللسان.txt > editedالصمت_وآداب_اللسان.txt
Explanation:
^\* \* \*$matches a line that contains exactly* * *(asterisk, space, asterisk, space, asterisk). The asterisks must be escaped with\because*is a regex special character./^الحديث:/ddeletes lines that start withالحديث:.- All other lines (narration chains, texts, and chapter headings) are kept.
Output
6 - حَدَّثَنَا أَبُو خَيْثَمَةَ، وَإِسْحَاقُ بْنُ إِسْمَاعِيلَ، قَالَا: حَدَّثَنَا جَرِيرٌ، عَنِ الْأَعْمَشِ، عَنِ الْحَكَمِ بْنِ عُتَيْبَةَ، وَحَبِيبِ بْنِ أَبِي ثَابِتٍ، عَنْ مَيْمُونِ بْنِ أَبِي شَبِيبٍ، عَنْ مُعَاذِ بْنِ جَبَلٍ رَضِيَ اللَّهُ عَنْهُ قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، أَنُؤَاخَذُ بِمَا نَقُولُ؟ قَالَ: «ثَكِلَتْكَ أُمُّكَ يَا ابْنَ جَبَلٍ، وَهَلْ يَكُبُّ النَّاسَ فِي النَّارِ عَلَى مَنَاخِرِهِمْ إِلَّا حَصَائِدُ أَلْسِنَتِهِمْ؟» قَالَ حَبِيبٌ فِي هَذَا الْحَدِيثِ: «وَهَلْ تَقُولُ شَيْئًا إِلَّا لَكَ أَوْ عَلَيْكَ»
7 - حَدَّثَنِي حَمْزَةُ بْنُ الْعَبَّاسِ، أَخْبَرَنَا عَبْدَانُ بْنُ عُثْمَانَ، أَخْبَرَنَا عَبْدُ اللَّهِ، أَنَا مَعْمَرٌ، عَنِ الزُّهْرِيِّ، عَنْ عَبْدِ الرَّحْمَنِ بْنِ مَاعِزٍ، عَنْ سُفْيَانَ بْنِ عَبْدِ اللَّهِ الثَّقَفِيِّ قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، حَدِّثْنِي بِأَمْرٍ أَعْتَصِمُ بِهِ. قَالَ: " قُلْ: رَبِّيَ اللَّهُ ثُمَّ اسْتَقِمْ ". قَالَ: قُلْتُ: يَا رَسُولَ اللَّهِ، مَا أَخْوَفُ مَا تَخَافُ عَلَيَّ؟ فَأَخَذَ بِلِسَانِهِ ثُمَّ قَالَ: «هَذَا»
The whole book has the asterisks separators and the numbers of page, chapter and hadiths deleted in no times not even 2 seconds.
I ❤ GNU/Linux, FOSS and CLI


