Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

medieval_latina

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

medieval_latina

  • 3.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

MedievalLatina

There are good text-to-speech engines for English and classical Latin, but none for medieval Latin. MedievalLatina converts Latin text to a kind of phonetic spelling that can be read by English language text-to-speech engines.

Installation

Add this line to your application's Gemfile:

gem 'medieval_latina'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install medieval_latina

Usage

Help English language text-to-speech engines pronounce Latin

["caelum", "omnia", "pugno"].each { |word| puts MedievalLatina[word] }
=> "chayloom"
=> "ohm-nia"
=> "poon-yoh"

sentence = MedievalLatina["sed libera nos a malo"]
=> "sayd leebayrah nohs ah mahloh"
let sentence = "...";
responsiveVoice.speak(sentence, "UK English Female");

Generate lexicons to override text-to-speech pronunciation

polly = Aws::Polly::Client.new
s3 = Aws::S3::Client.new

sentence = "PATER NOSTER qui es in caelis"

words = sentence.split(" ")
pronunciations = MedievalLatina.pronunciations_for(words)
lexicon = MedievalLatina::LexiconBuilder.new(pronunciations).call

name = "CustomLatin"
polly.put_lexicon(name: name, content: lexicon.to_s)

# Synthesize speech using the lexicons
response = polly.synthesize_speech(
  lexicon_names: [name],
  text: sentence,
  output_format: "mp3",
  voice_id: "Joanna"
)

# Read the audio data and store it in a variable
audio_data = response.audio_stream.read

bucket_name = "foo"
object_key = "bar/pater-noster.mp3"

s3.put_object(
  bucket: bucket_name,
  key: object_key,
  body: audio_data
)

Latin langauge helper methods

MedievalLatina.verb?("voco")
=> true

MedievalLatina.verb?("nauta")
=> false

MedievalLatina.adverb?("facile")
=> true

MedievalLatina.adjective?("certus")
=> true

MedievalLatina.noun?("canis")
=> true

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment. Maintain project style by running bin/lint before commiting changes.

To install this gem onto your local machine, run bundle exec rake install.

To release a new version:

  1. Update the version number in version.rb
  2. Run bin/setup to increment the version in the lock file
  3. Run bundle exec rake release

Rebuild the lexicon files when you add new International Phonetic Alphabet pronunciations. You do this by running: bin/build

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jaysonvirissimo/medieval_latina. Run standardrb --fix before submitting any changes, to help keep the code formatting uniform.

License

The gem is available as open source under the terms of the MIT License.

FAQs

Package last updated on 28 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc