Name Culture —- ——- Microsoft Helena Desktop es-ES Microsoft Hedda de-DE Microsoft Katja de-DE Microsoft Stefan de-DE Microsoft George en-GB Microsoft Hazel en-GB Microsoft Susan en-GB Microsoft David en-US Microsoft Mark en-US Microsoft Zira en-US Microsoft Helena es-ES Microsoft Laura es-ES Microsoft Pablo es-ES Microsoft Hedda Desktop de-DE Microsoft Hazel Desktop en-GB Microsoft David Desktop en-US Microsoft Zira Desktop en-US Microsoft Herena ca-ES
La diferència entre les veus SAPI i les OneCore (modernes) a Windows és força significativa, tant pel que fa a la tecnologia com a l’ús que se’n pot fer. Aquí tens un resum clar:
?️ Veus SAPI (Speech API)
Característica
Detalls
? Tecnologia
Basades en la interfície clàssica System.Speech.Synthesis
?️ Compatibilitat
Utilitzades per aplicacions de Windows antigues o clàssiques
?️ Qualitat de veu
Més robòtica o sintètica, menys natural
? Instal·lació
Ve amb Windows o s’instal·la amb paquets específics
? Accés via PowerShell
System.Speech.Synthesis.SpeechSynthesizer
? Ruta al registre
HKLM:\SOFTWARE\Microsoft\SPEECH\Voices\Tokens
? Veus OneCore (Modernes)
Característica
Detalls
? Tecnologia
Utilitzen la nova API Windows.Media.SpeechSynthesis (UWP)
?️ Compatibilitat
Pensades per aplicacions modernes (UWP, apps de Windows 10/11)
?️ Qualitat de veu
Més natural, algunes amb tecnologia neural TTS
? Instal·lació
Es descarreguen des de Configuració > Idioma > Opcions > Veu
foreach ($lang in $languageTags) { Write-Host “? Processant $lang…” -ForegroundColor Cyan try { # Afegeix l’idioma si no hi és if (-not ($currentLangs -contains $lang)) { Write-Host “➕ Afegint idioma $lang…” $langList = Get-WinUserLanguageList $langList.Add($lang) Set-WinUserLanguageList $langList -Force } else { Write-Host “✔️ L’idioma $lang ja està instal·lat.” }
# Comprova si la veu bàsica ja està instal·lada
$capability = "Language.$lang~Basic~~~"
$installed = Get-WindowsCapability -Online | Where-Object { $_.Name -eq $capability }
if ($installed.State -ne "Installed") {
Write-Host "⬇️ Instal·lant veu bàsica per a $lang..."
Add-WindowsCapability -Online -Name $capability -ErrorAction Stop
} else {
Write-Host "✔️ Veu bàsica ja instal·lada per a $lang."
}
# Instal·la reconeixement de veu si no hi és
$speechCap = "Language.$lang~Speech~~~"
$speechInstalled = Get-WindowsCapability -Online | Where-Object { $_.Name -eq $speechCap }
if ($speechInstalled.State -ne "Installed") {
Write-Host "?️ Instal·lant reconeixement de veu per a $lang..."
Add-WindowsCapability -Online -Name $speechCap -ErrorAction SilentlyContinue
} else {
Write-Host "✔️ Reconeixement de veu ja instal·lat per a $lang."
}
} catch {
Write-Warning ("Error instal·lant per a $lang: " + $_.Exception.Message)
}
# Carrega la biblioteca TTS clàssica
Add-Type -AssemblyName System.Speech
# Crea un objecte per accedir al sintetitzador de veu
$voiceSynth = New-Object System.Speech.Synthesis.SpeechSynthesizer
# Obtenir totes les veus instal·lades
$voices = $voiceSynth.GetInstalledVoices()
# Mostra informació detallada de cada veu
foreach ($v in $voices) {
[PSCustomObject]@{
Name = $v.VoiceInfo.Name
Culture = $v.VoiceInfo.Culture
Gender = $v.VoiceInfo.Gender
Age = $v.VoiceInfo.Age
Description = $v.VoiceInfo.Description
Attributes = $v.VoiceInfo.OtherProperties
}
}
PS C:\Users\urqte> # Carrega la biblioteca TTS clàssica PS C:\Users\urqte> Add-Type -AssemblyName System.Speech PS C:\Users\urqte> PS C:\Users\urqte> # Crea un objecte per accedir al sintetitzador de veu PS C:\Users\urqte> $voiceSynth = New-Object System.Speech.Synthesis.SpeechSynthesizer PS C:\Users\urqte> PS C:\Users\urqte> # Obtenir totes les veus instal·lades PS C:\Users\urqte> $voices = $voiceSynth.GetInstalledVoices() PS C:\Users\urqte> PS C:\Users\urqte> # Mostra informació detallada de cada veu PS C:\Users\urqte> foreach ($v in $voices) {
[PSCustomObject]@{
Name = $v.VoiceInfo.Name
Culture = $v.VoiceInfo.Culture
Gender = $v.VoiceInfo.Gender
Age = $v.VoiceInfo.Age
Description = $v.VoiceInfo.Description
Attributes = $v.VoiceInfo.OtherProperties
}
}
1 Name : Microsoft Helena Desktop Culture : es-ES Gender : Female Age : Adult Description : Microsoft Helena Desktop – Spanish (Spain) Attributes :
2 Name : Microsoft Hazel Desktop Culture : en-GB Gender : Female Age : Adult Description : Microsoft Hazel Desktop – English (Great Britain) Attributes :
3 Name : Microsoft David Desktop Culture : en-US Gender : Male Age : Adult Description : Microsoft David Desktop – English (United States) Attributes :
4 Name : Microsoft Zira Desktop Culture : en-US Gender : Female Age : Adult Description : Microsoft Zira Desktop – English (United States) Attributes :
5 Name : Microsoft Hedda Desktop Culture : de-DE Gender : Female Age : Adult Description : Microsoft Hedda Desktop – German Attributes :
6 Name : Vocalizer Expressive Jordi Harpo 22kHz Culture : ca-ES Gender : Male Age : Adult Description : Vocalizer Expressive Jordi Harpo 22kHz Attributes :
$proves = @( @{ Nom = “Microsoft Helena Desktop”; Missatge = “Hola! Esta es la voz española de Microsoft Helena.” }, @{ Nom = “Microsoft Hazel Desktop”; Missatge = “Hello! This is the British English voice of Microsoft Hazel.” }, @{ Nom = “Microsoft David Desktop”; Missatge = “Hi there! I’m Microsoft David, the American English voice.” }, @{ Nom = “Microsoft Zira Desktop”; Missatge = “Welcome! I am Zira, the female voice for American English.” }, @{ Nom = “Microsoft Hedda Desktop”; Missatge = “Hallo! Ich bin Hedda, die deutsche Stimme von Microsoft.” }, @{ Nom = “Vocalizer Expressive Jordi Harpo 22kHz”; Missatge = “Bon dia! Sóc en Jordi, la veu en català del sistema.” } )
foreach ($prova in $proves) { Write-Host “`n? Prova amb veu: $($prova.Nom)” -ForegroundColor Cyan try { $tts.SelectVoice($prova.Nom) $tts.Speak($prova.Missatge) } catch { Write-Warning “⚠️ No s’ha pogut trobar o usar la veu: $($prova.Nom)” } }
Les veus que veus són les veus TTS (Text-to-Speech) instal·lades al teu Windows 11. I sí, les mantindras de forma estable al sistema sempre que no les desinstal·lis o restableixis el sistema a valors d’origen.
✅ Què vol dir això?
Les veus que tens actualment:
Microsoft Hazel Desktop
en-GB
Femení
Anglès del Regne Unit
Microsoft David Desktop
en-US
Masculí
Anglès dels EUA
Microsoft Zira Desktop
en-US
Femení
Anglès dels EUA
Microsoft Hedda Desktop
de-DE
Femení
Alemany
Vocalizer Expressive Jordi Harpo
ca-ES
Masculí
Català (amb motor de tercers)
? Aquestes veus són compatibles amb l’API clàssica (System.Speech.Synthesis) i poden ser utilitzades per programes com Narrador, Cortana, PowerShell, etc.
UPDATE wp_posts
SET post_content = REPLACE(post_content, '[audio mp3="http://192.168.1.140', '[audio mp3="https://192.168.1.140')
WHERE post_content LIKE '%[audio mp3="http://192.168.1.140%';
Warning: Data should only be stored in shared folders. Data stored elsewhere
may be deleted when the system is updated/restarted.
urqtejmi@syn_beseit:~$
2. Navega fins a la carpeta o bé indica la ruta completa
Si vols estar dins del directori on es troba la clau:
cd /volume1/web/csr/
urqtejmi@syn_beseit:~$ cd /volume1/web/csr/ urqtejmi@syn_beseit:/volume1/web/csr$ dir total 8 drwxrwxrwx+ 1 urqtejmi users 52 Jun 28 12:46 . drwxrwxrwx+ 1 root root 5170 Jun 28 14:04 .. -rwxrwxrwx+ 1 urqtejmi users 1704 Jul 24 2024 server.key -rwxrwxrwx+ 1 urqtejmi users 2230 Jul 24 2024 urquizu_info.crt urqtejmi@syn_beseit:/volume1/web/csr$
? 3. Genera el CSR utilitzant la clau privada existent
openssl req -new -key server.key -out server.csr
urqtejmi@syn_beseit:/volume1/web/csr$ openssl req -new -key server.key -out server.csr Can’t load /var/services/homes/urqtejmi/.rnd into RNG 139961559664448:error:2406F079:random number generator:RAND_load_file:Cannot open file:crypto/rand/randfile.c:98:Filename=/var/services/homes/urqtejmi/.rnd You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [TW]:—>ES, TE, Beceite,
Organization Name (eg, company) [Synology Inc.]:MUT
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:urquizu.info
El servei SMB Service de Synology és el que et permet veure carpetes del teu NAS (com WWW) com si fossin carpetes locals al teu Windows 11, dins de l’apartat “Aquest ordinador”.
Perquè això funcioni correctament, cal:
Tenir activat el servei SMB al teu NAS (a Panell de control > Serveis de fitxers > SMB/AFP/NFS).
Que la carpeta WWW estigui compartida a través de File Station amb permisos adequats.
Que al Windows, vagis a l’Explorador d’arxius i escriguis \\nom_del_tu_nas\WWW a la barra d’adreces — o mapejar-la com a unitat de xarxa perquè sempre hi tinguis accés fàcil.
A més, com que la carpeta WWW normalment forma part d’un entorn web, és habitual usar-la conjuntament amb paquets com Web Station, phpMyAdmin o WordPress — i és aquí on SMB et facilita accedir-hi des de qualsevol ordinador.