×
×

1 Houve um homem de Ramataim-Zofim, da montanha de Efraim, cujo nome era Elcana, filho de Jeroão, filho de Eliú, filho de Toú, filho de Zufe, efrateu.
2 E este tinha duas mulheres: o nome de uma era Ana, e o da outra Penina. E Penina tinha filhos, porém Ana não os tinha.
3 Subia, pois, este homem, da sua cidade, de ano em ano, a adorar e a sacrificar ao Senhor dos Exércitos em Siló; e estavam ali os sacerdotes do Senhor, Hofni e Finéias, os dois filhos de Eli.
4 E sucedeu que no dia em que Elcana sacrificava, dava ele porções a Penina, sua mulher, e a todos os seus filhos, e a todas as suas filhas.
5 Porém a Ana dava uma parte excelente; porque amava a Ana, embora o Senhor lhe tivesse cerrado a madre.
6 E a sua rival excessivamente a provocava, para a irritar; porque o Senhor lhe tinha cerrado a madre.
7 E assim fazia ele de ano em ano. Sempre que Ana subia à casa do Senhor, a outra a irritava; por isso chorava, e não comia.
8 Então Elcana, seu marido, lhe disse: Ana, por que choras? E por que não comes? E por que está mal o teu coração? Não te sou eu melhor do que dez filhos?
9 Então Ana se levantou, depois que comeram e beberam em Siló; e Eli, sacerdote, estava assentado numa cadeira, junto a um pilar do templo do Senhor.
10 Ela, pois, com amargura de alma, orou ao Senhor, e chorou abundantemente.
11 E fez um voto, dizendo: Senhor dos Exércitos! Se benignamente atentares para a aflição da tua serva, e de mim te lembrares, e da tua serva não te esqueceres, mas à tua serva deres um filho homem, ao Senhor o darei todos os dias da sua vida, e sobre a sua cabeça não passará navalha.
12 E sucedeu que, perseverando ela em orar perante o Senhor, Eli observou a sua boca.
13 Porquanto Ana no seu coração falava; só se moviam os seus lábios, porém não se ouvia a sua voz; pelo que Eli a teve por embriagada.
14 E disse-lhe Eli: Até quando estarás tu embriagada? Aparta de ti o teu vinho.
15 Porém Ana respondeu: Não, senhor meu, eu sou uma mulher atribulada de espírito; nem vinho nem bebida forte tenho bebido; porém tenho derramado a minha alma perante o SENHOR.
16 Não tenhas, pois, a tua serva por filha de Belial; porque da multidão dos meus cuidados e do meu desgosto tenho falado até agora.
17 Então respondeu Eli: Vai em paz; e o Deus de Israel te conceda a petição que lhe fizeste.
18 E disse ela: Ache a tua serva graça aos teus olhos. Assim a mulher foi o seu caminho, e comeu, e o seu semblante já não era triste.
19 E levantaram-se de madrugada, e adoraram perante o Senhor, e voltaram, e chegaram à sua casa, em Ramá, e Elcana conheceu a Ana sua mulher, e o Senhor se lembrou dela.
20 E sucedeu que, passado algum tempo, Ana concebeu, e deu à luz um filho, ao qual chamou Samuel; porque, dizia ela, o tenho pedido ao Senhor.
21 E subiu aquele homem Elcana com toda a sua casa, a oferecer ao Senhor o sacrifício anual e a cumprir o seu voto.
22 Porém Ana não subiu; mas disse a seu marido: Quando o menino for desmamado, então o levarei, para que apareça perante o Senhor, e lá fique para sempre.
23 E Elcana, seu marido, lhe disse: Faze o que bem te parecer aos teus olhos; fica até que o desmames; então somente confirme o Senhor a sua palavra. Assim ficou a mulher, e deu leite a seu filho, até que o desmamou.
24 E, havendo-o desmamado, tomou-o consigo, com três bezerros, e um efa de farinha, e um odre de vinho, e levou-o à casa do Senhor, em Siló, e era o menino ainda muito criança.
25 E degolaram um bezerro, e trouxeram o menino a Eli.
26 E disse ela: Ah, meu senhor, viva a tua alma, meu senhor; eu sou aquela mulher que aqui esteve contigo, para orar ao SENHOR.
27 Por este menino orava eu; e o Senhor atendeu à minha petição, que eu lhe tinha feito.
28 Por isso também ao Senhor eu o entreguei, por todos os dias que viver, pois ao Senhor foi pedido. E adorou ali ao Senhor.

Wesley Alves

Sobre o Autor

Wesley Alves é Missionário Digital Interdenominacional e Editor-Chefe do Versículo Vivo. Cristão apaixonado pela natureza e fotógrafo, ele dedica sua vida e ministério a proclamar a urgência da volta de Jesus.

Conheça o autor →
0
// ===== BÍBLIA — ÁUDIO (ElevenLabs) ===== if ( ! defined( 'VV_ELEVEN_MODEL' ) ) define( 'VV_ELEVEN_MODEL', 'eleven_multilingual_v2' ); function vv_audio_paths() { $up = wp_get_upload_dir(); $dir = trailingslashit( $up['basedir'] ) . 'audio'; if ( ! file_exists( $dir ) ) wp_mkdir_p( $dir ); return array( 'dir' => $dir, 'url' => trailingslashit( $up['baseurl'] ) . 'audio' ); } function vv_chapter_audio_url( $slug ) { if ( ! $slug ) return ''; $p = vv_audio_paths(); return file_exists( $p['dir'].'/'.$slug.'.mp3' ) ? $p['url'].'/'.$slug.'.mp3' : ''; } function vv_chapter_tts_text( $post_id, $titulo ) { $c = get_post_field( 'post_content', $post_id ); $c = preg_replace( '//i', "\n", $c ); $c = wp_strip_all_tags( $c ); $c = html_entity_decode( $c, ENT_QUOTES, 'UTF-8' ); $out = array(); foreach ( preg_split( '/\n+/', $c ) as $ln ) { $ln = trim( $ln ); if ( $ln === '' ) continue; $ln = preg_replace( '/^\d+\s+/', '', $ln ); $out[] = $ln; } return trim( $titulo.'. '.implode( ' ', $out ) ); } function vv_chunk_text( $text, $max = 2400 ) { $parts = preg_split( '/(?<=[\.\?\!])\s+/', $text ); $chunks = array(); $cur = ''; foreach ( $parts as $s ) { if ( $cur !== '' && ( strlen($cur)+strlen($s)+1 ) > $max ) { $chunks[]=$cur; $cur=''; } $cur = ($cur==='')?$s:$cur.' '.$s; } if ( $cur !== '' ) $chunks[] = $cur; return $chunks; } function vv_eleven_tts( $text ) { $resp = wp_remote_post( 'https://api.elevenlabs.io/v1/text-to-speech/'.VV_ELEVEN_VOICE, array( 'timeout'=>120, 'headers'=>array('xi-api-key'=>VV_ELEVEN_KEY,'Content-Type'=>'application/json','Accept'=>'audio/mpeg'), 'body'=>wp_json_encode(array('text'=>$text,'model_id'=>VV_ELEVEN_MODEL,'voice_settings'=>array('stability'=>0.5,'similarity_boost'=>0.8,'style'=>0.0,'use_speaker_boost'=>true))), ) ); if ( is_wp_error($resp) ) return array('err'=>$resp->get_error_message()); $code = wp_remote_retrieve_response_code($resp); $body = wp_remote_retrieve_body($resp); if ( $code !== 200 ) return array('err'=>'HTTP '.$code.' — '.substr(wp_strip_all_tags($body),0,300)); return array('audio'=>$body); } function vv_gen_chapter_audio( $post_id, $slug, $titulo ) { $p = vv_audio_paths(); $dest = $p['dir'].'/'.$slug.'.mp3'; $text = vv_chapter_tts_text( $post_id, $titulo ); if ( $text === '' ) return 'texto vazio'; $mp3 = ''; foreach ( vv_chunk_text($text) as $ch ) { $r = vv_eleven_tts($ch); if ( isset($r['err']) ) return $r['err']; $mp3 .= $r['audio']; } if ( $mp3 === '' ) return 'sem áudio retornado'; file_put_contents( $dest, $mp3 ); return true; } add_action( 'admin_init', function () { if ( ! current_user_can('manage_options') || ! isset($_GET['vv_gen_audio']) ) return; if ( VV_ELEVEN_KEY==='' || VV_ELEVEN_VOICE==='' ) wp_die('Configure VV_ELEVEN_KEY e VV_ELEVEN_VOICE.'); $mapa = vv_biblia_livros_mapa(); $lote = isset($_GET['n'])?max(1,min(20,(int)$_GET['n'])):6; $so = isset($_GET['slug'])?sanitize_title($_GET['slug']):''; global $wpdb; $rows = $wpdb->get_results("SELECT ID, post_name FROM {$wpdb->posts} WHERE post_type='post' AND post_status='publish' AND post_name REGEXP '^[a-z0-9-]+-[0-9]+$' ORDER BY post_date"); $pend = array(); foreach ( $rows as $r ) { if ( ! preg_match('/^(.+)-(\d+)$/',$r->post_name,$m) ) continue; if ( ! isset($mapa[$m[1]]) ) continue; if ( $so!=='' && $r->post_name!==$so ) continue; if ( $so==='' && vv_chapter_audio_url($r->post_name)!=='' ) continue; $pend[] = array('id'=>$r->ID,'slug'=>$r->post_name,'nome'=>$mapa[$m[1]][0].' '.$m[2]); } if ( $so!=='' && ! $pend ) wp_die('Capítulo "'.esc_html($so).'" não encontrado.'); $total = count($pend); $feitos = array(); $erro = ''; foreach ( array_slice($pend,0,$lote) as $c ) { $res = vv_gen_chapter_audio($c['id'],$c['slug'],$c['nome']); if ($res===true) $feitos[]=$c['nome']; else { $erro=$c['nome'].' — '.$res; break; } } $restam = $total-count($feitos); $next = esc_url(add_query_arg(array('vv_gen_audio'=>1,'n'=>$lote))); header('Content-Type: text/html; charset=utf-8'); echo ''; if ( $restam>0 && ! $erro && $so==='' ) echo ''; echo ''; echo '

Gerando áudios (ElevenLabs)

Gerados: '.count($feitos).' '.esc_html(implode(', ',$feitos)).'

Faltam: '.max(0,$restam).'

'; if ($erro) echo '

Erro em '.esc_html($erro).'

Tentar de novo

'; elseif ($restam<=0) echo '

✓ Concluído!

'; else echo '

Continuando… seguir

'; exit; } );