This problem is far easier than it looks and can be solved in the general case just by running jq twice.
Consider the following pipeline:
VOICES="$(aws polly describe-voices)"
jq -r -s --argfile e <(echo "$VOICES" |\
jq '.[][] | select(.["SupportedEngines"][] == "neural") | to_entries')\
'[$e[0][].key], ($e[($e | keys)[]]|[.[].value|tostring]) | @tsv' <<< "$VOICES"
Which for e.g.:
{
"Voices": [
{
"Gender": "Male",
"Id": "Kevin",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Kevin",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Filiz",
"LanguageCode": "tr-TR",
"LanguageName": "Turkish",
"Name": "Filiz",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Elin",
"LanguageCode": "sv-SE",
"LanguageName": "Swedish",
"Name": "Elin",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Astrid",
"LanguageCode": "sv-SE",
"LanguageName": "Swedish",
"Name": "Astrid",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Tatyana",
"LanguageCode": "ru-RU",
"LanguageName": "Russian",
"Name": "Tatyana",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Maxim",
"LanguageCode": "ru-RU",
"LanguageName": "Russian",
"Name": "Maxim",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Carmen",
"LanguageCode": "ro-RO",
"LanguageName": "Romanian",
"Name": "Carmen",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Ines",
"LanguageCode": "pt-PT",
"LanguageName": "Portuguese",
"Name": "Inês",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Cristiano",
"LanguageCode": "pt-PT",
"LanguageName": "Portuguese",
"Name": "Cristiano",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Vitoria",
"LanguageCode": "pt-BR",
"LanguageName": "Brazilian Portuguese",
"Name": "Vitória",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Ricardo",
"LanguageCode": "pt-BR",
"LanguageName": "Brazilian Portuguese",
"Name": "Ricardo",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Camila",
"LanguageCode": "pt-BR",
"LanguageName": "Brazilian Portuguese",
"Name": "Camila",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Maja",
"LanguageCode": "pl-PL",
"LanguageName": "Polish",
"Name": "Maja",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Jan",
"LanguageCode": "pl-PL",
"LanguageName": "Polish",
"Name": "Jan",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Jacek",
"LanguageCode": "pl-PL",
"LanguageName": "Polish",
"Name": "Jacek",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Ewa",
"LanguageCode": "pl-PL",
"LanguageName": "Polish",
"Name": "Ewa",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Ola",
"LanguageCode": "pl-PL",
"LanguageName": "Polish",
"Name": "Ola",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Ruben",
"LanguageCode": "nl-NL",
"LanguageName": "Dutch",
"Name": "Ruben",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Lotte",
"LanguageCode": "nl-NL",
"LanguageName": "Dutch",
"Name": "Lotte",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Laura",
"LanguageCode": "nl-NL",
"LanguageName": "Dutch",
"Name": "Laura",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Ida",
"LanguageCode": "nb-NO",
"LanguageName": "Norwegian",
"Name": "Ida",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Liv",
"LanguageCode": "nb-NO",
"LanguageName": "Norwegian",
"Name": "Liv",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Seoyeon",
"LanguageCode": "ko-KR",
"LanguageName": "Korean",
"Name": "Seoyeon",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Kazuha",
"LanguageCode": "ja-JP",
"LanguageName": "Japanese",
"Name": "Kazuha",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Tomoko",
"LanguageCode": "ja-JP",
"LanguageName": "Japanese",
"Name": "Tomoko",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Takumi",
"LanguageCode": "ja-JP",
"LanguageName": "Japanese",
"Name": "Takumi",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Mizuki",
"LanguageCode": "ja-JP",
"LanguageName": "Japanese",
"Name": "Mizuki",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Bianca",
"LanguageCode": "it-IT",
"LanguageName": "Italian",
"Name": "Bianca",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Giorgio",
"LanguageCode": "it-IT",
"LanguageName": "Italian",
"Name": "Giorgio",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Carla",
"LanguageCode": "it-IT",
"LanguageName": "Italian",
"Name": "Carla",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Karl",
"LanguageCode": "is-IS",
"LanguageName": "Icelandic",
"Name": "Karl",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Dora",
"LanguageCode": "is-IS",
"LanguageName": "Icelandic",
"Name": "Dóra",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Mathieu",
"LanguageCode": "fr-FR",
"LanguageName": "French",
"Name": "Mathieu",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Lea",
"LanguageCode": "fr-FR",
"LanguageName": "French",
"Name": "Léa",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Celine",
"LanguageCode": "fr-FR",
"LanguageName": "French",
"Name": "Céline",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Chantal",
"LanguageCode": "fr-CA",
"LanguageName": "Canadian French",
"Name": "Chantal",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Gabrielle",
"LanguageCode": "fr-CA",
"LanguageName": "Canadian French",
"Name": "Gabrielle",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Penelope",
"LanguageCode": "es-US",
"LanguageName": "US Spanish",
"Name": "Penélope",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Miguel",
"LanguageCode": "es-US",
"LanguageName": "US Spanish",
"Name": "Miguel",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Lupe",
"LanguageCode": "es-US",
"LanguageName": "US Spanish",
"Name": "Lupe",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Mia",
"LanguageCode": "es-MX",
"LanguageName": "Mexican Spanish",
"Name": "Mia",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Lucia",
"LanguageCode": "es-ES",
"LanguageName": "Castilian Spanish",
"Name": "Lucia",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Enrique",
"LanguageCode": "es-ES",
"LanguageName": "Castilian Spanish",
"Name": "Enrique",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Conchita",
"LanguageCode": "es-ES",
"LanguageName": "Castilian Spanish",
"Name": "Conchita",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Geraint",
"LanguageCode": "en-GB-WLS",
"LanguageName": "Welsh English",
"Name": "Geraint",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Salli",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Salli",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Matthew",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Matthew",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Kimberly",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Kimberly",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Kendra",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Kendra",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Justin",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Justin",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Joey",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Joey",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Joanna",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Joanna",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Ivy",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Ivy",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Aria",
"LanguageCode": "en-NZ",
"LanguageName": "New Zealand English",
"Name": "Aria",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Ayanda",
"LanguageCode": "en-ZA",
"LanguageName": "South African English",
"Name": "Ayanda",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Raveena",
"LanguageCode": "en-IN",
"LanguageName": "Indian English",
"Name": "Raveena",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Aditi",
"LanguageCode": "en-IN",
"LanguageName": "Indian English",
"Name": "Aditi",
"AdditionalLanguageCodes": [
"hi-IN"
],
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Emma",
"LanguageCode": "en-GB",
"LanguageName": "British English",
"Name": "Emma",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Brian",
"LanguageCode": "en-GB",
"LanguageName": "British English",
"Name": "Brian",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Amy",
"LanguageCode": "en-GB",
"LanguageName": "British English",
"Name": "Amy",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Male",
"Id": "Russell",
"LanguageCode": "en-AU",
"LanguageName": "Australian English",
"Name": "Russell",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Nicole",
"LanguageCode": "en-AU",
"LanguageName": "Australian English",
"Name": "Nicole",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Olivia",
"LanguageCode": "en-AU",
"LanguageName": "Australian English",
"Name": "Olivia",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Vicki",
"LanguageCode": "de-DE",
"LanguageName": "German",
"Name": "Vicki",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Marlene",
"LanguageCode": "de-DE",
"LanguageName": "German",
"Name": "Marlene",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Hans",
"LanguageCode": "de-DE",
"LanguageName": "German",
"Name": "Hans",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Naja",
"LanguageCode": "da-DK",
"LanguageName": "Danish",
"Name": "Naja",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Male",
"Id": "Mads",
"LanguageCode": "da-DK",
"LanguageName": "Danish",
"Name": "Mads",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Gwyneth",
"LanguageCode": "cy-GB",
"LanguageName": "Welsh",
"Name": "Gwyneth",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Zhiyu",
"LanguageCode": "cmn-CN",
"LanguageName": "Chinese Mandarin",
"Name": "Zhiyu",
"SupportedEngines": [
"neural",
"standard"
]
},
{
"Gender": "Female",
"Id": "Zeina",
"LanguageCode": "arb",
"LanguageName": "Arabic",
"Name": "Zeina",
"SupportedEngines": [
"standard"
]
},
{
"Gender": "Female",
"Id": "Hala",
"LanguageCode": "ar-AE",
"LanguageName": "Gulf Arabic",
"Name": "Hala",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Arlet",
"LanguageCode": "ca-ES",
"LanguageName": "Catalan",
"Name": "Arlet",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Hannah",
"LanguageCode": "de-AT",
"LanguageName": "German",
"Name": "Hannah",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Ruth",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Ruth",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Stephen",
"LanguageCode": "en-US",
"LanguageName": "US English",
"Name": "Stephen",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Kajal",
"LanguageCode": "en-IN",
"LanguageName": "Indian English",
"Name": "Kajal",
"AdditionalLanguageCodes": [
"hi-IN"
],
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Hiujin",
"LanguageCode": "yue-CN",
"LanguageName": "Cantonese",
"Name": "Hiujin",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Female",
"Id": "Suvi",
"LanguageCode": "fi-FI",
"LanguageName": "Finnish",
"Name": "Suvi",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Arthur",
"LanguageCode": "en-GB",
"LanguageName": "British English",
"Name": "Arthur",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Daniel",
"LanguageCode": "de-DE",
"LanguageName": "German",
"Name": "Daniel",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Liam",
"LanguageCode": "fr-CA",
"LanguageName": "Canadian French",
"Name": "Liam",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Pedro",
"LanguageCode": "es-US",
"LanguageName": "US Spanish",
"Name": "Pedro",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Sergio",
"LanguageCode": "es-ES",
"LanguageName": "Castilian Spanish",
"Name": "Sergio",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Andres",
"LanguageCode": "es-MX",
"LanguageName": "Mexican Spanish",
"Name": "Andrés",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Remi",
"LanguageCode": "fr-FR",
"LanguageName": "French",
"Name": "Rémi",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Adriano",
"LanguageCode": "it-IT",
"LanguageName": "Italian",
"Name": "Adriano",
"SupportedEngines": [
"neural"
]
},
{
"Gender": "Male",
"Id": "Thiago",
"LanguageCode": "pt-BR",
"LanguageName": "Brazilian Portuguese",
"Name": "Thiago",
"SupportedEngines": [
"neural"
]
}
]
}
Yields:
Gender Id LanguageCode LanguageName Name SupportedEngines
Male Kevin en-US US English Kevin ["neural"]
Female Elin sv-SE Swedish Elin ["neural"]
Female Ines pt-PT Portuguese Inês ["neural","standard"]
Female Vitoria pt-BR Brazilian Portuguese Vitória ["neural","standard"]
Female Camila pt-BR Brazilian Portuguese Camila ["neural","standard"]
Female Ola pl-PL Polish Ola ["neural"]
Female Laura nl-NL Dutch Laura ["neural"]
Female Ida nb-NO Norwegian Ida ["neural"]
Female Seoyeon ko-KR Korean Seoyeon ["neural","standard"]
Female Kazuha ja-JP Japanese Kazuha ["neural"]
Female Tomoko ja-JP Japanese Tomoko ["neural"]
Male Takumi ja-JP Japanese Takumi ["neural","standard"]
Female Bianca it-IT Italian Bianca ["neural","standard"]
Female Lea fr-FR French Léa ["neural","standard"]
Female Gabrielle fr-CA Canadian French Gabrielle ["neural"]
Female Lupe es-US US Spanish Lupe ["neural","standard"]
Female Mia es-MX Mexican Spanish Mia ["neural","standard"]
Female Lucia es-ES Castilian Spanish Lucia ["neural","standard"]
Female Salli en-US US English Salli ["neural","standard"]
Male Matthew en-US US English Matthew ["neural","standard"]
Female Kimberly en-US US English Kimberly ["neural","standard"]
Female Kendra en-US US English Kendra ["neural","standard"]
Male Justin en-US US English Justin ["neural","standard"]
Male Joey en-US US English Joey ["neural","standard"]
Female Joanna en-US US English Joanna ["neural","standard"]
Female Ivy en-US US English Ivy ["neural","standard"]
Female Aria en-NZ New Zealand English Aria ["neural"]
Female Ayanda en-ZA South African English Ayanda ["neural"]
Female Emma en-GB British English Emma ["neural","standard"]
Male Brian en-GB British English Brian ["neural","standard"]
Female Amy en-GB British English Amy ["neural","standard"]
Female Olivia en-AU Australian English Olivia ["neural"]
Female Vicki de-DE German Vicki ["neural","standard"]
Female Zhiyu cmn-CN Chinese Mandarin Zhiyu ["neural","standard"]
Female Hala ar-AE Gulf Arabic Hala ["neural"]
Female Arlet ca-ES Catalan Arlet ["neural"]
Female Hannah de-AT German Hannah ["neural"]
Female Ruth en-US US English Ruth ["neural"]
Male Stephen en-US US English Stephen ["neural"]
Female Kajal en-IN Indian English Kajal ["hi-IN"] ["neural"]
Female Hiujin yue-CN Cantonese Hiujin ["neural"]
Female Suvi fi-FI Finnish Suvi ["neural"]
Male Arthur en-GB British English Arthur ["neural"]
Male Daniel de-DE German Daniel ["neural"]
Male Liam fr-CA Canadian French Liam ["neural"]
Male Pedro es-US US Spanish Pedro ["neural"]
Male Sergio es-ES Castilian Spanish Sergio ["neural"]
Male Andres es-MX Mexican Spanish Andrés ["neural"]
Male Remi fr-FR French Rémi ["neural"]
Male Adriano it-IT Italian Adriano ["neural"]
Male Thiago pt-BR Brazilian Portuguese Thiago ["neural"]
The first jq command filters the input JSON data to select only the voice objects that have SupportedEngines containing "neural". to_entries converts into an array of key-value pairs.
The resulting array is stored in $e, which is passed to the second jq via a here-file. This "outer" jq first selects the keys of the first object in the array $e, which are guaranteed to be the headers for the TSV output.
Then, it selects the values of each object in $e, converts them to strings using tostring (needed for just one row in our example), and formats them as @tsv.