Good Morning

Beginner

Start here!

Intermediate

Keep going!

Advanced

Challenge!

Vocabulary

Build words!

Recently Played

All Lessons

🎤 Voice Selection

0:00 0:00
Speed:

📝 Transcript

Select a lesson to see the transcript.

{ id: 4, title: "Please & Thank You", description: "Polite words", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Please! Thank you! Thanks! Thank you very much! Many thanks! You're welcome! My pleasure! No problem!" }, { id: 5, title: "Sorry & Excuse Me", description: "Apologizing", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I'm sorry! Sorry! Excuse me! Pardon me! I apologize. No worries! It's okay! That's alright!" }, { id: 6, title: "Yes & No", description: "Basic responses", category: "_beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Yes! No! Yeah! Nope! Of course! Sure! Absolutely! Definitely! Probably! Maybe!" }, { id: 7, title: "Numbers 1-10", description: "Counting 1 to 10", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten. Let us count together. One apple. Two books. Three pens." }, { id: 8, title: "Numbers 11-20", description: "Counting 11 to 20", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Eleven, Twelve, Thirteen, Fourteen, Fifteen, Sixteen, Seventeen, Eighteen, Nineteen, Twenty." }, { id: 9, title: "Numbers 21-50", description: "Higher numbers", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Twenty-one, Twenty-two, Twenty-three, Twenty-four, Twenty-five, Twenty-six, Twenty-seven, Twenty-eight, Twenty-nine, Thirty." }, { id: 10, title: "Days of Week", description: "Monday to Sunday", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Today is Monday. Tomorrow is Tuesday." }, { id: 11, title: "Months", description: "12 months", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "January, February, March, April, May, June, July, August, September, October, November, December." }, { id: 12, title: "Family - Parents", description: "Mother & Father", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Mother. Mom. Father. Dad. Parents. My mother is kind. My father works hard. I love my parents." }, { id: 13, title: "Family - Siblings", description: "Brother & Sister", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Brother. Sister. I have a brother. I have a sister. My sister is older. My brother is younger." }, { id: 14, title: "Family - Extended", description: "Grandparents, Aunt, Uncle", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Grandmother. Grandfather. Grandparents. Aunt. Uncle. Cousin. Nephew. Niece. We are a big family." }, { id: 15, title: "Colors - Basic", description: "Primary colors", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Red. Blue. Yellow. Green. Orange. Purple. Black. White. These are colors. I like blue color." }, { id: 16, title: "Colors - Advanced", description: "More colors", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Pink. Brown. Gray. Orange. Violet. Cyan. Magenta. Beige. Tan. Maroon. Navy. Teal." }, { id: 17, title: "Shapes", description: "Basic shapes", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Circle. Square. Triangle. Rectangle. Oval. Diamond. Star. Heart. These are shapes." }, { id: 18, title: "Directions", description: "Left, Right, Up, Down", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Left. Right. Up. Down. Forward. Backward. Here. There. Near. Far. Inside. Outside." }, { id: 19, title: "Time - Hours", description: "Telling time", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "One o'clock. Two o'clock. Three o'clock. Four o'clock. Five o'clock. Six o'clock. Seven o'clock. Eight o'clock." }, { id: 20, title: "Time - Minutes", description: "Minutes past hour", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Five past one. Ten past one. Quarter past one. Twenty past one. Twenty-five past one. Half past one." }, { id: 21, title: "Weather - Sunny", description: "Weather vocabulary", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "The sun is shining. It's a sunny day. It's bright outside. The sky is blue. It's warm today." }, { id: 22, title: "Weather - Rainy", description: "Rainy weather", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "It's raining. It's rainy. Bring an umbrella. The rain is heavy. The rain is light." }, { id: 23, title: "Weather - Cold", description: "Cold weather", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "It's cold. It's freezing. It's chilly. Wear warm clothes. It's winter. Put on a coat." }, { id: 24, title: "Animals - Pets", description: "Pet animals", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Dog. Cat. Bird. Fish. Rabbit. Hamster. Parrot. Turtle. I have a pet dog. I love cats." }, { id: 25, title: "Animals - Farm", description: "Farm animals", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Cow. Pig. Sheep. Horse. Chicken. Duck. Goat. Donkey. Farm animals are useful." }, { id: 26, title: "Animals - Wild", description: "Wild animals", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Lion. Tiger. Elephant. Monkey. Zebra. Giraffe. Snake. Fox. Wolf. Bear." }, { id: 27, title: "Food - Fruits", description: "Fruit names", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Apple. Banana. Orange. Mango. Grape. Strawberry. Watermelon. Pineapple. Papaya." }, { id: 28, title: "Food - Vegetables", description: "Vegetable names", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Carrot. Tomato. Potato. Onion. Garlic. Spinach. Cabbage. Broccoli. Cauliflower." }, { id: 29, title: "Food - Drinks", description: "Beverages", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Water. Milk. Coffee. Tea. Juice. Soda. Wine. Beer. I want water. Give me milk." }, { id: 30, title: "Clothes", description: "Clothing items", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Shirt. Pants. Dress. Shoes. Hat. Socks. Jacket. Sweater. Coat. Skirt." }, { id: 31, title: "Body Parts", description: "Human body", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Head. Face. Eye. Nose. Mouth. Ear. Hand. Arm. Leg. Foot. Hair. I hurt my hand." }, { id: 32, title: "Feelings - Happy", description: "Emotions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Happy. Glad. Joyful. Pleased. Delighted. I'm happy. I'm glad. That's wonderful! Great!" }, { id: 33, title: "Feelings - Sad", description: "Sad emotions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Sad. Unhappy. Upset. Disappointed. Sorry. I feel sad. I'm upset. That's unfortunate." }, { id: 34, title: "Feelings - Angry", description: "Angry emotions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Angry. Mad. Furious. Frustrated. Annoyed. I'm angry. That's annoying! I'm so mad!" }, { id: 35, title: "Feelings - Tired", description: "Tired emotions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Tired. Exhausted. Sleepy. Drowsy. I'm sleepy. I'm exhausted. I need rest. I need sleep." }, { id: 36, title: "Places - City", description: "City places", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "School. Hospital. Bank. Post office. Police station. Library. Museum. Park. Market. Mall. Restaurant." }, { id: 37, title: "Places - Home", description: "Home rooms", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Bedroom. Kitchen. Bathroom. Living room. Dining room. Garage. Garden. Balcony. Hallway." }, { id: 38, title: "Jobs - Basic", description: "Simple jobs", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Teacher. Doctor. Nurse. Farmer. Chef. Driver. Pilot. Actor. Singer. Writer. Police." }, { id: 39, title: "Jobs - Office", description: "Office jobs", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Manager. Secretary. Accountant. Lawyer. Engineer. Architect. Designer. Developer. Consultant." }, { id: 40, title: "Questions - What", description: "What questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "What is this? What is your name? What time is it? What do you want? What are you doing?" }, { id: 41, title: "Questions - Where", description: "Where questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Where are you? Where is the store? Where do you live? Where are we going? Where is it?" }, { id: 42, title: "Questions - Who", description: "Who questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Who are you? Who is that? Who wants coffee? Who called me? Who knows the answer?" }, { id: 43, title: "Questions - When", description: "When questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "When is the meeting? When do we start? When did you come? When will it be ready? When can I visit?" }, { id: 44, title: "Questions - Why", description: "Why questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Why are you sad? Why did you come? Why is it closed? Why not? Why not try?" }, { id: 45, title: "Questions - How", description: "How questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "How are you? How do I get there? How much is this? How long does it take? How about you?" }, { id: 46, title: "This/That", description: "Demonstratives", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "This is my house. That is your car. This book is mine. That one is yours. This way please." }, { id: 47, title: "These/Those", description: "Plural demonstratives", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "These are my books. Those are your shoes. These are delicious. Those are expensive. These or those?" }, { id: 48, title: "I Have/You Have", description: "Having things", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I have a car. You have a nice house. She has two children. We have money. They have a dog." }, { id: 49, title: "Can/Can't", description: "Ability", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I can swim. She can dance. He can cook. They can't come. We can't go. Can you help me?" }, { id: 50, title: "Want/Don't Want", description: "Desires", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want water. She wants tea. He wants help. They don't want it. We don't need this. What do you want?" }, { id: 51, title: "Like/Don't Like", description: "Preferences", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I like music. She likes dancing. He likes reading. I don't like waiting. Do you like coffee?" }, { id: 52, title: "Need/Don't Need", description: "Requirements", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I need help. She needs money. We need time. They don't need it. Do you need anything?" }, { id: 53, title: "Come/Go", description: "Movement", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Come here! Go there! Come with me! Go home! He comes late. She goes early. Let's go!" }, { id: 54, title: "Get/Have/Get", description: "Possession", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I got a gift. She got a job. We got home. Have you got time? I haven't got any money." }, { id: 55, title: "Make/Do", description: "Actions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Make coffee. Make a call. Do your work. Do homework. Do me a favor. Make it happen!" }, { id: 56, title: "Say/Tell", description: "Communication", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Say hello. Tell me the truth. She said no. He told me. What did you say? I told you!" }, { id: 57, title: "Take/Give", description: "Transfer", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Take this. Give me that. She took my book. He gave me money. Take it easy! Give up!" }, { id: 58, title: "See/Look/Watch", description: "Vision", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "See you! Look here! Watch this! I see the movie. Look at me! Watch out! See you later!" }, { id: 59, title: "Hear/Listen", description: "Hearing", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Hear me! Listen to me! I heard the news. Listen up! Did you hear that? Hear me out!" }, { id: 60, title: "Think/Believe", description: "Thoughts", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I think so. I believe you. Do you think so? I don't think so. Believe it or not. Think about it." }, { id: 61, title: "Know/Learn", description: "Knowledge", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I know him. Learn English! I learned a lot. Do you know? Know what I mean? Live and learn!" }, { id: 62, title: "Understand/Mean", description: "Comprehension", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I understand. What does it mean? Do you understand? I don't mean it. That means yes." }, { id: 63, title: "Love/Like", description: "Affection", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I love you. I like this. She loves him. He likes her. We love music. They love traveling." }, { id: 64, title: "Hate/Dislike", description: "Dislike", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I hate waiting. I dislike noise. She hates him. He dislikes her. We hate traffic." }, { id: 65, title: "Want/Need", description: "Desire vs need", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want to go. I need to stay. She wants to learn. He needs to work. We want to play." }, { id: 66, title: "Try/Finish", description: "Actions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Try again! Finish your work. Let's try. I finished. Try your best. Finish eating!" }, { id: 67, title: "Start/Stop", description: "Begin/End", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Start now! Stop it! Let's start. I stopped. Start over. Stop waiting. Start a new life!" }, { id: 68, title: "Open/Close", description: "Open/Close actions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Open the door. Close the window. Store is closed. Windows open. Open up!" }, { id: 69, title: "Buy/Sell", description: "Shopping", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Buy this! Sell that! I bought a car. They sell food. Buy one get one free! Sell out!" }, { id: 70, title: "Call/Phone", description: "Contact", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Call me! Phone me! I'll call you. She called me. He phoned. Call back! Hang up!" }, { id: 71, title: "Ask/Answer", description: "Questions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Ask me! Answer me! I asked a question. She answered. Ask and you shall receive. Answer the phone!" }, { id: 72, title: "Write/Read", description: "Literacy", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Write it down. Read this book. I wrote a letter. She reads fast. Write to me! Read between the lines!" }, { id: 73, title: "Eat/Drink", description: "Consuming", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Eat your food. Drink water. Let's eat. I ate breakfast. Drink up! Eat your vegetables!" }, { id: 74, title: "Sleep/Wake", description: "Rest", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Sleep well! Wake up! I slept late. She wakes up early. Sleep on it! Wake me up!" }, { id: 75, title: "Sit/Stand", description: "Positions", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Sit down! Stand up! Please sit. Stand here. Sit tight! Stand by me!" }, { id: 76, title: "Walk/Run", description: "Movement", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Walk slowly. Run fast! Let's walk. I ran home. Walk the dog! Run along!" }, { id: 77, title: "Come/Go", description: "Direction", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Come here! Go there! Come in! Go out! Come on! Go ahead! Come back!" }, { id: 78, title: "Stay/Leaves", description: "Remaining", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Stay here! Leave it! I stay home. She leaves early. Stay tuned! Leave me alone!" }, { id: 79, title: "Help/Assist", description: "Helping", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Help me! Assist me! I helped her. Can you help? Help yourself! Helping hands." }, { id: 80, title: "Wait/Expect", description: "Waiting", category: "beginner", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Wait for me! Expect me! I waited long. She expects you. Wait and see! As expected!" }, { id: 81, title: "At Home", description: "Daily activities", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I wake up at six. I have breakfast at seven. I go to work at eight. I come home at six. I sleep at ten." }, { id: 82, title: "At Work", description: "Office routine", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I check my emails. I attend meetings. I make calls. I write reports. I meet clients." }, { id: 83, title: "At School", description: "Education", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I go to class. I study hard. I do homework. I take notes. I pass exams. I learn new things." }, { id: 84, title: "At Restaurant", description: "Dining out", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Can I see the menu? I would like to order. The bill, please. This is delicious. Thank you for the meal." }, { id: 85, title: "At Shop", description: "Shopping", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "How much is this? Can I try this? Where is the fitting room? I'll take this one. That's expensive." }, { id: 86, title: "At Bank", description: "Banking", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want to withdraw. I'd like to deposit. Can I open an account? What's my balance?" }, { id: 87, title: "At Hospital", description: "Medical", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I need to see a doctor. Where is the pharmacy? I have an appointment. I feel sick. Give me medicine." }, { id: 88, title: "At Hotel", description: "Accommodation", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I have a reservation. Do you have rooms available? What's the checkout time? Can I have the key?" }, { id: 89, title: "At Airport", description: "Travel", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Where is the gate? I need to check in. Where is my boarding pass? Flight is delayed." }, { id: 90, title: "At Station", description: "Transportation", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Where is platform five? When does the train leave? I need a ticket. Is this the right way? Be on time." }, { id: 91, title: "At Beach", description: "Beach activities", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Let's swim. The water is warm. Let's build a sandcastle. The sun is bright. Let's sit in the shade." }, { id: 92, title: "At Market", description: "Market shopping", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Fresh vegetables! How much for a kilo? Can you give discount? That's too expensive. I'll come again." }, { id: 93, title: "At Party", description: "Celebration", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Happy birthday! Many happy returns! Have a great time! Let's cut the cake! Cheers!" }, { id: 94, title: "At Gym", description: "Exercise", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Let's work out. I'll lift weights. Let's do cardio. I'm out of breath. Great exercise!" }, { id: 95, title: "At Library", description: "Reading", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want to borrow this. Where is the fiction section? Can I renew this? Quiet please!" }, { id: 96, title: "At Park", description: "Outdoor", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Let's take a walk. The weather is nice. Let's have a picnic. Children are playing. So peaceful!" }, { id: 97, title: "At Cinema", description: "Movies", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "What time is the show? Two tickets please. The movie is great! Popcorn please! Enjoy the movie!" }, { id: 98, title: "At Cafe", description: "Coffee shop", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I'll have a coffee. Let's catch up. This is my treat. The coffee is great! So relaxing!" }, { id: 99, title: "At Office", description: "Workplace", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Let's have a meeting. Send an email. Print this document. File the report. Submit your work." }, { id: 100, title: "Phone Call", description: "Phone etiquette", category: "intermediate", difficulty: "beginner", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Hello, is this? Can I speak to? Just a moment please. He's not in. Call back later." }, // === MORE LESSONS (101-200) === { id: 101, title: "Introduce Friend", description: "Introducing someone", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "This is my friend. Her name is Sarah. She's from London. She's a teacher. Nice to meet you!" }, { id: 102, title: "At Doctor", description: "Medical visit", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "What are your symptoms? How long have you felt this? Take this medicine twice a day. Drink plenty of water." }, { id: 103, title: "Job Interview", description: "Interview questions", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Tell me about yourself. What are your strengths? What is your weakness? Why do you want this job?" }, { id: 104, title: "At Post Office", description: " Mailing", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want to send this letter. How much for a stamp? What's the postal code? Surface mail or airmail?" }, { id: 105, title: "Asking Directions", description: "Getting around", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Excuse me, how do I get to? Is it far from here? Turn left at the corner. Go straight." }, { id: 106, title: "At Police Station", description: "Reporting", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I'd like to report a crime. My wallet was stolen. Can you help me? I need help." }, { id: 107, title: "Business Meeting", description: "Professional", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Let's discuss the agenda. I'll share my screen. What's your opinion? Let's take a vote." }, { id: 108, title: "At Mechanic", description: "Car repair", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Something is wrong with my car. The engine makes noise. How much to fix? When will it be ready?" }, { id: 109, title: "At Hairdresser", description: "Haircut", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want a haircut. Shorter please. Just a trim. Curly or straight? Shampoo and cut?" }, { id: 110, title: "Making Reservation", description: "Booking", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I'd like to reserve a table. For how many people? What time? Under what name? That's confirmed." }, { id: 111, title: "Grocery Shopping", description: "Food shopping", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Fresh produce section is here. The bakery is that way. Do you have loyalty card? Total please." }, { id: 112, title: "At Train Station", description: "Train travel", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "One-way or return? First class or second? Platform four. The train is arriving." }, { id: 113, title: "At Bus Stop", description: "Bus travel", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Does this bus go to? How many stops? The next stop. Exact change please. Stand clear of doors." }, { id: 114, title: "Taxi ride", description: "Taxi", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Where to? Stop here please. How much is the fare? Keep the change. Wait for me please." }, { id: 115, title: "Car Rental", description: "Renting car", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I want to rent a car. What models available? Per day or week? Full insurance please." }, { id: 116, title: "At Hotel Check-in", description: "Hotel", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I have a reservation under name. Single or double? Room with breakfast? What floor? Elevator is there." }, { id: 117, title: "Room Service", description: "Hotel service", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Room service please. I'd like to order. Wait for delivery. Don't disturb. Checkout time?" }, { id: 118, title: "Complaint", description: "Making complaint", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I'd like to make a complaint. This is not acceptable. I want to speak to manager. This must be fixed." }, { id: 119, title: "Apology", description: "Saying sorry", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "I sincerely apologize. It won't happen again. Please accept my apologies. I'm really sorry." }, { id: 120, title: "Gratitude", description: "Thanking", category: "intermediate", difficulty: "intermediate", url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: "Thank you so much! I really appreciate it. You're very kind. Thanks a million! I owe you!" }, // === More categories continue (200+) - Generating more lessons programmatically === ]; // Generate 800+ more lessons to reach 1000+ const wordList = ['Hello', 'Goodbye', 'Thank you', 'Please', 'Sorry', 'Help', 'Yes', 'No', 'Maybe', 'Today', 'Tomorrow', 'Yesterday', 'Morning', 'Evening', 'Night', 'Week', 'Month', 'Year', 'Time', 'Now', 'Later', 'Soon', 'Always', 'Never', 'Sometimes', 'Often', 'Here', 'There', 'Where', 'When', 'What', 'Why', 'Who', 'How', 'This', 'That', 'These', 'Those', 'Some', 'Any', 'Every', 'Much', 'Many', 'More', 'Less', 'All', 'Most', 'Few', 'Little', 'Each', 'Both', 'Either', 'Neither', 'Such', 'Same', 'Different', 'Like', 'Love', 'Hate', 'Want', 'Need', 'Have', 'Do', 'Make', 'Get', 'Take', 'Give', 'Say', 'Tell', 'Ask', 'Answer', 'Know', 'Think', 'Believe', 'Understand', 'Mean', 'Come', 'Go', 'See', 'Look', 'Watch', 'Hear', 'Listen', 'Feel', 'Become', 'Leave', 'Put', 'Keep', 'Let', 'Begin', 'Seem', 'Show', 'Tell', 'Turn', 'Could', 'Would', 'Should', 'May', 'Might', 'Must', 'Will', 'Can', 'Shall', 'Need', 'Try', 'Learn', 'Work', 'Live', 'Call', 'Try', 'Wait', 'Serve', 'Expect', 'Stay', 'Fall', 'Bring', 'Happen', 'Write', 'Provide', 'Sit', 'Stand', ' Lose', 'Meet', 'Include', 'Continue', 'Set', 'Learn', 'Die', 'Send', 'Expect', 'Build', 'Stay', 'Follow', 'Stop', 'Create', 'Speak', 'Read', 'Allow', 'Add', 'Stay', 'Spend', 'Grow', 'Open', 'Walk', 'Win', 'Offer', 'Remember', 'Love', 'Consider', 'Appear', 'Buy', 'Wait', 'Serve', 'Die', 'Send', 'Agree', 'Maintain', 'Improve', 'raise', 'cover', 'catch', 'draw', 'choose', 'collect', 'call', 'cook', 'deliver', 'drink', 'drive', 'eat', 'enjoy', 'enter', 'explore', 'fail', 'finish', 'fix', 'fly', 'gain', 'grab', 'handle', 'help', 'hit', 'join', 'kick', 'kiss', 'laugh', 'lead', 'lift', 'mark', 'match', 'miss', 'move', 'notice', 'pass', 'pay', 'perform', 'pick', 'play', 'point', 'press', 'produce', 'push', 'raise', 'reach', 'realize', 'receive', 'recognize', 'record', 'reduce', 'reflect', 'reject', 'relax', 'release', 'remain', 'repair', 'repeat', 'replace', 'reply', 'report', 'rescue', 'reserve', 'resolve', 'rest', 'result', 'return', 'reveal', 'review', 'reward', 'ride', 'ring', 'rise', 'risk', 'roll', 'run', 'save', 'scratch', 'seal', 'search', 'seem', 'sell', 'separate', 'serve', 'shout', 'sign', 'sing', 'sit', 'slap', 'slip', 'smell', 'smile', 'snap', 'solve', 'sound', 'speak', 'split', 'spread', 'squeeze', 'stack', 'stamp', 'stand', 'stare', 'start', 'state', 'stay', 'steal', 'step', 'stick', 'stop', 'store', 'storm', 'story', 'strip', 'stroke', 'study', 'stuff', 'submit', 'succeed', 'suffer', 'sugest', 'suit', 'supply', 'support', 'suppose', 'surprise', 'surround', 'suspect', 'swear', 'sweep', 'sweet', 'swim', 'swing', 'switch', 'symbol', 'sympathize', 'system', 'table', 'take', 'talk', 'taste', 'teach', 'tear', 'tell', 'tend', 'term', 'test', 'thank', 'think', 'threaten', 'throw', 'tick', 'tie', 'tip', 'title', 'toast', 'together', 'tolerate', 'touch', 'tough', 'tour', 'toward', 'track', 'trade', 'train', 'transfer', 'transform', 'travel', 'treat', 'tree', 'tremble', 'trust', 'try', 'turn', 'type', 'understand', 'unite', 'university', 'unless', 'unlike', 'update', 'upon', 'urge', 'use', 'usual', 'value', 'vanish', 'verify', 'very', 'view', 'violence', 'visit', 'voice', 'vote', 'wait', 'wake', 'walk', 'want', 'ward', 'warm', 'warn', 'wash', 'waste', 'watch', 'water', 'wave', 'wear', 'weather', 'weep', 'weigh', 'welcome', 'well', 'west', 'wet', 'what', 'whatever', 'when', 'where', 'whether', 'which', 'while', 'whip', 'whisper', 'who', 'whoever', 'whole', 'whom', 'whose', 'why', 'wide', 'widow', 'wife', 'wild', 'will', 'win', 'wind', 'window', 'wine', 'wing', 'winner', 'winter', 'wire', 'wisdom', 'wise', 'wish', 'with', 'withdraw', 'within', 'without', 'witness', 'woman', 'wonder', 'wood', 'word', 'work', 'world', 'worry', 'worse', 'worst', 'worth', 'would', 'wound', 'wrap', 'wreck', 'write', 'wrong', 'yard', 'yeah', 'year', 'yellow', 'yes', 'yet', 'yield', 'you', 'young', 'your', 'yours', 'yourself', 'youth', 'zebra', 'zero', 'zone', 'zoom']; const prefixes = ['Basic', 'Simple', 'Easy', 'Common', 'Useful', 'Important', 'Daily', 'Essential', 'Beginner', 'Advanced', 'Intermediate', 'Practical', 'Advanced']; const suffixes = ['Vocabulary', 'Words', 'Phrases', 'Sentences', 'Practice', 'Exercises', 'Learning', 'Speaking', 'Listening', 'Reading', 'Writing', 'Grammar', 'Conversation']; let lessonId = 121; for (let i = 0; i < wordList.length && lessonId <= 1000; i++) { for (let j = 0; j < prefixes.length && lessonId <= 1000; j++) { for (let k = 0; k < suffixes.length && lessonId <= 1000; k++) { if (lessonId <= 1000) { defaultLessons.push({ id: lessonId, title: prefixes[j] + " " + wordList[i], description: suffixes[k] + " with " + wordList[i].toLowerCase(), category: 'vocabulary', difficulty: lessonId <= 400 ? 'beginner' : lessonId <= 700 ? 'intermediate' : 'advanced', url: "https://www.learningcontainer.com/wp-content/uploads/2020/02/audio.mp3", transcript: wordList[i] + ". " + wordList[i] + ". " + wordList[i] + ". Learning " + wordList[i].toLowerCase() + ". Practice " + wordList[i].toLowerCase() + " every day. " }); lessonId++; } } } } // State let lessons = JSON.parse(localStorage.getItem('listenup_lessons')) || defaultLessons; let currentLesson = null; let isPlaying = false; let currentSpeed = 1; let selectedVoice = 'female'; let loopStartTime = null; let loopEndTime = null; let isLooping = false; let progress = JSON.parse(localStorage.getItem('listenup_progress')) || { lessons: [], totalMinutes: 0, streaks: 0, lastDate: null }; // Initialize document.addEventListener('DOMContentLoaded', () => { renderLessons(); updateProgressDisplay(); }); function saveLessons() { localStorage.setItem('listenup_lessons', JSON.stringify(lessons)); } function renderLessons(filtered = lessons) { const grid = document.getElementById('lessons-grid'); grid.innerHTML = filtered.map(lesson => `
${lesson.difficulty}

${lesson.title}

${lesson.description}

`).join(''); if (filtered.length === 0) { grid.innerHTML = '

No lessons found

'; } } function filterCategory(cat) { document.querySelectorAll('.nav-tab').forEach(btn => { btn.classList.toggle('active', btn.dataset.category === cat); }); const filtered = cat === 'all' ? lessons : lessons.filter(l => l.difficulty === cat || l.category === cat); renderLessons(filtered); } function searchLessons(query) { const q = query.toLowerCase(); const filtered = lessons.filter(l => l.title.toLowerCase().includes(q) || l.description.toLowerCase().includes(q)); renderLessons(filtered); } function showSection(section) { ['library', 'player', 'progress'].forEach(s => { document.getElementById(`section-${s}`).classList.toggle('hidden', s !== section); document.getElementById(`nav-${s}`)?.classList.toggle('active', s === section); }); if (section === 'progress') updateProgressDisplay(); } function playLesson(id) { const lesson = lessons.find(l => l.id === id); if (!lesson) return; currentLesson = lesson; document.getElementById('player-title').textContent = lesson.title; document.getElementById('player-description').textContent = lesson.description; document.getElementById('player-level').textContent = lesson.difficulty; document.getElementById('transcript-text').textContent = lesson.transcript || 'No transcript available.'; const audio = document.getElementById('audio-player'); audio.src = lesson.url; audio.playbackRate = currentSpeed; showSection('player'); if (!progress.lessons.includes(lesson.id)) { progress.lessons.push(lesson.id); progress.totalMinutes += 5; localStorage.setItem('listenup_progress', JSON.stringify(progress)); } } function togglePlay() { const audio = document.getElementById('audio-player'); const playIcon = document.getElementById('play-icon'); const pauseIcon = document.getElementById('pause-icon'); if (isPlaying) { audio.pause(); playIcon.classList.remove('hidden'); pauseIcon.classList.add('hidden'); } else { if (currentLesson) audio.play().catch(e => console.log('Play error:', e)); playIcon.classList.add('hidden'); pauseIcon.classList.remove('hidden'); } isPlaying = !isPlaying; } function setSpeed(speed) { currentSpeed = speed; document.getElementById('audio-player').playbackRate = speed; document.querySelectorAll('.speed-btn').forEach(btn => { btn.classList.toggle('active', btn.dataset.speed == speed); }); } function setVoice(voice) { selectedVoice = voice; document.querySelectorAll('.voice-btn').forEach(btn => { btn.classList.remove('active'); }); document.getElementById(`voice-${voice}`).classList.add('active'); // Adjust speed based on voice if (voice === 'female') { if (currentSpeed < 0.75) setSpeed(0.75); } } function speakTranscript() { if (!currentLesson) { alert('Please select a lesson first!'); return; } const transcript = currentLesson.transcript; const utterance = new SpeechSynthesisUtterance(transcript); // Set voice based on selection const voices = speechSynthesis.getVoices(); if (selectedVoice === 'female') { // Try to find a female voice const femaleVoice = voices.find(v => v.name.includes('Female') || v.name.includes('Samantha') || v.name.includes('Victoria')); if (femaleVoice) utterance.voice = femaleVoice; } else { const maleVoice = voices.find(v => v.name.includes('Male') || v.name.includes('Daniel') || v.name.includes('David')); if (maleVoice) utterance.voice = maleVoice; } utterance.rate = currentSpeed; utterance.pitch = selectedVoice === 'female' ? 1.1 : 0.9; utterance.volume = 1; speechSynthesis.cancel(); speechSynthesis.speak(utterance); } function seekAudio(event) { const audio = document.getElementById('audio-player'); const container = document.getElementById('progress-container'); const rect = container.getBoundingClientRect(); const percent = (event.clientX - rect.left) / rect.width; audio.currentTime = percent * audio.duration; } function skipBackward() { const audio = document.getElementById('audio-player'); audio.currentTime = Math.max(0, audio.currentTime - 10); } function skipForward() { const audio = document.getElementById('audio-player'); audio.currentTime = Math.min(audio.duration, audio.currentTime + 10); } function setLoopStart() { loopStartTime = document.getElementById('audio-player').currentTime; document.getElementById('loop-start-time').textContent = formatTime(loopStartTime); } function setLoopEnd() { loopEndTime = document.getElementById('audio-player').currentTime; document.getElementById('loop-end-time').textContent = formatTime(loopEndTime); } function toggleLoop() { isLooping = !isLooping; document.getElementById('loop-status').textContent = isLooping ? 'ON' : 'OFF'; } function clearLoop() { loopStartTime = null; loopEndTime = null; isLooping = false; document.getElementById('loop-start-time').textContent = '--'; document.getElementById('loop-end-time').textContent = '--'; document.getElementById('loop-status').textContent = 'OFF'; } function formatTime(seconds) { const mins = Math.floor(seconds / 60); const secs = Math.floor(seconds % 60); return `${mins}:${secs.toString().padStart(2, '0')}`; } function updateProgressDisplay() { document.getElementById('total-listened').textContent = progress.lessons.length; document.getElementById('total-time-listened').textContent = progress.totalMinutes + 'm'; document.getElementById('current-streak').textContent = progress.streaks; document.getElementById('completed-lessons').textContent = progress.lessons.length; } function clearProgress() { if (confirm('Clear all progress?')) { progress = { lessons: [], totalMinutes: 0, streaks: 0, lastDate: null }; localStorage.setItem('listenup_progress', JSON.stringify(progress)); updateProgressDisplay(); renderLessons(); } } // Audio events const audio = document.getElementById('audio-player'); audio.addEventListener('timeupdate', () => { const percent = (audio.currentTime / audio.duration) * 100 || 0; document.getElementById('progress-fill').style.width = percent + '%'; document.getElementById('current-time').textContent = formatTime(audio.currentTime); if (isLooping && loopStartTime !== null && loopEndTime !== null) { if (audio.currentTime >= loopEndTime) { audio.currentTime = loopStartTime; } } }); audio.addEventListener('loadedmetadata', () => { document.getElementById('total-time').textContent = formatTime(audio.duration); }); audio.addEventListener('ended', () => { isPlaying = false; document.getElementById('play-icon').classList.remove('hidden'); document.getElementById('pause-icon').classList.add('hidden'); }); // Load voices speechSynthesis.onvoiceschanged = () => { console.log('Voices loaded:', speechSynthesis.getVoices().length); };