#[05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands) (legacy), <s>68</s> <s>65</s> 60 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)

    .•5Ç¿ÆΓ•2ô.•1ÒKá ¸ΓìŸÆt`ô_zTºγ„KRI‰ι놽òι•4ô«I'b©¡®ìkh2ôJHçJ

Input is in lowercase.

-3 bytes implicitly thanks to *@Emigna* changing `'b¡εg>}s£` to `'b©¡®ì`.

[Try it online](https://tio.run/##fVC9CsIwEH4VNzexou9gdRN3Tajg4ZDFLE6d6q67qIuIRUQ7VEGEHK55iL5ITZu2phQdcsnl@7kvaXYItSZx3IjcfQeX4oWeXKtzC4PkysJVH3c1Eco1@u8QvfkYg9FiKB7yFrmb/sCO3Iu84ylyt@KJV3lXojYG4mTXqTiKnTijP5sqt14XD704puAAJaoyytSCdAFVVe2cEifHeNqD6jWmeV9M61nG4iUXcKoT9E5SXKu@ugT7nQmyecRgmvMgTc0KHisy6xm5In8bqaRLErHCr/zSfz/DDQYY@XKf/zfkAw) or [verify all test cases](https://tio.run/##jVI9SwNBEO3zKySNjQQj3l8Qk3QitjpLBAeLbdzG6qrYm16MjUiCiF6RCCLsYHs/4v7IuXt3sx@5GCx253bu7XtvHrufgOhflslRt@wV6VNCd/qbJvnUfB9QZlt9uh/RbEcv8yktfpY0ubmg7Pz2VH/mH0X6MDoZFOlbvqJ5kT7qL3rPV@bSIWV6PtgV@kXP9Cstrq8M2/CYnodlt3e2VwocowCzcCzNgqrK5uyrElJApwGEYCVUtZtux7U2cSnHVFdwKLMzRaCGwu71YhlgF/@1bE81vfcN7sa6BcZU8hYZDNNW4mGlNeUYPDvnwv9ib2GFZmAe00fgtVWgL4OqKkUfSwRBN77aagxbxqRgURWxrJvAVhjRk3AxbvaELgCMAmcENsNh8GrioCCaDVru4kcgW2/sr2RUgMDAH/Ns78Av).

<s>Also, can definitely be golfed with something smarter than the huge compressed strings. Will take another look later on.</s> [Shorter answer already provided by *@Emigna*](https://codegolf.stackexchange.com/a/171401/52210), so make sure to upvote him!

**Explanation:**

    .•5Ç¿ÆΓ•      # Compressed string "bibabobu"
            2ô    # Split in parts of 2
                  #  → ["bi","ba","bo","bu"]
    .•1ÒKá ¸ΓìŸÆt`ô_zTºγ„KRI‰ι놽òι•
                  # Compressed string "bidibidabidobidubadibadabadobadubodibodabodobodu"
            4ô    # Split in parts of 4
                  #  → ["bidi","bida","bido","bidu","badi","bada","bado","badu","bodi","boda","bodo","bodu"]
    «             # Merge both lists together
                  #  → ["bi","ba","bo","bu","bidi","bida","bido","bidu","badi","bada","bado","badu","bodi","boda","bodo","bodu"]
    I'b©¡         # Take the input and split on 'b'
                  #  i.e. "bidibadibidobidabidobodibidobodibidoboduboba"
                  #   → ["idi","adi","ido","ida","ido","odi","ido","odi","ido","odu","o","a"]
         ®ì       # And prepend a 'b' to each item again
                  #  i.e. ["idi","adi","ido","ida","ido","odi","ido","odi","ido","odu","o","a"] 
                  #   → ["bidi","badi","bido","bida","bido","bodi","bido","bodi","bido","bodu","bo","ba"]
    k             # Map each item to the index of the first list
                  #   i.e. ["bidi","badi","bido","bida","bido","bodi","bido","bodi","bido","bodu","bo","ba"]
                  #    → [4,8,6,5,6,12,6,12,6,15,2,1]
     h            # Convert everything to hexadecimal
                  #  i.e. [4,8,6,5,6,12,6,12,6,15,2,1]
                  #   → ["4","8","6","5","6","C","6","C","6","F","2","1"]
      2ôJ         # Split it in parts of 2 and join them together
                  #  i.e. ["4","8","6","5","6","C","6","C","6","F","2","1"]
                  #   → ["48","65","6C","6C","6F","21"]
         H        # Convert that from hexadecimal to an integer
                  #  i.e. ["48","65","6C","6C","6F","21"] → [72,101,108,108,111,33]
          ç       # And take its ASCII value
                  #  i.e. [72,101,108,108,111,33] → ["H","e","l","l","o","!"]
           J      # Then join everything together (and output implicitly)
                  #  i.e. ["H","e","l","l","o","!"] → "Hello!"