A TypeScript-based bingo number caller that announces numbers with traditional British bingo calls. Features text-to-speech announcements and customizable call intervals.
- Traditional British bingo calls for numbers 1-75
- Text-to-speech announcements
- Multiple call variations for each number
- Configurable call intervals
- Clean shutdown with game summary
- Cross-platform support (Windows, macOS, Linux)
- Clone the repository:
git clone <repository-url>
cd bingo_caller- Install dependencies:
npm install- Build the project:
npm run buildnpm start- Fast mode (2-second intervals):
npm run start:fast- Slow mode (10-second intervals):
npm run start:slowYou can customize the caller using environment variables:
- Set custom call interval (in milliseconds):
BINGO_CALL_INTERVAL=3000 npm start- Change the voice (depends on your operating system):
BINGO_CALL_INTERVAL=5000 BINGO_VOICE="Samantha" npm start- Alex
- Daniel (default)
- Samantha
- Victoria
- And more (check with
say -v ?)
- Microsoft David Desktop
- Microsoft Zira Desktop
- And more (check Speech settings)
- Check available voices with
say -v ?
- Start Game: Run any of the start commands above
- Stop Game: Press
Ctrl+C - Game Summary: Displayed automatically when the game ends or is stopped
bingo_caller/
├── src/
│ ├── index.ts # Main game logic
│ ├── BingoCaller.ts # Bingo caller class
│ ├── bingoCalls.ts # Bingo call definitions
│ ├── config.ts # Configuration
│ └── types.ts # TypeScript types
├── package.json
└── tsconfig.json
- Node.js (v14 or higher recommended)
- npm
npm run buildnpm run build- Builds the TypeScript codenpm start- Builds and runs the gamenpm run start:fast- Runs with 2-second intervalsnpm run start:slow- Runs with 10-second intervals
ISC
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request