Google AI Studio TTS downloaded WAV seems to have an incorrect header

Hi all,

I downloaded a WAV generated from Google AI Studio Playground TTS, and I’m seeing a bitrate mismatch in ffprobe.

For PCM s16le, 24,000 Hz, mono, the expected bitrate is:

  • 16 bits × 24,000 × 1 = 384,000 bps (384 kb/s)

But ffprobe shows stream.bit_rate=768000 (2×), while the overall/format bitrate looks correct:

ffprobe -show_entries stream=bit_rate:format=bit_rate download.wav
Input #0, wav, from 'download.wav':
  Duration: 00:00:12.93, bitrate: 384 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s
[STREAM]
bit_rate=768000
[/STREAM]
[FORMAT]
bit_rate=384027
[/FORMAT]

I then checked the WAV header with xxd, and found that the ByteRate is doubled. (96,000)

00000000: 52 49 46 46 b2 78 09 00 57 41 56 45 66 6d 74 20  RIFF.x..WAVEfmt
00000010: 10 00 00 00 01 00 01 00 c0 5d 00 00 00 77 01 00  .........]...w..
00000020: 02 00 10 00 64 61 74 61 8e 78 09 00 00 00 00 00  ....data.x......
00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

This seems to explain why ffprobe reports stream.bit_rate = ByteRate * 8 = 768000, which is incorrect.

So my questions are:

  1. Is this a known issue with AI Studio TTS WAV downloads?

  2. If this is a bug, is there a plan to fix it?

Thanks!

Hi @cece
Welcome to the Google AI Forum!!!

Thank you for bringing this to our attention.
If you can share an example with steps to reproduce the issue, it helps us to reproduce and showcase to the appropriate teams.

Thanks!

Hi, thanks for the reply.

Here are the steps to reproduce:

  1. Go to Google AI Studio > Playground > Text-to-Speech (TTS).
  2. Enter any text.
  3. Click [Run] to generate audio.
  4. Click [Download] to download the WAV file.

Then check the downloaded WAV with ffprobe. For example:

❯ ffprobe -hide_banner -show_entries stream=codec_name,sample_rate,channels,bit_rate:format=bit_rate -of default=nw=1 download.wav
Input #0, wav, from 'download.wav':
  Duration: 00:00:13.37, bitrate: 384 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s
codec_name=pcm_s16le
sample_rate=24000
channels=1
bit_rate=768000
bit_rate=384026

I attached:

  • screenshot of the voice setting
  • the downloaded WAV file [link]

Environments

  • Browser: Chrome Version 144.0.7559.60 (Official Build) (arm64)
  • OS: MacOS Tahoe Version 26.2

Thanks!

1 Like

Hi @Shivam_Singh2

Has there been any update on this issue? :eyes:
Just let me know if you need more examples or additional details.

Thanks.